Skip to main content
Version: development

FlowControlServiceHTTP_CheckHTTP

FlowControlServiceHTTP_CheckHTTP

Request Body required
  • control_point string

    For an SDK based insertion, a Control Point can represent a particular feature or execution block within a Service. In case of Service Mesh or Middleware insertion, a Control Point can identify ingress vs egress calls or distinct listeners or filter chains.

  • destination object

    The destination of a network activity, such as accepting a TCP connection. In a multi hop network activity, the destination represents the receiver of the last hop.

  • address string

    The address for this socket.

  • port int64

    The port for this socket.

  • protocol string

    Possible values: [TCP, UDP]

    Default value: TCP

  • expect_end boolean

    Expect End denotes whether to expect a FlowEnd call for this flow.

  • ramp_mode boolean

    A flow with ramp_mode flag will only be accepted if at least one ramp component matches and accepts the flow.

  • request object

    Represents a network request, such as an HTTP request.

  • body string

    The HTTP request body.

  • headers object

    The HTTP request headers.

  • property name* string
  • host string

    The HTTP request Host header value.

  • method string

    The HTTP request method, such as GET, POST.

  • path string

    The request target, as it appears in the first line of the HTTP request. This includes the URL path and query-string. No decoding is performed.

  • protocol string

    The network protocol used with the request, such as "HTTP/1.0", "HTTP/1.1", or "HTTP/2".

  • scheme string

    The HTTP URL scheme, such as http and https.

  • size int64

    The HTTP request size in bytes. If unknown, it must be -1.

  • source object

    The source of a network activity, such as starting a TCP connection. In a multi hop network activity, the source represents the sender of the last hop.

  • address string

    The address for this socket.

  • port int64

    The port for this socket.

  • protocol string

    Possible values: [TCP, UDP]

    Default value: TCP

Responses

A successful response.


Schema
  • check_response object

    The response from the check call.

  • cache_lookup_response object

    CacheLookupResponse contains the result of the cache lookup.

  • global_cache_responses object
  • property name* object
  • error string
  • lookup_status string

    Possible values: [HIT, MISS]

    Default value: HIT

  • operation_status string

    Possible values: [SUCCESS, ERROR]

    Default value: SUCCESS

  • value byte
  • result_cache_response object
  • error string
  • lookup_status string

    Possible values: [HIT, MISS]

    Default value: HIT

  • operation_status string

    Possible values: [SUCCESS, ERROR]

    Default value: SUCCESS

  • value byte
  • classifier_infos object[]

    classifiers that were matched for this request.

  • Array [
  • classifier_index int64
  • error string

    Possible values: [ERROR_NONE, ERROR_EVAL_FAILED, ERROR_EMPTY_RESULTSET, ERROR_AMBIGUOUS_RESULTSET, ERROR_MULTI_EXPRESSION, ERROR_EXPRESSION_NOT_MAP]

    Default value: ERROR_NONE

    Error information.

  • policy_hash string
  • policy_name string
  • ]
  • control_point control_point of request
  • decision_type string

    Possible values: [DECISION_TYPE_ACCEPTED, DECISION_TYPE_REJECTED]

    Default value: DECISION_TYPE_ACCEPTED

    decision_type contains what the decision was.

  • denied_response_status_code HTTP response codes. For more details: https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml

    Possible values: [Empty, Continue, OK, Created, Accepted, NonAuthoritativeInformation, NoContent, ResetContent, PartialContent, MultiStatus, AlreadyReported, IMUsed, MultipleChoices, MovedPermanently, Found, SeeOther, NotModified, UseProxy, TemporaryRedirect, PermanentRedirect, BadRequest, Unauthorized, PaymentRequired, Forbidden, NotFound, MethodNotAllowed, NotAcceptable, ProxyAuthenticationRequired, RequestTimeout, Conflict, Gone, LengthRequired, PreconditionFailed, PayloadTooLarge, URITooLong, UnsupportedMediaType, RangeNotSatisfiable, ExpectationFailed, MisdirectedRequest, UnprocessableEntity, Locked, FailedDependency, UpgradeRequired, PreconditionRequired, TooManyRequests, RequestHeaderFieldsTooLarge, InternalServerError, NotImplemented, BadGateway, ServiceUnavailable, GatewayTimeout, HTTPVersionNotSupported, VariantAlsoNegotiates, InsufficientStorage, LoopDetected, NotExtended, NetworkAuthenticationRequired]

    Default value: Empty

    http_status contains the http status code to be returned to the client, if decision_type is REJECTED. Optional.

  • end date-time
  • expect_end boolean

    Expected End for this request.

  • flow_label_keys string[]

    flow label keys that were matched for this request.

  • flux_meter_infos object[]

    flux meters that were matched for this request.

  • Array [
  • flux_meter_name string
  • ]
  • limiter_decisions object[]

    limiter_decisions contains information about decision made by each limiter.

  • Array [
  • component_id string
  • concurrency_limiter_info object
  • label string
  • request_id string
  • tokens_info object
  • consumed double
  • current double
  • remaining double

    remaining and current may not provide accurate values in case the request times out while waiting for tokens.

  • concurrency_scheduler_info object
  • label string
  • priority double
  • request_id string
  • tokens_info object
  • consumed double
  • current double
  • remaining double

    remaining and current may not provide accurate values in case the request times out while waiting for tokens.

  • workload_index string
  • denied_response_status_code HTTP response codes. For more details: https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml

    Possible values: [Empty, Continue, OK, Created, Accepted, NonAuthoritativeInformation, NoContent, ResetContent, PartialContent, MultiStatus, AlreadyReported, IMUsed, MultipleChoices, MovedPermanently, Found, SeeOther, NotModified, UseProxy, TemporaryRedirect, PermanentRedirect, BadRequest, Unauthorized, PaymentRequired, Forbidden, NotFound, MethodNotAllowed, NotAcceptable, ProxyAuthenticationRequired, RequestTimeout, Conflict, Gone, LengthRequired, PreconditionFailed, PayloadTooLarge, URITooLong, UnsupportedMediaType, RangeNotSatisfiable, ExpectationFailed, MisdirectedRequest, UnprocessableEntity, Locked, FailedDependency, UpgradeRequired, PreconditionRequired, TooManyRequests, RequestHeaderFieldsTooLarge, InternalServerError, NotImplemented, BadGateway, ServiceUnavailable, GatewayTimeout, HTTPVersionNotSupported, VariantAlsoNegotiates, InsufficientStorage, LoopDetected, NotExtended, NetworkAuthenticationRequired]

    Default value: Empty

    • Empty: Empty - This code not part of the HTTP status code specification, but it is needed for enum type.
  • dropped boolean
  • load_scheduler_info object
  • priority double
  • tokens_info object
  • consumed double
  • current double
  • remaining double

    remaining and current may not provide accurate values in case the request times out while waiting for tokens.

  • workload_index string
  • policy_hash string
  • policy_name string
  • quota_scheduler_info object
  • label string
  • priority double
  • tokens_info object
  • consumed double
  • current double
  • remaining double

    remaining and current may not provide accurate values in case the request times out while waiting for tokens.

  • workload_index string
  • rate_limiter_info object
  • label string
  • tokens_info object
  • consumed double
  • current double
  • remaining double

    remaining and current may not provide accurate values in case the request times out while waiting for tokens.

  • reason string

    Possible values: [LIMITER_REASON_UNSPECIFIED, LIMITER_REASON_KEY_NOT_FOUND]

    Default value: LIMITER_REASON_UNSPECIFIED

  • sampler_info object
  • label string
  • wait_time string
  • ]
  • reject_reason string

    Possible values: [REJECT_REASON_NONE, REJECT_REASON_RATE_LIMITED, REJECT_REASON_NO_TOKENS, REJECT_REASON_NOT_SAMPLED, REJECT_REASON_NO_MATCHING_RAMP]

    Default value: REJECT_REASON_NONE

    reject_reason contains the reason for the rejection.

  • services string[]
  • start date-time
  • telemetry_flow_labels object

    telemetry_flow_labels are labels for telemetry purpose. The keys in telemetry_flow_labels is subset of flow_label_keys.

  • property name* string
  • wait_time string

    Recommended minimal amount of time to wait when retrying the request, if decision_type is REJECTED. Optional.

  • denied_response object

    Supplies http attributes for a denied response.

  • body string

    This field allows the authorization service to send a response body data to the downstream client.

  • headers object

    This field allows the authorization service to send HTTP response headers to the downstream client.

  • property name* string
  • status int32

    This field allows the authorization service to send an HTTP response status code to the downstream client. If not set, Envoy sends 403 Forbidden HTTP status code by default.

  • dynamic_metadata object

    Optional response metadata that will be emitted as dynamic metadata to be consumed by the next filter.

  • ok_response object

    Supplies http attributes for an ok response.

  • dynamic_metadata object
  • headers object

    HTTP entity headers in addition to the original request headers.

  • property name* string
  • status object

    The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details.

    You can find out more about this error model and how to work with it in the API Design Guide.

  • code int32

    The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

  • details object[]

    A list of messages that carry the error details. There is a common set of message types for APIs to use.

  • Array [
  • @type string

    A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading "." is not accepted).

    In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme http, https, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:

    • If no scheme is provided, https is assumed.
    • An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error.
    • Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)

    Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one.

    Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

  • ]
  • message string

    A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.

Loading...