HTTP API
Declared by <huxerui/http.h>.
Request and response values
Section titled “Request and response values”HttpMethod:Get,Head,Post,Put,Patch,Delete,Options.HttpHeader: name and value.HttpRequest: URL, method (default GET), headers, body, and optional timeout (default 30 seconds;nulloptdisables it).HttpResponse: final URL, integer status code, headers, and body.
Errors and result
Section titled “Errors and result”HttpErrorCode is Transport, Timeout, or Unsupported. HttpError contains code and message. HttpResult constructs from response/error, reports HasResponse, and provides ref-qualified Response() plus lvalue Error() accessors; asking for the wrong alternative throws.
HttpClient
Section titled “HttpClient”Non-copyable root service. Send(HttpRequest) const -> Task<HttpResult>. Obtain it with UseService<HttpClient>(). Request cancellation follows the launched HuxerUI task execution.
Complete request example
Section titled “Complete request example”#include <huxerui/huxerui.h>
using namespace huxerui;
Task<void> LoadStatus(State<std::string> output) { auto http = UseService<HttpClient>(); HttpResult result = co_await http->Send({ .url = "https://example.com/status", .method = HttpMethod::Get, }); output = result.HasResponse() ? std::to_string(result.Response().status_code) : result.Error().message;}HTTP status codes are responses; transport, timeout, and unsupported-service failures use HttpError.

