Skip to content

Commit

Permalink
Merge branch 'main' into ext_node_http_upgrade
Browse files Browse the repository at this point in the history
  • Loading branch information
bartlomieju authored Jun 13, 2023
2 parents d2897cb + d2c6384 commit 44f50d2
Showing 1 changed file with 13 additions and 5 deletions.
18 changes: 13 additions & 5 deletions ext/http/http_next.rs
Original file line number Diff line number Diff line change
Expand Up @@ -376,12 +376,17 @@ pub fn op_http_read_request_body(
}

#[op(fast)]
pub fn op_http_set_response_header(slab_id: SlabId, name: &str, value: &str) {
pub fn op_http_set_response_header(
slab_id: SlabId,
name: ByteString,
value: ByteString,
) {
let mut http = slab_get(slab_id);
let resp_headers = http.response().headers_mut();
// These are valid latin-1 strings
let name = HeaderName::from_bytes(name.as_bytes()).unwrap();
let value = HeaderValue::from_bytes(value.as_bytes()).unwrap();
let name = HeaderName::from_bytes(&name).unwrap();
// SAFETY: These are valid latin-1 strings
let value = unsafe { HeaderValue::from_maybe_shared_unchecked(value) };
resp_headers.append(name, value);
}

Expand Down Expand Up @@ -410,7 +415,9 @@ fn op_http_set_response_headers(
let v8_name: ByteString = from_v8(scope, name).unwrap();
let v8_value: ByteString = from_v8(scope, value).unwrap();
let header_name = HeaderName::from_bytes(&v8_name).unwrap();
let header_value = HeaderValue::from_bytes(&v8_value).unwrap();
let header_value =
// SAFETY: These are valid latin-1 strings
unsafe { HeaderValue::from_maybe_shared_unchecked(v8_value) };
resp_headers.append(header_name, header_value);
}
}
Expand All @@ -425,7 +432,8 @@ pub fn op_http_set_response_trailers(
for (name, value) in trailers {
// These are valid latin-1 strings
let name = HeaderName::from_bytes(&name).unwrap();
let value = HeaderValue::from_bytes(&value).unwrap();
// SAFETY: These are valid latin-1 strings
let value = unsafe { HeaderValue::from_maybe_shared_unchecked(value) };
trailer_map.append(name, value);
}
*http.trailers().borrow_mut() = Some(trailer_map);
Expand Down

0 comments on commit 44f50d2

Please sign in to comment.