syntax = "proto3";

package envoy.api.v2.core;

option java_outer_classname = "BaseProto";
option java_multiple_files = true;
option java_package = "io.envoyproxy.envoy.api.v2.core";

import "google/protobuf/any.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/wrappers.proto";

import "validate/validate.proto";

// Header name/value pair.
message HeaderValue {
    // Header name.
    string key = 1 [(validate.rules).string = {min_bytes: 1 max_bytes: 16384}];

    // Header value.
    //
    // The same :ref:`format specifier <config_access_log_format>` as used for
    // :ref:`HTTP access logging <config_access_log>` applies here, however
    // unknown header values are replaced with the empty string instead of `-`.
    string value = 2 [(validate.rules).string = {max_bytes: 16384}];
}