diff --git a/nginx_module/src/http_request.rs b/nginx_module/src/http_request.rs index 76e625a..6bd6f5d 100644 --- a/nginx_module/src/http_request.rs +++ b/nginx_module/src/http_request.rs @@ -627,7 +627,7 @@ impl<'a> HeaderList<'a> { std::slice::from_raw_parts_mut(part.elts as *mut ngx_table_elt_t, part.nelts) }; for elem in elems { - if unsafe { NgxStr::from_raw(elem.key) } == name { + if unsafe { NgxStr::from_raw(elem.key) }.eq_ignore_ascii_case(&name) { elem.value = value.inner(); } } diff --git a/nginx_module/src/ngx_str.rs b/nginx_module/src/ngx_str.rs index f480a6b..3b6a06b 100644 --- a/nginx_module/src/ngx_str.rs +++ b/nginx_module/src/ngx_str.rs @@ -183,6 +183,10 @@ impl<'a> NgxStr<'a> { pub const fn is_empty(self) -> bool { self.inner.len == 0 } + + pub fn eq_ignore_ascii_case(self, other: &NgxStr<'_>) -> bool { + self.as_bytes().eq_ignore_ascii_case(other.as_bytes()) + } } impl<'a> Builder<'a> {