feat(ffi): add http1_allow_multiline_headers (#2918)

This commit is contained in:
deantvv
2022-07-20 03:18:09 +08:00
committed by GitHub
parent 3660443108
commit 09e35668e5
2 changed files with 23 additions and 0 deletions

View File

@@ -402,6 +402,16 @@ enum hyper_code hyper_clientconn_options_http2(struct hyper_clientconn_options *
enum hyper_code hyper_clientconn_options_headers_raw(struct hyper_clientconn_options *opts,
int enabled);
/*
Set whether HTTP/1 connections will accept obsolete line folding for header values.
Newline codepoints (\r and \n) will be transformed to spaces when parsing.
Pass `0` to disable, `1` to enable.
*/
enum hyper_code hyper_clientconn_options_http1_allow_multiline_headers(struct hyper_clientconn_options *opts,
int enabled);
/*
Frees a `hyper_error`.
*/

View File

@@ -179,3 +179,16 @@ ffi_fn! {
hyper_code::HYPERE_OK
}
}
ffi_fn! {
/// Set whether HTTP/1 connections will accept obsolete line folding for header values.
/// Newline codepoints (\r and \n) will be transformed to spaces when parsing.
///
/// Pass `0` to disable, `1` to enable.
///
fn hyper_clientconn_options_http1_allow_multiline_headers(opts: *mut hyper_clientconn_options, enabled: c_int) -> hyper_code {
let opts = non_null! { &mut *opts ?= hyper_code::HYPERE_INVALID_ARG };
opts.builder.http1_allow_obsolete_multiline_headers_in_responses(enabled != 0);
hyper_code::HYPERE_OK
}
}