refactor(ffi): Add Reason-Phrase API
This adds an internal ability to copy the HTTP/1 reason-phrase and place it in the `http::Extensions` of a response, if it doesn't match the canonical reason. This could be exposed in the Rust API later, but for now it is only used by the C API.
This commit is contained in:
@@ -254,8 +254,10 @@ int main(int argc, char *argv[]) {
|
||||
hyper_task_free(task);
|
||||
|
||||
uint16_t http_status = hyper_response_status(resp);
|
||||
const uint8_t *rp = hyper_response_reason_phrase(resp);
|
||||
size_t rp_len = hyper_response_reason_phrase_len(resp);
|
||||
|
||||
printf("\nResponse Status: %d\n", http_status);
|
||||
printf("\nResponse Status: %d %.*s\n", http_status, (int) rp_len, rp);
|
||||
|
||||
hyper_headers *headers = hyper_response_headers(resp);
|
||||
hyper_headers_foreach(headers, print_each_header, NULL);
|
||||
|
||||
@@ -349,6 +349,26 @@ void hyper_response_free(hyper_response *resp);
|
||||
*/
|
||||
uint16_t hyper_response_status(const hyper_response *resp);
|
||||
|
||||
/*
|
||||
Get a pointer to the reason-phrase of this response.
|
||||
|
||||
This buffer is not null-terminated.
|
||||
|
||||
This buffer is owned by the response, and should not be used after
|
||||
the response has been freed.
|
||||
|
||||
Use `hyper_response_reason_phrase_len()` to get the length of this
|
||||
buffer.
|
||||
*/
|
||||
const uint8_t *hyper_response_reason_phrase(const hyper_response *resp);
|
||||
|
||||
/*
|
||||
Get the length of the reason-phrase of this response.
|
||||
|
||||
Use `hyper_response_reason_phrase()` to get the buffer pointer.
|
||||
*/
|
||||
size_t hyper_response_reason_phrase_len(const hyper_response *resp);
|
||||
|
||||
/*
|
||||
Get the HTTP version used by this response.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user