Skip to content

Commit

Permalink
fix format
Browse files Browse the repository at this point in the history
  • Loading branch information
lalitb committed Sep 1, 2020
1 parent 0f4592b commit a993179
Show file tree
Hide file tree
Showing 2 changed files with 153 additions and 186 deletions.
164 changes: 80 additions & 84 deletions api/include/opentelemetry/http/http_client.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,45 +20,44 @@ OPENTELEMETRY_BEGIN_NAMESPACE
namespace http
{


enum class HttpResult: uint8_t
enum class HttpResult : uint8_t
{
// Response has been received successfully from target server.
HttpResult_OK = 0,
// Response has been received successfully from target server.
HttpResult_OK = 0,

// Request has been aborted by the caller. The server might or
// might not have already received or processed the request.
HttpResult_Aborted = 1,
// Request has been aborted by the caller. The server might or
// might not have already received or processed the request.
HttpResult_Aborted = 1,

// Local conditions have prevented the request from being sent
// (invalid request parameters, out of memory, internal error etc.)
HttpResult_LocalFailure = 2,
// Local conditions have prevented the request from being sent
// (invalid request parameters, out of memory, internal error etc.)
HttpResult_LocalFailure = 2,

// Network conditions somewhere between the local machine and
// the target server have caused the request to fail
// (connection failed, connection dropped abruptly etc.).
HttpResult_NetworkFailure = 3
// Network conditions somewhere between the local machine and
// the target server have caused the request to fail
// (connection failed, connection dropped abruptly etc.).
HttpResult_NetworkFailure = 3

};

// The HttpHeaders class contains a set of HTTP headers.
class HttpHeaders
{
public:
// Inserts a name/value pair, and removes elements with the same name.
virtual void set(nostd::string_view const& name, nostd::string_view const& value) = 0;
// Inserts a name/value pair, and removes elements with the same name.
virtual void set(nostd::string_view const &name, nostd::string_view const &value) = 0;

// Inserts a name/value pair
virtual void add(nostd::string_view const& name, nostd::string_view const& value) = 0;
// Inserts a name/value pair
virtual void add(nostd::string_view const &name, nostd::string_view const &value) = 0;

// Gets a string value given a name
// Returns:
// If there are multiple headers with same name, it returns any one of the value (implementation defined)
// Empty string if there is no header with speicfied name..
virtual nostd::string_view const& get(nostd::string_view const& name) const = 0;
// Gets a string value given a name
// Returns:
// If there are multiple headers with same name, it returns any one of the value
// (implementation defined) Empty string if there is no header with speicfied name..
virtual nostd::string_view const &get(nostd::string_view const &name) const = 0;

// Tests whether the headers contain the specified name.
virtual bool has(nostd::string_view const& name) const = 0;
// Tests whether the headers contain the specified name.
virtual bool has(nostd::string_view const &name) const = 0;
};

// The HttpRequest class represents a Request object.
Expand All @@ -69,23 +68,23 @@ class HttpHeaders
class HttpRequest
{
public:
// Gets the request ID.
virtual const nostd::string_view& GetId() const = 0;
// Gets the request ID.
virtual const nostd::string_view &GetId() const = 0;

// Sets the request Method
virtual void SetMethod(nostd::string_view const& method) = 0;
// Sets the request Method
virtual void SetMethod(nostd::string_view const &method) = 0;

// Gets the request URI
virtual void SetUrl(nostd::string_view const& url) = 0;
// Gets the request URI
virtual void SetUrl(nostd::string_view const &url) = 0;

// Gets the request Headers
virtual HttpHeaders* GetHeaders() const = 0;
// Gets the request Headers
virtual HttpHeaders *GetHeaders() const = 0;

// Sets the request body
virtual void SetBody(const uint8_t* const body, const size_t len) = 0;
// Sets the request body
virtual void SetBody(const uint8_t *const body, const size_t len) = 0;

// Gets the request body
virtual void GetBody(uint8_t* body, size_t& len) = 0;
// Gets the request body
virtual void GetBody(uint8_t *body, size_t &len) = 0;
};

// The HttpResponse class represents a Response object.
Expand All @@ -97,69 +96,66 @@ class HttpRequest
class HttpResponse
{
public:
// Gets the response ID.
virtual const nostd::string_view& GetId() = 0;
// Gets the response ID.
virtual const nostd::string_view &GetId() = 0;

// Get the response result code.
virtual HttpResult GetResult() = 0;
// Get the response result code.
virtual HttpResult GetResult() = 0;

// Gets the response status code.
virtual unsigned GetStatusCode() = 0;
// Gets the response status code.
virtual unsigned GetStatusCode() = 0;

// Gets the response headers.
virtual HttpHeaders* GetHeaders() = 0;
// Gets the response headers.
virtual HttpHeaders *GetHeaders() = 0;

// Gets the response body.
virtual void GetBody(uint8_t* body, size_t& len) = 0;
// Gets the response body.
virtual void GetBody(uint8_t *body, size_t &len) = 0;
};

// The HttpResponseCallback class receives HTTP client responses
class HttpResponseCallback
{
public:
// Called when an HTTP request completes.
// The passed response object contains details about the exact way the
// request finished (HTTP status code, headers, content, error codes
// etc.). The ownership of the response object is transferred to the
// callback object. It can store it for later if necessary. Finally, it
// must be deleted using its virtual destructor.
virtual void OnHttpResponse(HttpResponse* response) = 0;
// Called when an HTTP request completes.
// The passed response object contains details about the exact way the
// request finished (HTTP status code, headers, content, error codes
// etc.). The ownership of the response object is transferred to the
// callback object. It can store it for later if necessary. Finally, it
// must be deleted using its virtual destructor.
virtual void OnHttpResponse(HttpResponse *response) = 0;
};

// The HttpClient class is the interface for HTTP client implementations.
class HttpClient
{
public:

// Creates an empty HTTP request object.
// The created request object has only its ID prepopulated. Other fields
// must be set by the caller. The request object can then be sent
// using SendRequestAsync(). If you are not going to use the request object
// then you can delete it safely using its virtual destructor.
virtual HttpRequest* CreateRequest() = 0;

// Begins an HTTP request.
// The method takes ownership of the passed request, and can destroy it before
// returning to the caller. Do not access the request object in any
// way after this invocation, and do not delete it.
// The callback object is always called, even if the request is
// cancelled, or if an error occurs immediately during sending. In the
// latter case, the OnHttpResponse() callback is called before this
// method returns. You must keep the callback object alive until its
// OnHttpResponse() callback is called.
virtual void SendRequestAsync(HttpRequest* request, HttpResponseCallback* callback) = 0;

// Cancels an HTTP request.
// The caller must provide a string ID returned earlier by request->GetId().
// The request is cancelled asynchronously. The caller must still
// wait for the relevant OnHttpResponse() callback (it can just come
// earlier with some "aborted" error status).
virtual void CancelRequestAsync(nostd::string_view const& id) = 0;

virtual void CancelAllRequests()
{
}
// Creates an empty HTTP request object.
// The created request object has only its ID prepopulated. Other fields
// must be set by the caller. The request object can then be sent
// using SendRequestAsync(). If you are not going to use the request object
// then you can delete it safely using its virtual destructor.
virtual HttpRequest *CreateRequest() = 0;

// Begins an HTTP request.
// The method takes ownership of the passed request, and can destroy it before
// returning to the caller. Do not access the request object in any
// way after this invocation, and do not delete it.
// The callback object is always called, even if the request is
// cancelled, or if an error occurs immediately during sending. In the
// latter case, the OnHttpResponse() callback is called before this
// method returns. You must keep the callback object alive until its
// OnHttpResponse() callback is called.
virtual void SendRequestAsync(HttpRequest *request, HttpResponseCallback *callback) = 0;

// Cancels an HTTP request.
// The caller must provide a string ID returned earlier by request->GetId().
// The request is cancelled asynchronously. The caller must still
// wait for the relevant OnHttpResponse() callback (it can just come
// earlier with some "aborted" error status).
virtual void CancelRequestAsync(nostd::string_view const &id) = 0;

virtual void CancelAllRequests() {}
};

} // namespace nostd
} // namespace http
OPENTELEMETRY_END_NAMESPACE
Loading

0 comments on commit a993179

Please sign in to comment.