//===-- llvm/Support/HTTPClient.h - HTTP client library ---------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// /// /// \file /// This file contains the declarations of the HTTPClient library for issuing /// HTTP requests and handling the responses. /// //===----------------------------------------------------------------------===// #ifndef LLVM_DEBUGINFOD_HTTPCLIENT_H #define LLVM_DEBUGINFOD_HTTPCLIENT_H #include "llvm/ADT/SmallString.h" #include "llvm/ADT/SmallVector.h" #include "llvm/Support/Error.h" #include "llvm/Support/MemoryBuffer.h" #include <chrono> namespace llvm { enum class HTTPMethod { … }; /// A stateless description of an outbound HTTP request. struct HTTPRequest { … }; bool operator==(const HTTPRequest &A, const HTTPRequest &B); /// A handler for state updates occurring while an HTTPRequest is performed. /// Can trigger the client to abort the request by returning an Error from any /// of its methods. class HTTPResponseHandler { … }; /// A reusable client that can perform HTTPRequests through a network socket. class HTTPClient { … }; } // end namespace llvm #endif // LLVM_DEBUGINFOD_HTTPCLIENT_H