2023-02-10 09:13:30 +00:00
|
|
|
use io;
|
2023-02-10 13:09:23 +00:00
|
|
|
use os;
|
2023-02-10 09:13:30 +00:00
|
|
|
|
|
|
|
// Stores state related to an HTTP response.
|
|
|
|
export type response = struct {
|
2023-02-10 13:09:23 +00:00
|
|
|
// HTTP protocol version (major, minor)
|
|
|
|
version: (uint, uint),
|
2023-02-10 09:13:30 +00:00
|
|
|
// The HTTP status for this request as an integer.
|
|
|
|
status: uint,
|
|
|
|
// The HTTP status reason phrase.
|
|
|
|
reason: str,
|
|
|
|
// The HTTP headers provided by the server.
|
|
|
|
header: header,
|
|
|
|
// The response body, if any.
|
2023-02-11 10:30:20 +00:00
|
|
|
body: nullable *io::stream,
|
2023-02-10 09:13:30 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// Frees state associated with an HTTP [[response]].
|
|
|
|
export fn response_finish(resp: *response) void = {
|
|
|
|
header_free(&resp.header);
|
2023-02-10 13:09:23 +00:00
|
|
|
free(resp.reason);
|
2023-02-11 10:30:20 +00:00
|
|
|
free(resp.body);
|
2023-02-10 09:13:30 +00:00
|
|
|
};
|