-
Notifications
You must be signed in to change notification settings - Fork 5.5k
http: rc details for main Envoy workflow #6560
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 5 commits
78e41f2
f576258
84414ff
eee0b1b
effdd68
204db09
5b50401
47b7db6
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -76,8 +76,55 @@ enum ResponseFlag { | |
| struct ResponseCodeDetailValues { | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Those look great, thanks, but you're effectively rewriting even the existing
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think when we implement proxy-status these could be extended. I could do a one off with today's proxy-status codes but I really don't want to sign up for keeping it up to date and I'd prefer to not add code which is going to bitrot as the IETF makes forward progress. I don't think creating this without the tuple creates more work for when we implement proxy-status, and it might reduce it (by filling in the details field) |
||
| // Response code was set by the upstream. | ||
| const std::string ViaUpstream = "via_upstream"; | ||
|
|
||
| // TODO(#6542): add values for sendLocalReply use-cases | ||
| // configured limits. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Looks like this comment is cut off. |
||
| const std::string RequestPayloadTooLarge = "request_payload_too_large"; | ||
| // Envoy is doing non-streaming proxying, and the response payload exceeded | ||
| // configured limits. | ||
| const std::string ResponsePayloadTooLArge = "response_payload_too_large"; | ||
| // The per-stream keepalive timeout was exceeded. | ||
| const std::string StreamIdleTimeout = "stream_idle_timeout"; | ||
| // The per-stream total request timeout was exceeded | ||
| const std::string RequestOverallTimeout = "request_overall_timeout"; | ||
| // The request was rejected due to the Overload Manager reaching configured resource limits. | ||
| const std::string Overload = "overload"; | ||
| // The HTTP/1.0 or HTTP/0.9 request was rejected due to HTTP/1.0 support not being configured. | ||
| const std::string LowVersion = "low_version"; | ||
| // The request was rejected due to the Host: or :authority field missing | ||
| const std::string MissingHost = "missing_host_header"; | ||
| // The request was rejected due to the Host: or :authority field missing | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. copy paste mistake for this comment |
||
| const std::string RequestHeadersTooLarge = "request_headers_too_large"; | ||
| // The request was rejected due to the Path or :path header field missing. | ||
| const std::string MissingPath = "missing_path_rejected"; | ||
| // The request was rejected due to using an absolute path on a route not supporting them. | ||
| const std::string AbsolutePath = "absolute_path_rejected"; | ||
| // The request was rejected because path normalization was configured on and failed, probably due | ||
| // to an invalid path. | ||
| const std::string PathNormalizationFailed = "path_normalization_failed"; | ||
| // The request was rejected because it attempted an unsupported upgrade. | ||
| const std::string UpgradeFailed = "upgrade_failed"; | ||
| // The request was rejected by the router filter because there was no route found. | ||
| const std::string RouteNotFound = "route_not_found"; | ||
| // A direct response was generated by the router filter. | ||
| const std::string DirectResponse = "direct_response"; | ||
| // The request was rejected by the router filter because there was no route found. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. maybe "because the cluster in the selected route does not exist"? |
||
| const std::string ClusterNotFound = "cluster_not_found"; | ||
| // The request was rejected by the router filter because the cluster was in maintenance mode. | ||
| const std::string MaintenanceMode = "maintenance_mode"; | ||
| // The request was rejected by the router filter because there was no healthy upstream found. | ||
| const std::string NoHealthyUpstream = "no_healthy_upstream"; | ||
| // The upstream response timed out | ||
| const std::string UpstreamTimeout = "upstream_response_timeout"; | ||
| // The final upstream try timed out | ||
| const std::string UpstreamPerTryTimeout = "upstream_per_try_timeout"; | ||
| // The upstream connection was reset before a response was started. This | ||
| // will generally be accompanied by details about why the reset occurred. | ||
| const std::string EarlyUpstreamReset = "upstream_reset_before_response_started"; | ||
| // The upstream connection was reset before a response was started. This | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nit: before -> after |
||
| // will generally be accompanied by details about why the reset occurred but | ||
| // indicates that original "success" headers may have been sent downstream | ||
| // despite the subsequent failure. | ||
| const std::string LateUpstreamReset = "upstream_reset_after_response_started"; | ||
| // TODO(#6542): continue addding values for sendLocalReply use-cases | ||
| }; | ||
|
|
||
| typedef ConstSingleton<ResponseCodeDetailValues> ResponseCodeDetails; | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
default arguments is only allowed for non-virtual methods
https://google.github.io/styleguide/cppguide.html#Default_Arguments