# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: xcapi/xray/transport/internet/headers/http/config.proto
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
from typing import Optional, List
from xcapi.model import ClassMeta
from dataclasses import dataclass


@dataclass
class Header(ClassMeta):
    name: Optional[str] = None
    """"Accept", "Cookie", etc"""
    value: Optional[List[str]] = None
    """Each entry must be valid in one piece. Random entry will be chosen if multiple entries present."""


@dataclass
class Version(ClassMeta):
    """HTTP version. Default value "1.1"."""
    value: Optional[str] = None


@dataclass
class Method(ClassMeta):
    """HTTP method. Default value "GET"."""
    value: Optional[str] = None


@dataclass
class RequestConfig(ClassMeta):
    version: Optional[Version] = None
    """Full HTTP version like "1.1"."""
    method: Optional[Method] = None
    """GET, POST, CONNECT etc"""
    uri: Optional[List[str]] = None
    """URI like "/login.php"""
    header: Optional[List[Header]] = None


@dataclass
class Status(ClassMeta):
    code: Optional[str] = None
    """Status code. Default "200"."""
    reason: Optional[str] = None
    """Statue reason. Default "OK"."""


@dataclass
class ResponseConfig(ClassMeta):
    version: Optional[Version] = None
    status: Optional[Status] = None
    header: Optional[List[Header]] = None


@dataclass
class Config(ClassMeta):
    request: Optional[RequestConfig] = None
    """
    Settings for authenticating requests. If not set, client side will not send
    authentication header, and server side will bypass authentication.
    """
    response: Optional[ResponseConfig] = None
    """
    Settings for authenticating responses. If not set, client side will bypass
    authentication, and server side will not send authentication header.
    """


_sym_db = _symbol_database.Default()

DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
    b'\n7xcapi/xray/transport/internet/headers/http/config.proto\x12$xray.transport.internet.headers.http\"%\n\x06Header\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x03(\t\"\x18\n\x07Version\x12\r\n\x05value\x18\x01 \x01(\t\"\x17\n\x06Method\x12\r\n\x05value\x18\x01 \x01(\t\"\xd8\x01\n\rRequestConfig\x12>\n\x07version\x18\x01 \x01(\x0b\x32-.xray.transport.internet.headers.http.Version\x12<\n\x06method\x18\x02 \x01(\x0b\x32,.xray.transport.internet.headers.http.Method\x12\x0b\n\x03uri\x18\x03 \x03(\t\x12<\n\x06header\x18\x04 \x03(\x0b\x32,.xray.transport.internet.headers.http.Header\"&\n\x06Status\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\"\xcc\x01\n\x0eResponseConfig\x12>\n\x07version\x18\x01 \x01(\x0b\x32-.xray.transport.internet.headers.http.Version\x12<\n\x06status\x18\x02 \x01(\x0b\x32,.xray.transport.internet.headers.http.Status\x12<\n\x06header\x18\x03 \x03(\x0b\x32,.xray.transport.internet.headers.http.Header\"\x96\x01\n\x06\x43onfig\x12\x44\n\x07request\x18\x01 \x01(\x0b\x32\x33.xray.transport.internet.headers.http.RequestConfig\x12\x46\n\x08response\x18\x02 \x01(\x0b\x32\x34.xray.transport.internet.headers.http.ResponseConfigb\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'xcapi.xray.transport.internet.headers.http.config_pb', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
    DESCRIPTOR._loaded_options = None
    _globals['_HEADER']._serialized_start = 97
    _globals['_HEADER']._serialized_end = 134
    _globals['_VERSION']._serialized_start = 136
    _globals['_VERSION']._serialized_end = 160
    _globals['_METHOD']._serialized_start = 162
    _globals['_METHOD']._serialized_end = 185
    _globals['_REQUESTCONFIG']._serialized_start = 188
    _globals['_REQUESTCONFIG']._serialized_end = 404
    _globals['_STATUS']._serialized_start = 406
    _globals['_STATUS']._serialized_end = 444
    _globals['_RESPONSECONFIG']._serialized_start = 447
    _globals['_RESPONSECONFIG']._serialized_end = 651
    _globals['_CONFIG']._serialized_start = 654
    _globals['_CONFIG']._serialized_end = 804
