2023-08-03 18:42:04 +00:00
|
|
|
// Copyright (c) HashiCorp, Inc.
|
2023-08-21 17:31:54 +00:00
|
|
|
// SPDX-License-Identifier: MPL-2.0
|
2023-08-03 18:42:04 +00:00
|
|
|
|
|
|
|
syntax = "proto3";
|
|
|
|
|
2023-09-22 16:51:15 +00:00
|
|
|
package hashicorp.consul.mesh.v2beta1;
|
2023-08-03 18:42:04 +00:00
|
|
|
|
|
|
|
import "google/protobuf/duration.proto";
|
|
|
|
|
|
|
|
// HTTPRouteTimeouts defines timeouts that can be configured for an HTTPRoute.
|
|
|
|
// Timeout values are formatted like 1h/1m/1s/1ms as parsed by Golang time.ParseDuration
|
|
|
|
// and MUST BE >= 1ms.
|
|
|
|
//
|
|
|
|
// ALTERNATIVE: not using policy attachment semantics
|
|
|
|
message HTTPRouteTimeouts {
|
|
|
|
// Request specifies the duration for processing an HTTP client request after which the
|
|
|
|
// gateway will time out if unable to send a response.
|
|
|
|
// Whether the gateway starts the timeout before or after the entire client request stream
|
|
|
|
// has been received, is implementation-dependent.
|
|
|
|
//
|
|
|
|
// For example, setting the `rules.timeouts.request` field to the value `10s` in an
|
|
|
|
// `HTTPRoute` will cause a timeout if a client request is taking longer than 10 seconds
|
|
|
|
// to complete.
|
|
|
|
//
|
|
|
|
// When this field is unspecified, request timeout behavior is implementation-dependent.
|
|
|
|
google.protobuf.Duration request = 1;
|
|
|
|
|
|
|
|
// BackendRequest specifies a timeout for an individual request from the gateway
|
|
|
|
// to a backend service. Typically used in conjuction with retry configuration,
|
|
|
|
// if supported by an implementation.
|
|
|
|
//
|
|
|
|
// The value of BackendRequest defaults to and must be <= the value of Request timeout.
|
|
|
|
//
|
|
|
|
// Support: Extended
|
|
|
|
//
|
|
|
|
// TODO(rb): net-new feature
|
|
|
|
google.protobuf.Duration backend_request = 2;
|
|
|
|
|
|
|
|
// TODO(RB): this is a consul-only feature
|
|
|
|
google.protobuf.Duration idle = 3;
|
|
|
|
}
|