All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.envoyproxy.envoy.config.route.v3.HeaderMatcher.scala Maven / Gradle / Ivy

There is a newer version: 1.23.0-dev-f04150-1
Show newest version
// Generated by the Scala Plugin for the Protocol Buffer Compiler.
// Do not edit!
//
// Protofile syntax: PROTO3

package io.envoyproxy.envoy.config.route.v3

/** .. attention::
  *
  *   Internally, Envoy always uses the HTTP/2 *:authority* header to represent the HTTP/1 *Host*
  *   header. Thus, if attempting to match on *Host*, match on *:authority* instead.
  *
  * .. attention::
  *
  *   To route on HTTP method, use the special HTTP/2 *:method* header. This works for both
  *   HTTP/1 and HTTP/2 as Envoy normalizes headers. E.g.,
  *
  *   .. code-block:: json
  *
  *     {
  *       "name": ":method",
  *       "exact_match": "POST"
  *     }
  *
  * .. attention::
  *   In the absence of any header match specifier, match will default to :ref:`present_match
  *   <envoy_v3_api_field_config.route.v3.HeaderMatcher.present_match>`. i.e, a request that has the :ref:`name
  *   <envoy_v3_api_field_config.route.v3.HeaderMatcher.name>` header will match, regardless of the header's
  *   value.
  *
  *  [#next-major-version: HeaderMatcher should be refactored to use StringMatcher.]
  * [#next-free-field: 14]
  *
  * @param name
  *   Specifies the name of the header in the request.
  * @param invertMatch
  *   If specified, the match result will be inverted before checking. Defaults to false.
  *  
  *   Examples:
  *  
  *   * The regex ``&92;d{3}`` does not match the value *1234*, so it will match when inverted.
  *   * The range [-10,0) will match the value -1, so it will not match when inverted.
  */
@SerialVersionUID(0L)
final case class HeaderMatcher(
    name: _root_.scala.Predef.String = "",
    headerMatchSpecifier: io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.Empty,
    invertMatch: _root_.scala.Boolean = false,
    unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
    ) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[HeaderMatcher] {
    @transient
    private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
    private[this] def __computeSerializedSize(): _root_.scala.Int = {
      var __size = 0
      
      {
        val __value = name
        if (!__value.isEmpty) {
          __size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(1, __value)
        }
      };
      if (headerMatchSpecifier.exactMatch.isDefined) {
        val __value = headerMatchSpecifier.exactMatch.get
        __size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(4, __value)
      };
      if (headerMatchSpecifier.safeRegexMatch.isDefined) {
        val __value = headerMatchSpecifier.safeRegexMatch.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (headerMatchSpecifier.rangeMatch.isDefined) {
        val __value = headerMatchSpecifier.rangeMatch.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (headerMatchSpecifier.presentMatch.isDefined) {
        val __value = headerMatchSpecifier.presentMatch.get
        __size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(7, __value)
      };
      if (headerMatchSpecifier.prefixMatch.isDefined) {
        val __value = headerMatchSpecifier.prefixMatch.get
        __size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(9, __value)
      };
      if (headerMatchSpecifier.suffixMatch.isDefined) {
        val __value = headerMatchSpecifier.suffixMatch.get
        __size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(10, __value)
      };
      if (headerMatchSpecifier.containsMatch.isDefined) {
        val __value = headerMatchSpecifier.containsMatch.get
        __size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(12, __value)
      };
      if (headerMatchSpecifier.stringMatch.isDefined) {
        val __value = headerMatchSpecifier.stringMatch.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      
      {
        val __value = invertMatch
        if (__value != false) {
          __size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(8, __value)
        }
      };
      __size += unknownFields.serializedSize
      __size
    }
    override def serializedSize: _root_.scala.Int = {
      var __size = __serializedSizeMemoized
      if (__size == 0) {
        __size = __computeSerializedSize() + 1
        __serializedSizeMemoized = __size
      }
      __size - 1
      
    }
    def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
      {
        val __v = name
        if (!__v.isEmpty) {
          _output__.writeString(1, __v)
        }
      };
      headerMatchSpecifier.exactMatch.foreach { __v =>
        val __m = __v
        _output__.writeString(4, __m)
      };
      headerMatchSpecifier.rangeMatch.foreach { __v =>
        val __m = __v
        _output__.writeTag(6, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      headerMatchSpecifier.presentMatch.foreach { __v =>
        val __m = __v
        _output__.writeBool(7, __m)
      };
      {
        val __v = invertMatch
        if (__v != false) {
          _output__.writeBool(8, __v)
        }
      };
      headerMatchSpecifier.prefixMatch.foreach { __v =>
        val __m = __v
        _output__.writeString(9, __m)
      };
      headerMatchSpecifier.suffixMatch.foreach { __v =>
        val __m = __v
        _output__.writeString(10, __m)
      };
      headerMatchSpecifier.safeRegexMatch.foreach { __v =>
        val __m = __v
        _output__.writeTag(11, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      headerMatchSpecifier.containsMatch.foreach { __v =>
        val __m = __v
        _output__.writeString(12, __m)
      };
      headerMatchSpecifier.stringMatch.foreach { __v =>
        val __m = __v
        _output__.writeTag(13, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      unknownFields.writeTo(_output__)
    }
    def withName(__v: _root_.scala.Predef.String): HeaderMatcher = copy(name = __v)
    def getExactMatch: _root_.scala.Predef.String = headerMatchSpecifier.exactMatch.getOrElse("")
    def withExactMatch(__v: _root_.scala.Predef.String): HeaderMatcher = copy(headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.ExactMatch(__v))
    def getSafeRegexMatch: io.envoyproxy.envoy.`type`.matcher.v3.RegexMatcher = headerMatchSpecifier.safeRegexMatch.getOrElse(io.envoyproxy.envoy.`type`.matcher.v3.RegexMatcher.defaultInstance)
    def withSafeRegexMatch(__v: io.envoyproxy.envoy.`type`.matcher.v3.RegexMatcher): HeaderMatcher = copy(headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.SafeRegexMatch(__v))
    def getRangeMatch: io.envoyproxy.envoy.`type`.v3.Int64Range = headerMatchSpecifier.rangeMatch.getOrElse(io.envoyproxy.envoy.`type`.v3.Int64Range.defaultInstance)
    def withRangeMatch(__v: io.envoyproxy.envoy.`type`.v3.Int64Range): HeaderMatcher = copy(headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.RangeMatch(__v))
    def getPresentMatch: _root_.scala.Boolean = headerMatchSpecifier.presentMatch.getOrElse(false)
    def withPresentMatch(__v: _root_.scala.Boolean): HeaderMatcher = copy(headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.PresentMatch(__v))
    def getPrefixMatch: _root_.scala.Predef.String = headerMatchSpecifier.prefixMatch.getOrElse("")
    def withPrefixMatch(__v: _root_.scala.Predef.String): HeaderMatcher = copy(headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.PrefixMatch(__v))
    def getSuffixMatch: _root_.scala.Predef.String = headerMatchSpecifier.suffixMatch.getOrElse("")
    def withSuffixMatch(__v: _root_.scala.Predef.String): HeaderMatcher = copy(headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.SuffixMatch(__v))
    def getContainsMatch: _root_.scala.Predef.String = headerMatchSpecifier.containsMatch.getOrElse("")
    def withContainsMatch(__v: _root_.scala.Predef.String): HeaderMatcher = copy(headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.ContainsMatch(__v))
    def getStringMatch: io.envoyproxy.envoy.`type`.matcher.v3.StringMatcher = headerMatchSpecifier.stringMatch.getOrElse(io.envoyproxy.envoy.`type`.matcher.v3.StringMatcher.defaultInstance)
    def withStringMatch(__v: io.envoyproxy.envoy.`type`.matcher.v3.StringMatcher): HeaderMatcher = copy(headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.StringMatch(__v))
    def withInvertMatch(__v: _root_.scala.Boolean): HeaderMatcher = copy(invertMatch = __v)
    def clearHeaderMatchSpecifier: HeaderMatcher = copy(headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.Empty)
    def withHeaderMatchSpecifier(__v: io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier): HeaderMatcher = copy(headerMatchSpecifier = __v)
    def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
    def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
    def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
      (__fieldNumber: @_root_.scala.unchecked) match {
        case 1 => {
          val __t = name
          if (__t != "") __t else null
        }
        case 4 => headerMatchSpecifier.exactMatch.orNull
        case 11 => headerMatchSpecifier.safeRegexMatch.orNull
        case 6 => headerMatchSpecifier.rangeMatch.orNull
        case 7 => headerMatchSpecifier.presentMatch.orNull
        case 9 => headerMatchSpecifier.prefixMatch.orNull
        case 10 => headerMatchSpecifier.suffixMatch.orNull
        case 12 => headerMatchSpecifier.containsMatch.orNull
        case 13 => headerMatchSpecifier.stringMatch.orNull
        case 8 => {
          val __t = invertMatch
          if (__t != false) __t else null
        }
      }
    }
    def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
      _root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
      (__field.number: @_root_.scala.unchecked) match {
        case 1 => _root_.scalapb.descriptors.PString(name)
        case 4 => headerMatchSpecifier.exactMatch.map(_root_.scalapb.descriptors.PString(_)).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 11 => headerMatchSpecifier.safeRegexMatch.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 6 => headerMatchSpecifier.rangeMatch.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 7 => headerMatchSpecifier.presentMatch.map(_root_.scalapb.descriptors.PBoolean(_)).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 9 => headerMatchSpecifier.prefixMatch.map(_root_.scalapb.descriptors.PString(_)).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 10 => headerMatchSpecifier.suffixMatch.map(_root_.scalapb.descriptors.PString(_)).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 12 => headerMatchSpecifier.containsMatch.map(_root_.scalapb.descriptors.PString(_)).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 13 => headerMatchSpecifier.stringMatch.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 8 => _root_.scalapb.descriptors.PBoolean(invertMatch)
      }
    }
    def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
    def companion: io.envoyproxy.envoy.config.route.v3.HeaderMatcher.type = io.envoyproxy.envoy.config.route.v3.HeaderMatcher
    // @@protoc_insertion_point(GeneratedMessage[envoy.config.route.v3.HeaderMatcher])
}

object HeaderMatcher extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.route.v3.HeaderMatcher] {
  implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.route.v3.HeaderMatcher] = this
  def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.route.v3.HeaderMatcher = {
    var __name: _root_.scala.Predef.String = ""
    var __invertMatch: _root_.scala.Boolean = false
    var __headerMatchSpecifier: io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.Empty
    var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
    var _done__ = false
    while (!_done__) {
      val _tag__ = _input__.readTag()
      _tag__ match {
        case 0 => _done__ = true
        case 10 =>
          __name = _input__.readStringRequireUtf8()
        case 34 =>
          __headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.ExactMatch(_input__.readStringRequireUtf8())
        case 90 =>
          __headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.SafeRegexMatch(__headerMatchSpecifier.safeRegexMatch.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.`type`.matcher.v3.RegexMatcher](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 50 =>
          __headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.RangeMatch(__headerMatchSpecifier.rangeMatch.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.`type`.v3.Int64Range](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 56 =>
          __headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.PresentMatch(_input__.readBool())
        case 74 =>
          __headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.PrefixMatch(_input__.readStringRequireUtf8())
        case 82 =>
          __headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.SuffixMatch(_input__.readStringRequireUtf8())
        case 98 =>
          __headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.ContainsMatch(_input__.readStringRequireUtf8())
        case 106 =>
          __headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.StringMatch(__headerMatchSpecifier.stringMatch.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.`type`.matcher.v3.StringMatcher](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 64 =>
          __invertMatch = _input__.readBool()
        case tag =>
          if (_unknownFields__ == null) {
            _unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
          }
          _unknownFields__.parseField(tag, _input__)
      }
    }
    io.envoyproxy.envoy.config.route.v3.HeaderMatcher(
        name = __name,
        invertMatch = __invertMatch,
        headerMatchSpecifier = __headerMatchSpecifier,
        unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
    )
  }
  implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.route.v3.HeaderMatcher] = _root_.scalapb.descriptors.Reads{
    case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
      _root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
      io.envoyproxy.envoy.config.route.v3.HeaderMatcher(
        name = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scala.Predef.String]).getOrElse(""),
        invertMatch = __fieldsMap.get(scalaDescriptor.findFieldByNumber(8).get).map(_.as[_root_.scala.Boolean]).getOrElse(false),
        headerMatchSpecifier = __fieldsMap.get(scalaDescriptor.findFieldByNumber(4).get).flatMap(_.as[_root_.scala.Option[_root_.scala.Predef.String]]).map(io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.ExactMatch(_))
            .orElse[io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier](__fieldsMap.get(scalaDescriptor.findFieldByNumber(11).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.`type`.matcher.v3.RegexMatcher]]).map(io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.SafeRegexMatch(_)))
            .orElse[io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier](__fieldsMap.get(scalaDescriptor.findFieldByNumber(6).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.`type`.v3.Int64Range]]).map(io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.RangeMatch(_)))
            .orElse[io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier](__fieldsMap.get(scalaDescriptor.findFieldByNumber(7).get).flatMap(_.as[_root_.scala.Option[_root_.scala.Boolean]]).map(io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.PresentMatch(_)))
            .orElse[io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier](__fieldsMap.get(scalaDescriptor.findFieldByNumber(9).get).flatMap(_.as[_root_.scala.Option[_root_.scala.Predef.String]]).map(io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.PrefixMatch(_)))
            .orElse[io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier](__fieldsMap.get(scalaDescriptor.findFieldByNumber(10).get).flatMap(_.as[_root_.scala.Option[_root_.scala.Predef.String]]).map(io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.SuffixMatch(_)))
            .orElse[io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier](__fieldsMap.get(scalaDescriptor.findFieldByNumber(12).get).flatMap(_.as[_root_.scala.Option[_root_.scala.Predef.String]]).map(io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.ContainsMatch(_)))
            .orElse[io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier](__fieldsMap.get(scalaDescriptor.findFieldByNumber(13).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.`type`.matcher.v3.StringMatcher]]).map(io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.StringMatch(_)))
            .getOrElse(io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.Empty)
      )
    case _ => throw new RuntimeException("Expected PMessage")
  }
  def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = RouteComponentsProto.javaDescriptor.getMessageTypes().get(17)
  def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = RouteComponentsProto.scalaDescriptor.messages(17)
  def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
    var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
    (__number: @_root_.scala.unchecked) match {
      case 11 => __out = io.envoyproxy.envoy.`type`.matcher.v3.RegexMatcher
      case 6 => __out = io.envoyproxy.envoy.`type`.v3.Int64Range
      case 13 => __out = io.envoyproxy.envoy.`type`.matcher.v3.StringMatcher
    }
    __out
  }
  lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
  def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
  lazy val defaultInstance = io.envoyproxy.envoy.config.route.v3.HeaderMatcher(
    name = "",
    invertMatch = false,
    headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.Empty
  )
  sealed trait HeaderMatchSpecifier extends _root_.scalapb.GeneratedOneof {
    def isEmpty: _root_.scala.Boolean = false
    def isDefined: _root_.scala.Boolean = true
    def isExactMatch: _root_.scala.Boolean = false
    def isSafeRegexMatch: _root_.scala.Boolean = false
    def isRangeMatch: _root_.scala.Boolean = false
    def isPresentMatch: _root_.scala.Boolean = false
    def isPrefixMatch: _root_.scala.Boolean = false
    def isSuffixMatch: _root_.scala.Boolean = false
    def isContainsMatch: _root_.scala.Boolean = false
    def isStringMatch: _root_.scala.Boolean = false
    def exactMatch: _root_.scala.Option[_root_.scala.Predef.String] = _root_.scala.None
    def safeRegexMatch: _root_.scala.Option[io.envoyproxy.envoy.`type`.matcher.v3.RegexMatcher] = _root_.scala.None
    def rangeMatch: _root_.scala.Option[io.envoyproxy.envoy.`type`.v3.Int64Range] = _root_.scala.None
    def presentMatch: _root_.scala.Option[_root_.scala.Boolean] = _root_.scala.None
    def prefixMatch: _root_.scala.Option[_root_.scala.Predef.String] = _root_.scala.None
    def suffixMatch: _root_.scala.Option[_root_.scala.Predef.String] = _root_.scala.None
    def containsMatch: _root_.scala.Option[_root_.scala.Predef.String] = _root_.scala.None
    def stringMatch: _root_.scala.Option[io.envoyproxy.envoy.`type`.matcher.v3.StringMatcher] = _root_.scala.None
  }
  object HeaderMatchSpecifier {
    @SerialVersionUID(0L)
    case object Empty extends io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier {
      type ValueType = _root_.scala.Nothing
      override def isEmpty: _root_.scala.Boolean = true
      override def isDefined: _root_.scala.Boolean = false
      override def number: _root_.scala.Int = 0
      override def value: _root_.scala.Nothing = throw new java.util.NoSuchElementException("Empty.value")
    }
  
    @SerialVersionUID(0L) @scala.deprecated(message="Marked as deprecated in proto file", "")
    final case class ExactMatch(value: _root_.scala.Predef.String) extends io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier {
      type ValueType = _root_.scala.Predef.String
      override def isExactMatch: _root_.scala.Boolean = true
      override def exactMatch: _root_.scala.Option[_root_.scala.Predef.String] = Some(value)
      override def number: _root_.scala.Int = 4
    }
    @SerialVersionUID(0L) @scala.deprecated(message="Marked as deprecated in proto file", "")
    final case class SafeRegexMatch(value: io.envoyproxy.envoy.`type`.matcher.v3.RegexMatcher) extends io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier {
      type ValueType = io.envoyproxy.envoy.`type`.matcher.v3.RegexMatcher
      override def isSafeRegexMatch: _root_.scala.Boolean = true
      override def safeRegexMatch: _root_.scala.Option[io.envoyproxy.envoy.`type`.matcher.v3.RegexMatcher] = Some(value)
      override def number: _root_.scala.Int = 11
    }
    @SerialVersionUID(0L)
    final case class RangeMatch(value: io.envoyproxy.envoy.`type`.v3.Int64Range) extends io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier {
      type ValueType = io.envoyproxy.envoy.`type`.v3.Int64Range
      override def isRangeMatch: _root_.scala.Boolean = true
      override def rangeMatch: _root_.scala.Option[io.envoyproxy.envoy.`type`.v3.Int64Range] = Some(value)
      override def number: _root_.scala.Int = 6
    }
    @SerialVersionUID(0L)
    final case class PresentMatch(value: _root_.scala.Boolean) extends io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier {
      type ValueType = _root_.scala.Boolean
      override def isPresentMatch: _root_.scala.Boolean = true
      override def presentMatch: _root_.scala.Option[_root_.scala.Boolean] = Some(value)
      override def number: _root_.scala.Int = 7
    }
    @SerialVersionUID(0L) @scala.deprecated(message="Marked as deprecated in proto file", "")
    final case class PrefixMatch(value: _root_.scala.Predef.String) extends io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier {
      type ValueType = _root_.scala.Predef.String
      override def isPrefixMatch: _root_.scala.Boolean = true
      override def prefixMatch: _root_.scala.Option[_root_.scala.Predef.String] = Some(value)
      override def number: _root_.scala.Int = 9
    }
    @SerialVersionUID(0L) @scala.deprecated(message="Marked as deprecated in proto file", "")
    final case class SuffixMatch(value: _root_.scala.Predef.String) extends io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier {
      type ValueType = _root_.scala.Predef.String
      override def isSuffixMatch: _root_.scala.Boolean = true
      override def suffixMatch: _root_.scala.Option[_root_.scala.Predef.String] = Some(value)
      override def number: _root_.scala.Int = 10
    }
    @SerialVersionUID(0L) @scala.deprecated(message="Marked as deprecated in proto file", "")
    final case class ContainsMatch(value: _root_.scala.Predef.String) extends io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier {
      type ValueType = _root_.scala.Predef.String
      override def isContainsMatch: _root_.scala.Boolean = true
      override def containsMatch: _root_.scala.Option[_root_.scala.Predef.String] = Some(value)
      override def number: _root_.scala.Int = 12
    }
    @SerialVersionUID(0L)
    final case class StringMatch(value: io.envoyproxy.envoy.`type`.matcher.v3.StringMatcher) extends io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier {
      type ValueType = io.envoyproxy.envoy.`type`.matcher.v3.StringMatcher
      override def isStringMatch: _root_.scala.Boolean = true
      override def stringMatch: _root_.scala.Option[io.envoyproxy.envoy.`type`.matcher.v3.StringMatcher] = Some(value)
      override def number: _root_.scala.Int = 13
    }
  }
  implicit class HeaderMatcherLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.route.v3.HeaderMatcher]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.route.v3.HeaderMatcher](_l) {
    def name: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.name)((c_, f_) => c_.copy(name = f_))
    def exactMatch: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.getExactMatch)((c_, f_) => c_.copy(headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.ExactMatch(f_)))
    def safeRegexMatch: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.`type`.matcher.v3.RegexMatcher] = field(_.getSafeRegexMatch)((c_, f_) => c_.copy(headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.SafeRegexMatch(f_)))
    def rangeMatch: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.`type`.v3.Int64Range] = field(_.getRangeMatch)((c_, f_) => c_.copy(headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.RangeMatch(f_)))
    def presentMatch: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.getPresentMatch)((c_, f_) => c_.copy(headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.PresentMatch(f_)))
    def prefixMatch: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.getPrefixMatch)((c_, f_) => c_.copy(headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.PrefixMatch(f_)))
    def suffixMatch: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.getSuffixMatch)((c_, f_) => c_.copy(headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.SuffixMatch(f_)))
    def containsMatch: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.getContainsMatch)((c_, f_) => c_.copy(headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.ContainsMatch(f_)))
    def stringMatch: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.`type`.matcher.v3.StringMatcher] = field(_.getStringMatch)((c_, f_) => c_.copy(headerMatchSpecifier = io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier.StringMatch(f_)))
    def invertMatch: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.invertMatch)((c_, f_) => c_.copy(invertMatch = f_))
    def headerMatchSpecifier: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier] = field(_.headerMatchSpecifier)((c_, f_) => c_.copy(headerMatchSpecifier = f_))
  }
  final val NAME_FIELD_NUMBER = 1
  final val EXACT_MATCH_FIELD_NUMBER = 4
  final val SAFE_REGEX_MATCH_FIELD_NUMBER = 11
  final val RANGE_MATCH_FIELD_NUMBER = 6
  final val PRESENT_MATCH_FIELD_NUMBER = 7
  final val PREFIX_MATCH_FIELD_NUMBER = 9
  final val SUFFIX_MATCH_FIELD_NUMBER = 10
  final val CONTAINS_MATCH_FIELD_NUMBER = 12
  final val STRING_MATCH_FIELD_NUMBER = 13
  final val INVERT_MATCH_FIELD_NUMBER = 8
  def of(
    name: _root_.scala.Predef.String,
    headerMatchSpecifier: io.envoyproxy.envoy.config.route.v3.HeaderMatcher.HeaderMatchSpecifier,
    invertMatch: _root_.scala.Boolean
  ): _root_.io.envoyproxy.envoy.config.route.v3.HeaderMatcher = _root_.io.envoyproxy.envoy.config.route.v3.HeaderMatcher(
    name,
    headerMatchSpecifier,
    invertMatch
  )
  // @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.route.v3.HeaderMatcher])
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy