// Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: BUSL-1.1 syntax = "proto3"; package hashicorp.consul.mesh.v1alpha1; 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; }