Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 54 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Modern, non-blocking and exception free, header-only HTTP Client library for C++
* [POST request with form data](#post-request-with-form-data)
* [POST request with JSON data](#post-request-with-json-data)
* [What about others? (PUT, DELETE, PATCH)](#what-about-others-put-delete-patch)
* [How to ignore SSL certificate errors?](#how-to-ignore-ssl-certificate-errors)
* [Semantic Versioning](#semantic-versioning)
* [Full function list](#full-function-list)
* [License](#license)
Expand Down Expand Up @@ -336,6 +337,32 @@ int main() {
```


## How to ignore SSL certificate errors?

If you need to ignore SSL certificate errors for any valid reason, you can continue
working by passing **"true"** value to the **"ignoreSslErrors"** variable of the
HttpClient class.

```cpp
#include <fstream>
#include "libcpp-http-client.hpp"

using namespace lklibs;

int main() {

HttpClient httpClient;

// If you need to ignore SSL errors, you can set the "ignoreSslErrors" field to true
httpClient.ignoreSslErrors = true;

auto response = httpClient.getRequest("https://api.myinvalidssl.com").get();

return 0;
}
```


## Semantic Versioning

Versioning of the library is done using conventional semantic versioning. Accordingly,
Expand Down Expand Up @@ -363,49 +390,49 @@ overloaded versions of 5 functions in total.
```cpp
- getRequest
- std::future<HttpResult> getRequest(const std::string &url)
- std::future<HttpResult> getRequest(const std::string &url, bool returnAsBinary)
- std::future<HttpResult> getRequest(const std::string &url, const std::map<std::string, std::string> &headers)
- std::future<HttpResult> getRequest(const std::string &url, bool returnAsBinary, const std::map<std::string, std::string> &headers)
- std::future<HttpResult> getRequest(const std::string &url, bool returnAsBinary, bool ignoreSslErrors = false)
- std::future<HttpResult> getRequest(const std::string &url, const std::map<std::string, std::string> &headers, bool ignoreSslErrors = false)
- std::future<HttpResult> getRequest(const std::string &url, bool returnAsBinary, const std::map<std::string, std::string> &headers, bool ignoreSslErrors = false)


- postRequest
- std::future<HttpResult> postRequest(const std::string &url)
- std::future<HttpResult> postRequest(const std::string &url, const std::string &payload)
- std::future<HttpResult> postRequest(const std::string &url, bool returnAsBinary)
- std::future<HttpResult> postRequest(const std::string &url, const std::map<std::string, std::string> &headers)
- std::future<HttpResult> postRequest(const std::string &url, const std::string &payload, bool returnAsBinary)
- std::future<HttpResult> postRequest(const std::string &url, const std::string &payload, const std::map<std::string, std::string> &headers)
- std::future<HttpResult> postRequest(const std::string &url, bool returnAsBinary, const std::map<std::string, std::string> &headers)
- std::future<HttpResult> postRequest(const std::string &url, const std::string &payload, bool returnAsBinary, const std::map<std::string, std::string> &headers)
- std::future<HttpResult> postRequest(const std::string &url, const std::string &payload, bool ignoreSslErrors = false)
- std::future<HttpResult> postRequest(const std::string &url, bool returnAsBinary, bool ignoreSslErrors = false)
- std::future<HttpResult> postRequest(const std::string &url, const std::map<std::string, std::string> &headers, bool ignoreSslErrors = false)
- std::future<HttpResult> postRequest(const std::string &url, const std::string &payload, bool returnAsBinary, bool ignoreSslErrors = false)
- std::future<HttpResult> postRequest(const std::string &url, const std::string &payload, const std::map<std::string, std::string> &headers, bool ignoreSslErrors = false)
- std::future<HttpResult> postRequest(const std::string &url, bool returnAsBinary, const std::map<std::string, std::string> &headers, bool ignoreSslErrors = false)
- std::future<HttpResult> postRequest(const std::string &url, const std::string &payload, bool returnAsBinary, const std::map<std::string, std::string> &headers, bool ignoreSslErrors = false)


- putRequest
- std::future<HttpResult> putRequest(const std::string &url)
- std::future<HttpResult> putRequest(const std::string &url, const std::string &payload)
- std::future<HttpResult> putRequest(const std::string &url, bool returnAsBinary)
- std::future<HttpResult> putRequest(const std::string &url, const std::map<std::string, std::string> &headers)
- std::future<HttpResult> putRequest(const std::string &url, const std::string &payload, bool returnAsBinary)
- std::future<HttpResult> putRequest(const std::string &url, const std::string &payload, const std::map<std::string, std::string> &headers)
- std::future<HttpResult> putRequest(const std::string &url, bool returnAsBinary, const std::map<std::string, std::string> &headers)
- std::future<HttpResult> putRequest(const std::string &url, const std::string &payload, bool returnAsBinary, const std::map<std::string, std::string> &headers)
- std::future<HttpResult> putRequest(const std::string &url, const std::string &payload, bool ignoreSslErrors = false)
- std::future<HttpResult> putRequest(const std::string &url, bool returnAsBinary, bool ignoreSslErrors = false)
- std::future<HttpResult> putRequest(const std::string &url, const std::map<std::string, std::string> &headers, bool ignoreSslErrors = false)
- std::future<HttpResult> putRequest(const std::string &url, const std::string &payload, bool returnAsBinary, bool ignoreSslErrors = false)
- std::future<HttpResult> putRequest(const std::string &url, const std::string &payload, const std::map<std::string, std::string> &headers, bool ignoreSslErrors = false)
- std::future<HttpResult> putRequest(const std::string &url, bool returnAsBinary, const std::map<std::string, std::string> &headers, bool ignoreSslErrors = false)
- std::future<HttpResult> putRequest(const std::string &url, const std::string &payload, bool returnAsBinary, const std::map<std::string, std::string> &headers, bool ignoreSslErrors = false)


- deleteRequest
- std::future<HttpResult> deleteRequest(const std::string &url)
- std::future<HttpResult> deleteRequest(const std::string &url, const std::string &payload)
- std::future<HttpResult> deleteRequest(const std::string &url, bool returnAsBinary)
- std::future<HttpResult> deleteRequest(const std::string &url, const std::map<std::string, std::string> &headers)
- std::future<HttpResult> deleteRequest(const std::string &url, const std::string &payload, bool returnAsBinary)
- std::future<HttpResult> deleteRequest(const std::string &url, const std::string &payload, const std::map<std::string, std::string> &headers)
- std::future<HttpResult> deleteRequest(const std::string &url, bool returnAsBinary, const std::map<std::string, std::string> &headers)
- std::future<HttpResult> deleteRequest(const std::string &url, const std::string &payload, bool returnAsBinary, const std::map<std::string, std::string> &headers)
- std::future<HttpResult> deleteRequest(const std::string &url, const std::string &payload, bool ignoreSslErrors = false)
- std::future<HttpResult> deleteRequest(const std::string &url, bool returnAsBinary, bool ignoreSslErrors = false)
- std::future<HttpResult> deleteRequest(const std::string &url, const std::map<std::string, std::string> &headers, bool ignoreSslErrors = false)
- std::future<HttpResult> deleteRequest(const std::string &url, const std::string &payload, bool returnAsBinary, bool ignoreSslErrors = false)
- std::future<HttpResult> deleteRequest(const std::string &url, const std::string &payload, const std::map<std::string, std::string> &headers, bool ignoreSslErrors = false)
- std::future<HttpResult> deleteRequest(const std::string &url, bool returnAsBinary, const std::map<std::string, std::string> &headers, bool ignoreSslErrors = false)
- std::future<HttpResult> deleteRequest(const std::string &url, const std::string &payload, bool returnAsBinary, const std::map<std::string, std::string> &headers, bool ignoreSslErrors = false)


- patchRequest
- std::future<HttpResult> patchRequest(const std::string &url)
- std::future<HttpResult> patchRequest(const std::string &url, bool returnAsBinary)
- std::future<HttpResult> patchRequest(const std::string &url, const std::map<std::string, std::string> &headers)
- std::future<HttpResult> patchRequest(const std::string &url, bool returnAsBinary, const std::map<std::string, std::string> &headers)
- std::future<HttpResult> patchRequest(const std::string &url, bool returnAsBinary, bool ignoreSslErrors = false)
- std::future<HttpResult> patchRequest(const std::string &url, const std::map<std::string, std::string> &headers, bool ignoreSslErrors = false)
- std::future<HttpResult> patchRequest(const std::string &url, bool returnAsBinary, const std::map<std::string, std::string> &headers, bool ignoreSslErrors = false)
```


Expand Down
16 changes: 16 additions & 0 deletions examples/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,20 @@ void simplePatch() {
std::cout << "Data: " << response.textData << std::endl;
}

void ignoreSslErrors() {

HttpClient httpClient;

// If you need to ignore SSL errors, you can set the "ignoreSslErrors" field to true
httpClient.ignoreSslErrors = true;

auto response = httpClient.getRequest("https://self-signed-cert.httpbun.com").get();

std::cout << "Succeed: " << response.succeed << std::endl;
std::cout << "Http Status Code: " << response.statusCode << std::endl;
std::cout << "Data: " << response.textData << std::endl;
}


int main() {

Expand All @@ -183,5 +197,7 @@ int main() {

simplePatch();

ignoreSslErrors();

return 0;
}
Loading