Fix content-type parsing issue; refine http parser.

This commit is contained in:
Chunting Gu
2019-04-15 12:53:43 +08:00
parent 5e1b14e74d
commit df4bb33bd8
9 changed files with 76 additions and 51 deletions
+1 -2
View File
@@ -50,8 +50,7 @@ int main(int argc, char* argv[]) {
webcc::HttpClientSession session;
try {
// auto r = session.PostFile(url, "file",
// upload_dir / "remember.txt");
//auto r = session.PostFile(url, "file", upload_dir / "remember.txt");
auto r = session.Request(webcc::HttpRequestBuilder{}.Post().
Url(url).
+2 -1
View File
@@ -109,7 +109,8 @@ void CreateAuthorization(webcc::HttpClientSession& session,
const std::string& auth) {
try {
std::string data = "{'note': 'Webcc test', 'scopes': ['public_repo', 'repo', 'repo:status', 'user']}";
std::string data = "{'note': 'Webcc test', 'scopes': ['public_repo',\
'repo', 'repo:status', 'user']}";
auto r = session.Post(kUrlRoot + "/authorizations", std::move(data), true,
{"Authorization", auth});
+16 -11
View File
@@ -15,12 +15,12 @@ bool kSslVerify = true;
void ExampleBasic() {
webcc::HttpClientSession session;
auto r = session.Request(webcc::HttpRequestBuilder{}
.Get()
.Url("http://httpbin.org/get")
.Query("key1", "value1")
.Query("key2", "value2")
.Header("Accept", "application/json")());
auto r = session.Request(webcc::HttpRequestBuilder{}.Get().
Url("http://httpbin.org/get").
Query("key1", "value1").
Query("key2", "value2").
Header("Accept", "application/json")
());
std::cout << r->content() << std::endl;
}
@@ -36,20 +36,23 @@ void ExampleShortcut() {
std::cout << r->content() << std::endl;
}
#if WEBCC_ENABLE_SSL
// HTTPS is auto-detected from the URL scheme.
void ExampleHttps() {
webcc::HttpClientSession session;
session.set_ssl_verify(kSslVerify);
auto r = session.Request(webcc::HttpRequestBuilder{}
.Get()
.Url("https://httpbin.org/get")
.Query("key1", "value1")
.Header("Accept", "application/json")());
auto r = session.Request(webcc::HttpRequestBuilder{}.Get().
Url("https://httpbin.org/get").
Query("key1", "value1").
Header("Accept", "application/json")());
std::cout << r->content() << std::endl;
}
#endif // WEBCC_ENABLE_SSL
// Example for testing Keep-Alive connection.
//
// Boost.org doesn't support persistent connection so always includes
@@ -106,6 +109,8 @@ void ExampleImage(const std::string& path) {
int main() {
WEBCC_LOG_INIT("", webcc::LOG_CONSOLE);
webcc::HttpClientSession session;
try {
ExampleBasic();