// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: fetch_msg_types.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_fetch_5fmsg_5ftypes_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_fetch_5fmsg_5ftypes_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3021000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3021006 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/message_lite.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/map.h>  // IWYU pragma: export
#include <google/protobuf/map_entry_lite.h>
#include <google/protobuf/map_field_lite.h>
#include <google/protobuf/generated_enum_util.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_fetch_5fmsg_5ftypes_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_fetch_5fmsg_5ftypes_2eproto {
  static const uint32_t offsets[];
};
namespace mozilla {
namespace appservices {
namespace httpconfig {
namespace protobuf {
class Request;
struct RequestDefaultTypeInternal;
extern RequestDefaultTypeInternal _Request_default_instance_;
class Request_HeadersEntry_DoNotUse;
struct Request_HeadersEntry_DoNotUseDefaultTypeInternal;
extern Request_HeadersEntry_DoNotUseDefaultTypeInternal _Request_HeadersEntry_DoNotUse_default_instance_;
class Response;
struct ResponseDefaultTypeInternal;
extern ResponseDefaultTypeInternal _Response_default_instance_;
class Response_HeadersEntry_DoNotUse;
struct Response_HeadersEntry_DoNotUseDefaultTypeInternal;
extern Response_HeadersEntry_DoNotUseDefaultTypeInternal _Response_HeadersEntry_DoNotUse_default_instance_;
}  // namespace protobuf
}  // namespace httpconfig
}  // namespace appservices
}  // namespace mozilla
PROTOBUF_NAMESPACE_OPEN
template<> ::mozilla::appservices::httpconfig::protobuf::Request* Arena::CreateMaybeMessage<::mozilla::appservices::httpconfig::protobuf::Request>(Arena*);
template<> ::mozilla::appservices::httpconfig::protobuf::Request_HeadersEntry_DoNotUse* Arena::CreateMaybeMessage<::mozilla::appservices::httpconfig::protobuf::Request_HeadersEntry_DoNotUse>(Arena*);
template<> ::mozilla::appservices::httpconfig::protobuf::Response* Arena::CreateMaybeMessage<::mozilla::appservices::httpconfig::protobuf::Response>(Arena*);
template<> ::mozilla::appservices::httpconfig::protobuf::Response_HeadersEntry_DoNotUse* Arena::CreateMaybeMessage<::mozilla::appservices::httpconfig::protobuf::Response_HeadersEntry_DoNotUse>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace mozilla {
namespace appservices {
namespace httpconfig {
namespace protobuf {

enum Request_Method : int {
  Request_Method_GET = 0,
  Request_Method_HEAD = 1,
  Request_Method_POST = 2,
  Request_Method_PUT = 3,
  Request_Method_DELETE = 4,
  Request_Method_CONNECT = 5,
  Request_Method_OPTIONS = 6,
  Request_Method_TRACE = 7,
  Request_Method_PATCH = 8
};
bool Request_Method_IsValid(int value);
constexpr Request_Method Request_Method_Method_MIN = Request_Method_GET;
constexpr Request_Method Request_Method_Method_MAX = Request_Method_PATCH;
constexpr int Request_Method_Method_ARRAYSIZE = Request_Method_Method_MAX + 1;

const std::string& Request_Method_Name(Request_Method value);
template<typename T>
inline const std::string& Request_Method_Name(T enum_t_value) {
  static_assert(::std::is_same<T, Request_Method>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function Request_Method_Name.");
  return Request_Method_Name(static_cast<Request_Method>(enum_t_value));
}
bool Request_Method_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Request_Method* value);
// ===================================================================

class Request_HeadersEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntryLite<Request_HeadersEntry_DoNotUse, 
    std::string, std::string,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> {
public:
  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntryLite<Request_HeadersEntry_DoNotUse, 
    std::string, std::string,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> SuperType;
  Request_HeadersEntry_DoNotUse();
  explicit PROTOBUF_CONSTEXPR Request_HeadersEntry_DoNotUse(
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  explicit Request_HeadersEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void MergeFrom(const Request_HeadersEntry_DoNotUse& other);
  static const Request_HeadersEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const Request_HeadersEntry_DoNotUse*>(&_Request_HeadersEntry_DoNotUse_default_instance_); }
  static bool ValidateKey(void*) { return true; }
  static bool ValidateValue(void*) { return true; }
  friend struct ::TableStruct_fetch_5fmsg_5ftypes_2eproto;
};

// -------------------------------------------------------------------

class Request final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.appservices.httpconfig.protobuf.Request) */ {
 public:
  inline Request() : Request(nullptr) {}
  ~Request() override;
  explicit PROTOBUF_CONSTEXPR Request(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  Request(const Request& from);
  Request(Request&& from) noexcept
    : Request() {
    *this = ::std::move(from);
  }

  inline Request& operator=(const Request& from) {
    CopyFrom(from);
    return *this;
  }
  inline Request& operator=(Request&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const Request& default_instance() {
    return *internal_default_instance();
  }
  static inline const Request* internal_default_instance() {
    return reinterpret_cast<const Request*>(
               &_Request_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(Request& a, Request& b) {
    a.Swap(&b);
  }
  inline void Swap(Request* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Request* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  Request* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Request>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const Request& from);
  void MergeFrom(const Request& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(Request* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mozilla.appservices.httpconfig.protobuf.Request";
  }
  protected:
  explicit Request(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------


  typedef Request_Method Method;
  static constexpr Method GET =
    Request_Method_GET;
  static constexpr Method HEAD =
    Request_Method_HEAD;
  static constexpr Method POST =
    Request_Method_POST;
  static constexpr Method PUT =
    Request_Method_PUT;
  static constexpr Method DELETE =
    Request_Method_DELETE;
  static constexpr Method CONNECT =
    Request_Method_CONNECT;
  static constexpr Method OPTIONS =
    Request_Method_OPTIONS;
  static constexpr Method TRACE =
    Request_Method_TRACE;
  static constexpr Method PATCH =
    Request_Method_PATCH;
  static inline bool Method_IsValid(int value) {
    return Request_Method_IsValid(value);
  }
  static constexpr Method Method_MIN =
    Request_Method_Method_MIN;
  static constexpr Method Method_MAX =
    Request_Method_Method_MAX;
  static constexpr int Method_ARRAYSIZE =
    Request_Method_Method_ARRAYSIZE;
  template<typename T>
  static inline const std::string& Method_Name(T enum_t_value) {
    static_assert(::std::is_same<T, Method>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function Method_Name.");
    return Request_Method_Name(enum_t_value);
  }
  static inline bool Method_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      Method* value) {
    return Request_Method_Parse(name, value);
  }

  // accessors -------------------------------------------------------

  enum : int {
    kHeadersFieldNumber = 4,
    kUrlFieldNumber = 2,
    kBodyFieldNumber = 3,
    kMethodFieldNumber = 1,
    kFollowRedirectsFieldNumber = 5,
    kUseCachesFieldNumber = 6,
    kConnectTimeoutSecsFieldNumber = 7,
    kReadTimeoutSecsFieldNumber = 8,
  };
  // map<string, string> headers = 4;
  int headers_size() const;
  private:
  int _internal_headers_size() const;
  public:
  void clear_headers();
  private:
  const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >&
      _internal_headers() const;
  ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >*
      _internal_mutable_headers();
  public:
  const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >&
      headers() const;
  ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >*
      mutable_headers();

  // required string url = 2;
  bool has_url() const;
  private:
  bool _internal_has_url() const;
  public:
  void clear_url();
  const std::string& url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_url();
  PROTOBUF_NODISCARD std::string* release_url();
  void set_allocated_url(std::string* url);
  private:
  const std::string& _internal_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_url(const std::string& value);
  std::string* _internal_mutable_url();
  public:

  // optional bytes body = 3;
  bool has_body() const;
  private:
  bool _internal_has_body() const;
  public:
  void clear_body();
  const std::string& body() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_body(ArgT0&& arg0, ArgT... args);
  std::string* mutable_body();
  PROTOBUF_NODISCARD std::string* release_body();
  void set_allocated_body(std::string* body);
  private:
  const std::string& _internal_body() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_body(const std::string& value);
  std::string* _internal_mutable_body();
  public:

  // required .mozilla.appservices.httpconfig.protobuf.Request.Method method = 1;
  bool has_method() const;
  private:
  bool _internal_has_method() const;
  public:
  void clear_method();
  ::mozilla::appservices::httpconfig::protobuf::Request_Method method() const;
  void set_method(::mozilla::appservices::httpconfig::protobuf::Request_Method value);
  private:
  ::mozilla::appservices::httpconfig::protobuf::Request_Method _internal_method() const;
  void _internal_set_method(::mozilla::appservices::httpconfig::protobuf::Request_Method value);
  public:

  // required bool follow_redirects = 5;
  bool has_follow_redirects() const;
  private:
  bool _internal_has_follow_redirects() const;
  public:
  void clear_follow_redirects();
  bool follow_redirects() const;
  void set_follow_redirects(bool value);
  private:
  bool _internal_follow_redirects() const;
  void _internal_set_follow_redirects(bool value);
  public:

  // required bool use_caches = 6;
  bool has_use_caches() const;
  private:
  bool _internal_has_use_caches() const;
  public:
  void clear_use_caches();
  bool use_caches() const;
  void set_use_caches(bool value);
  private:
  bool _internal_use_caches() const;
  void _internal_set_use_caches(bool value);
  public:

  // required int32 connect_timeout_secs = 7;
  bool has_connect_timeout_secs() const;
  private:
  bool _internal_has_connect_timeout_secs() const;
  public:
  void clear_connect_timeout_secs();
  int32_t connect_timeout_secs() const;
  void set_connect_timeout_secs(int32_t value);
  private:
  int32_t _internal_connect_timeout_secs() const;
  void _internal_set_connect_timeout_secs(int32_t value);
  public:

  // required int32 read_timeout_secs = 8;
  bool has_read_timeout_secs() const;
  private:
  bool _internal_has_read_timeout_secs() const;
  public:
  void clear_read_timeout_secs();
  int32_t read_timeout_secs() const;
  void set_read_timeout_secs(int32_t value);
  private:
  int32_t _internal_read_timeout_secs() const;
  void _internal_set_read_timeout_secs(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:mozilla.appservices.httpconfig.protobuf.Request)
 private:
  class _Internal;

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::MapFieldLite<
        Request_HeadersEntry_DoNotUse,
        std::string, std::string,
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> headers_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr url_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr body_;
    int method_;
    bool follow_redirects_;
    bool use_caches_;
    int32_t connect_timeout_secs_;
    int32_t read_timeout_secs_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_fetch_5fmsg_5ftypes_2eproto;
};
// -------------------------------------------------------------------

class Response_HeadersEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntryLite<Response_HeadersEntry_DoNotUse, 
    std::string, std::string,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> {
public:
  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntryLite<Response_HeadersEntry_DoNotUse, 
    std::string, std::string,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> SuperType;
  Response_HeadersEntry_DoNotUse();
  explicit PROTOBUF_CONSTEXPR Response_HeadersEntry_DoNotUse(
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  explicit Response_HeadersEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void MergeFrom(const Response_HeadersEntry_DoNotUse& other);
  static const Response_HeadersEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const Response_HeadersEntry_DoNotUse*>(&_Response_HeadersEntry_DoNotUse_default_instance_); }
  static bool ValidateKey(void*) { return true; }
  static bool ValidateValue(void*) { return true; }
  friend struct ::TableStruct_fetch_5fmsg_5ftypes_2eproto;
};

// -------------------------------------------------------------------

class Response final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.appservices.httpconfig.protobuf.Response) */ {
 public:
  inline Response() : Response(nullptr) {}
  ~Response() override;
  explicit PROTOBUF_CONSTEXPR Response(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  Response(const Response& from);
  Response(Response&& from) noexcept
    : Response() {
    *this = ::std::move(from);
  }

  inline Response& operator=(const Response& from) {
    CopyFrom(from);
    return *this;
  }
  inline Response& operator=(Response&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const Response& default_instance() {
    return *internal_default_instance();
  }
  static inline const Response* internal_default_instance() {
    return reinterpret_cast<const Response*>(
               &_Response_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(Response& a, Response& b) {
    a.Swap(&b);
  }
  inline void Swap(Response* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Response* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  Response* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Response>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const Response& from);
  void MergeFrom(const Response& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(Response* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mozilla.appservices.httpconfig.protobuf.Response";
  }
  protected:
  explicit Response(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------


  // accessors -------------------------------------------------------

  enum : int {
    kHeadersFieldNumber = 5,
    kExceptionMessageFieldNumber = 1,
    kUrlFieldNumber = 2,
    kBodyFieldNumber = 4,
    kStatusFieldNumber = 3,
  };
  // map<string, string> headers = 5;
  int headers_size() const;
  private:
  int _internal_headers_size() const;
  public:
  void clear_headers();
  private:
  const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >&
      _internal_headers() const;
  ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >*
      _internal_mutable_headers();
  public:
  const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >&
      headers() const;
  ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >*
      mutable_headers();

  // optional string exception_message = 1;
  bool has_exception_message() const;
  private:
  bool _internal_has_exception_message() const;
  public:
  void clear_exception_message();
  const std::string& exception_message() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_exception_message(ArgT0&& arg0, ArgT... args);
  std::string* mutable_exception_message();
  PROTOBUF_NODISCARD std::string* release_exception_message();
  void set_allocated_exception_message(std::string* exception_message);
  private:
  const std::string& _internal_exception_message() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_exception_message(const std::string& value);
  std::string* _internal_mutable_exception_message();
  public:

  // optional string url = 2;
  bool has_url() const;
  private:
  bool _internal_has_url() const;
  public:
  void clear_url();
  const std::string& url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_url();
  PROTOBUF_NODISCARD std::string* release_url();
  void set_allocated_url(std::string* url);
  private:
  const std::string& _internal_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_url(const std::string& value);
  std::string* _internal_mutable_url();
  public:

  // optional bytes body = 4;
  bool has_body() const;
  private:
  bool _internal_has_body() const;
  public:
  void clear_body();
  const std::string& body() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_body(ArgT0&& arg0, ArgT... args);
  std::string* mutable_body();
  PROTOBUF_NODISCARD std::string* release_body();
  void set_allocated_body(std::string* body);
  private:
  const std::string& _internal_body() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_body(const std::string& value);
  std::string* _internal_mutable_body();
  public:

  // optional int32 status = 3;
  bool has_status() const;
  private:
  bool _internal_has_status() const;
  public:
  void clear_status();
  int32_t status() const;
  void set_status(int32_t value);
  private:
  int32_t _internal_status() const;
  void _internal_set_status(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:mozilla.appservices.httpconfig.protobuf.Response)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::MapFieldLite<
        Response_HeadersEntry_DoNotUse,
        std::string, std::string,
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> headers_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr exception_message_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr url_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr body_;
    int32_t status_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_fetch_5fmsg_5ftypes_2eproto;
};
// ===================================================================


// ===================================================================

#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// -------------------------------------------------------------------

// Request

// required .mozilla.appservices.httpconfig.protobuf.Request.Method method = 1;
inline bool Request::_internal_has_method() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool Request::has_method() const {
  return _internal_has_method();
}
inline void Request::clear_method() {
  _impl_.method_ = 0;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline ::mozilla::appservices::httpconfig::protobuf::Request_Method Request::_internal_method() const {
  return static_cast< ::mozilla::appservices::httpconfig::protobuf::Request_Method >(_impl_.method_);
}
inline ::mozilla::appservices::httpconfig::protobuf::Request_Method Request::method() const {
  // @@protoc_insertion_point(field_get:mozilla.appservices.httpconfig.protobuf.Request.method)
  return _internal_method();
}
inline void Request::_internal_set_method(::mozilla::appservices::httpconfig::protobuf::Request_Method value) {
  assert(::mozilla::appservices::httpconfig::protobuf::Request_Method_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.method_ = value;
}
inline void Request::set_method(::mozilla::appservices::httpconfig::protobuf::Request_Method value) {
  _internal_set_method(value);
  // @@protoc_insertion_point(field_set:mozilla.appservices.httpconfig.protobuf.Request.method)
}

// required string url = 2;
inline bool Request::_internal_has_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool Request::has_url() const {
  return _internal_has_url();
}
inline void Request::clear_url() {
  _impl_.url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& Request::url() const {
  // @@protoc_insertion_point(field_get:mozilla.appservices.httpconfig.protobuf.Request.url)
  return _internal_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Request::set_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:mozilla.appservices.httpconfig.protobuf.Request.url)
}
inline std::string* Request::mutable_url() {
  std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:mozilla.appservices.httpconfig.protobuf.Request.url)
  return _s;
}
inline const std::string& Request::_internal_url() const {
  return _impl_.url_.Get();
}
inline void Request::_internal_set_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.url_.Set(value, GetArenaForAllocation());
}
inline std::string* Request::_internal_mutable_url() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.url_.Mutable(GetArenaForAllocation());
}
inline std::string* Request::release_url() {
  // @@protoc_insertion_point(field_release:mozilla.appservices.httpconfig.protobuf.Request.url)
  if (!_internal_has_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void Request::set_allocated_url(std::string* url) {
  if (url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.url_.SetAllocated(url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:mozilla.appservices.httpconfig.protobuf.Request.url)
}

// optional bytes body = 3;
inline bool Request::_internal_has_body() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool Request::has_body() const {
  return _internal_has_body();
}
inline void Request::clear_body() {
  _impl_.body_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& Request::body() const {
  // @@protoc_insertion_point(field_get:mozilla.appservices.httpconfig.protobuf.Request.body)
  return _internal_body();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Request::set_body(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.body_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:mozilla.appservices.httpconfig.protobuf.Request.body)
}
inline std::string* Request::mutable_body() {
  std::string* _s = _internal_mutable_body();
  // @@protoc_insertion_point(field_mutable:mozilla.appservices.httpconfig.protobuf.Request.body)
  return _s;
}
inline const std::string& Request::_internal_body() const {
  return _impl_.body_.Get();
}
inline void Request::_internal_set_body(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.body_.Set(value, GetArenaForAllocation());
}
inline std::string* Request::_internal_mutable_body() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.body_.Mutable(GetArenaForAllocation());
}
inline std::string* Request::release_body() {
  // @@protoc_insertion_point(field_release:mozilla.appservices.httpconfig.protobuf.Request.body)
  if (!_internal_has_body()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.body_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.body_.IsDefault()) {
    _impl_.body_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void Request::set_allocated_body(std::string* body) {
  if (body != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.body_.SetAllocated(body, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.body_.IsDefault()) {
    _impl_.body_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:mozilla.appservices.httpconfig.protobuf.Request.body)
}

// map<string, string> headers = 4;
inline int Request::_internal_headers_size() const {
  return _impl_.headers_.size();
}
inline int Request::headers_size() const {
  return _internal_headers_size();
}
inline void Request::clear_headers() {
  _impl_.headers_.Clear();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >&
Request::_internal_headers() const {
  return _impl_.headers_.GetMap();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >&
Request::headers() const {
  // @@protoc_insertion_point(field_map:mozilla.appservices.httpconfig.protobuf.Request.headers)
  return _internal_headers();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >*
Request::_internal_mutable_headers() {
  return _impl_.headers_.MutableMap();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >*
Request::mutable_headers() {
  // @@protoc_insertion_point(field_mutable_map:mozilla.appservices.httpconfig.protobuf.Request.headers)
  return _internal_mutable_headers();
}

// required bool follow_redirects = 5;
inline bool Request::_internal_has_follow_redirects() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool Request::has_follow_redirects() const {
  return _internal_has_follow_redirects();
}
inline void Request::clear_follow_redirects() {
  _impl_.follow_redirects_ = false;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline bool Request::_internal_follow_redirects() const {
  return _impl_.follow_redirects_;
}
inline bool Request::follow_redirects() const {
  // @@protoc_insertion_point(field_get:mozilla.appservices.httpconfig.protobuf.Request.follow_redirects)
  return _internal_follow_redirects();
}
inline void Request::_internal_set_follow_redirects(bool value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.follow_redirects_ = value;
}
inline void Request::set_follow_redirects(bool value) {
  _internal_set_follow_redirects(value);
  // @@protoc_insertion_point(field_set:mozilla.appservices.httpconfig.protobuf.Request.follow_redirects)
}

// required bool use_caches = 6;
inline bool Request::_internal_has_use_caches() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool Request::has_use_caches() const {
  return _internal_has_use_caches();
}
inline void Request::clear_use_caches() {
  _impl_.use_caches_ = false;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline bool Request::_internal_use_caches() const {
  return _impl_.use_caches_;
}
inline bool Request::use_caches() const {
  // @@protoc_insertion_point(field_get:mozilla.appservices.httpconfig.protobuf.Request.use_caches)
  return _internal_use_caches();
}
inline void Request::_internal_set_use_caches(bool value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.use_caches_ = value;
}
inline void Request::set_use_caches(bool value) {
  _internal_set_use_caches(value);
  // @@protoc_insertion_point(field_set:mozilla.appservices.httpconfig.protobuf.Request.use_caches)
}

// required int32 connect_timeout_secs = 7;
inline bool Request::_internal_has_connect_timeout_secs() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool Request::has_connect_timeout_secs() const {
  return _internal_has_connect_timeout_secs();
}
inline void Request::clear_connect_timeout_secs() {
  _impl_.connect_timeout_secs_ = 0;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline int32_t Request::_internal_connect_timeout_secs() const {
  return _impl_.connect_timeout_secs_;
}
inline int32_t Request::connect_timeout_secs() const {
  // @@protoc_insertion_point(field_get:mozilla.appservices.httpconfig.protobuf.Request.connect_timeout_secs)
  return _internal_connect_timeout_secs();
}
inline void Request::_internal_set_connect_timeout_secs(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.connect_timeout_secs_ = value;
}
inline void Request::set_connect_timeout_secs(int32_t value) {
  _internal_set_connect_timeout_secs(value);
  // @@protoc_insertion_point(field_set:mozilla.appservices.httpconfig.protobuf.Request.connect_timeout_secs)
}

// required int32 read_timeout_secs = 8;
inline bool Request::_internal_has_read_timeout_secs() const {
  bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool Request::has_read_timeout_secs() const {
  return _internal_has_read_timeout_secs();
}
inline void Request::clear_read_timeout_secs() {
  _impl_.read_timeout_secs_ = 0;
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline int32_t Request::_internal_read_timeout_secs() const {
  return _impl_.read_timeout_secs_;
}
inline int32_t Request::read_timeout_secs() const {
  // @@protoc_insertion_point(field_get:mozilla.appservices.httpconfig.protobuf.Request.read_timeout_secs)
  return _internal_read_timeout_secs();
}
inline void Request::_internal_set_read_timeout_secs(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000040u;
  _impl_.read_timeout_secs_ = value;
}
inline void Request::set_read_timeout_secs(int32_t value) {
  _internal_set_read_timeout_secs(value);
  // @@protoc_insertion_point(field_set:mozilla.appservices.httpconfig.protobuf.Request.read_timeout_secs)
}

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// Response

// optional string exception_message = 1;
inline bool Response::_internal_has_exception_message() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool Response::has_exception_message() const {
  return _internal_has_exception_message();
}
inline void Response::clear_exception_message() {
  _impl_.exception_message_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& Response::exception_message() const {
  // @@protoc_insertion_point(field_get:mozilla.appservices.httpconfig.protobuf.Response.exception_message)
  return _internal_exception_message();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Response::set_exception_message(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.exception_message_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:mozilla.appservices.httpconfig.protobuf.Response.exception_message)
}
inline std::string* Response::mutable_exception_message() {
  std::string* _s = _internal_mutable_exception_message();
  // @@protoc_insertion_point(field_mutable:mozilla.appservices.httpconfig.protobuf.Response.exception_message)
  return _s;
}
inline const std::string& Response::_internal_exception_message() const {
  return _impl_.exception_message_.Get();
}
inline void Response::_internal_set_exception_message(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.exception_message_.Set(value, GetArenaForAllocation());
}
inline std::string* Response::_internal_mutable_exception_message() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.exception_message_.Mutable(GetArenaForAllocation());
}
inline std::string* Response::release_exception_message() {
  // @@protoc_insertion_point(field_release:mozilla.appservices.httpconfig.protobuf.Response.exception_message)
  if (!_internal_has_exception_message()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.exception_message_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.exception_message_.IsDefault()) {
    _impl_.exception_message_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void Response::set_allocated_exception_message(std::string* exception_message) {
  if (exception_message != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.exception_message_.SetAllocated(exception_message, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.exception_message_.IsDefault()) {
    _impl_.exception_message_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:mozilla.appservices.httpconfig.protobuf.Response.exception_message)
}

// optional string url = 2;
inline bool Response::_internal_has_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool Response::has_url() const {
  return _internal_has_url();
}
inline void Response::clear_url() {
  _impl_.url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& Response::url() const {
  // @@protoc_insertion_point(field_get:mozilla.appservices.httpconfig.protobuf.Response.url)
  return _internal_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Response::set_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:mozilla.appservices.httpconfig.protobuf.Response.url)
}
inline std::string* Response::mutable_url() {
  std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:mozilla.appservices.httpconfig.protobuf.Response.url)
  return _s;
}
inline const std::string& Response::_internal_url() const {
  return _impl_.url_.Get();
}
inline void Response::_internal_set_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.url_.Set(value, GetArenaForAllocation());
}
inline std::string* Response::_internal_mutable_url() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.url_.Mutable(GetArenaForAllocation());
}
inline std::string* Response::release_url() {
  // @@protoc_insertion_point(field_release:mozilla.appservices.httpconfig.protobuf.Response.url)
  if (!_internal_has_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void Response::set_allocated_url(std::string* url) {
  if (url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.url_.SetAllocated(url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:mozilla.appservices.httpconfig.protobuf.Response.url)
}

// optional int32 status = 3;
inline bool Response::_internal_has_status() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool Response::has_status() const {
  return _internal_has_status();
}
inline void Response::clear_status() {
  _impl_.status_ = 0;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline int32_t Response::_internal_status() const {
  return _impl_.status_;
}
inline int32_t Response::status() const {
  // @@protoc_insertion_point(field_get:mozilla.appservices.httpconfig.protobuf.Response.status)
  return _internal_status();
}
inline void Response::_internal_set_status(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.status_ = value;
}
inline void Response::set_status(int32_t value) {
  _internal_set_status(value);
  // @@protoc_insertion_point(field_set:mozilla.appservices.httpconfig.protobuf.Response.status)
}

// optional bytes body = 4;
inline bool Response::_internal_has_body() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool Response::has_body() const {
  return _internal_has_body();
}
inline void Response::clear_body() {
  _impl_.body_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const std::string& Response::body() const {
  // @@protoc_insertion_point(field_get:mozilla.appservices.httpconfig.protobuf.Response.body)
  return _internal_body();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Response::set_body(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000004u;
 _impl_.body_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:mozilla.appservices.httpconfig.protobuf.Response.body)
}
inline std::string* Response::mutable_body() {
  std::string* _s = _internal_mutable_body();
  // @@protoc_insertion_point(field_mutable:mozilla.appservices.httpconfig.protobuf.Response.body)
  return _s;
}
inline const std::string& Response::_internal_body() const {
  return _impl_.body_.Get();
}
inline void Response::_internal_set_body(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.body_.Set(value, GetArenaForAllocation());
}
inline std::string* Response::_internal_mutable_body() {
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.body_.Mutable(GetArenaForAllocation());
}
inline std::string* Response::release_body() {
  // @@protoc_insertion_point(field_release:mozilla.appservices.httpconfig.protobuf.Response.body)
  if (!_internal_has_body()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* p = _impl_.body_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.body_.IsDefault()) {
    _impl_.body_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void Response::set_allocated_body(std::string* body) {
  if (body != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.body_.SetAllocated(body, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.body_.IsDefault()) {
    _impl_.body_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:mozilla.appservices.httpconfig.protobuf.Response.body)
}

// map<string, string> headers = 5;
inline int Response::_internal_headers_size() const {
  return _impl_.headers_.size();
}
inline int Response::headers_size() const {
  return _internal_headers_size();
}
inline void Response::clear_headers() {
  _impl_.headers_.Clear();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >&
Response::_internal_headers() const {
  return _impl_.headers_.GetMap();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >&
Response::headers() const {
  // @@protoc_insertion_point(field_map:mozilla.appservices.httpconfig.protobuf.Response.headers)
  return _internal_headers();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >*
Response::_internal_mutable_headers() {
  return _impl_.headers_.MutableMap();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >*
Response::mutable_headers() {
  // @@protoc_insertion_point(field_mutable_map:mozilla.appservices.httpconfig.protobuf.Response.headers)
  return _internal_mutable_headers();
}

#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------


// @@protoc_insertion_point(namespace_scope)

}  // namespace protobuf
}  // namespace httpconfig
}  // namespace appservices
}  // namespace mozilla

PROTOBUF_NAMESPACE_OPEN

template <> struct is_proto_enum< ::mozilla::appservices::httpconfig::protobuf::Request_Method> : ::std::true_type {};

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

#include <google/protobuf/port_undef.inc>
#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_fetch_5fmsg_5ftypes_2eproto
