MCPcopy Create free account
hub / github.com/Pagghiu/SaneCppLibraries / sendRequest

Method sendRequest

Libraries/Http/HttpAsyncClient.cpp:46–76  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

44}
45
46Result HttpAsyncClient::sendRequest(AsyncEventLoop& loop, const RequestOptions& options)
47{
48 RequestPreset preset;
49 preset.method = options.method;
50 preset.url = options.url;
51 preset.keepAlive = options.keepAlive;
52 preset.autoSend = true;
53 preset.headers = options.headers;
54
55 switch (options.bodyMode)
56 {
57 case RequestOptions::BodyMode::None: break;
58 case RequestOptions::BodyMode::Span:
59 preset.bodyMode = RequestPreset::BodyMode::Span;
60 preset.bodySpan = options.body;
61 break;
62 case RequestOptions::BodyMode::Stream:
63 SC_TRY_MSG(options.bodyStream != nullptr, "HttpAsyncClient RequestOptions body stream missing");
64 preset.bodyMode = RequestPreset::BodyMode::Stream;
65 preset.bodyStream = options.bodyStream;
66 preset.contentLength = options.bodyLength;
67 break;
68 case RequestOptions::BodyMode::Multipart:
69 SC_TRY_MSG(options.multipartWriter != nullptr, "HttpAsyncClient RequestOptions multipart writer missing");
70 preset.bodyMode = RequestPreset::BodyMode::Multipart;
71 preset.multipartWriter = options.multipartWriter;
72 break;
73 }
74
75 return startRequest(loop, preset);
76}
77
78Result HttpAsyncClient::get(AsyncEventLoop& loop, StringSpan url, bool keepAlive)
79{

Callers 1

requestOptionsMethod · 0.80

Calls

no outgoing calls

Tested by 1

requestOptionsMethod · 0.64