Open ohs30359-nobuhara opened 5 months ago
🤖
Yes, you can configure GoReplay to forward all requests except for the [POST] /users/${ID}
endpoint by using the --http-disallow-url
option. This option allows you to specify a regular expression that matches the URLs you want to exclude from forwarding.
Here is the command you can use:
gor --input-raw :8080 --output-http staging.com --http-disallow-url "/users/.*"
This command will forward all requests except those sent to the /users/${ID}
endpoint. The regular expression /users/.*
matches any URL that starts with /users/
followed by any characters, effectively excluding all URLs of the form /users/${ID}
.
You can find more information about request filtering in GoReplay in the Request Filtering section of the GoReplay wiki.
Also, I can confirm that the current version of GoReplay (v1.3.3) does support the --http-disallow-url
option. This is evident from the HTTPModifierConfig
struct in the GoReplay source code, which has a field named URLNegativeRegexp
that is annotated with json:"http-disallow-url"
. This annotation is used for mapping the JSON configuration field http-disallow-url
to the Go struct field URLNegativeRegexp
.
Here is the relevant code:
type HTTPModifierConfig struct {
URLNegativeRegexp HTTPURLRegexp `json:"http-disallow-url"`
// other fields...
}
This means that when GoReplay is parsing the configuration, it will recognize the http-disallow-url
option and map it to the URLNegativeRegexp
field in the HTTPModifierConfig
struct. You can find this in the http_modifier_settings.go file in the GoReplay repository.
I hope this helps! If you have any other questions, feel free to ask.
This response is meant to be useful and save you time. It is not meant to be a precise solution, but rather a starting point for your own research.
Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is irrelevant.
If you want to continue the conversation, start your reply with @dosu-bot.
This proposal does not meet the requirements. While control at the path level is indeed possible, it is not feasible at the method level.
I am currently using goreplay to forward requests to a REST API that provides the following endpoints:
My goal is to forward all requests except for the
[POST] /users/${ID}
endpoint. Unfortunately, the existing options --http-allow-method and --http-allow-url do not fully meet this requirement.Is there any way to meet this requirement?