mirror of
https://github.com/denoland/deno.git
synced 2025-08-04 19:08:15 +00:00
refactor: rewrite more ops to op2 macro (#20478)
This commit is contained in:
parent
dc505e905e
commit
5e7435fb80
6 changed files with 83 additions and 65 deletions
|
@ -20,7 +20,7 @@ use deno_core::futures::stream::Peekable;
|
|||
use deno_core::futures::FutureExt;
|
||||
use deno_core::futures::StreamExt;
|
||||
use deno_core::futures::TryFutureExt;
|
||||
use deno_core::op;
|
||||
use deno_core::op2;
|
||||
use deno_core::unsync::spawn;
|
||||
use deno_core::AsyncRefCell;
|
||||
use deno_core::AsyncResult;
|
||||
|
@ -511,10 +511,11 @@ struct NextRequestResponse(
|
|||
String,
|
||||
);
|
||||
|
||||
#[op]
|
||||
#[op2(async)]
|
||||
#[serde]
|
||||
async fn op_http_accept(
|
||||
state: Rc<RefCell<OpState>>,
|
||||
rid: ResourceId,
|
||||
#[smi] rid: ResourceId,
|
||||
) -> Result<Option<NextRequestResponse>, AnyError> {
|
||||
let conn = state.borrow().resource_table.get::<HttpConnResource>(rid)?;
|
||||
|
||||
|
@ -613,13 +614,13 @@ fn req_headers(
|
|||
headers
|
||||
}
|
||||
|
||||
#[op]
|
||||
#[op2(async)]
|
||||
async fn op_http_write_headers(
|
||||
state: Rc<RefCell<OpState>>,
|
||||
rid: u32,
|
||||
status: u16,
|
||||
headers: Vec<(ByteString, ByteString)>,
|
||||
data: Option<StringOrBuffer>,
|
||||
#[smi] rid: u32,
|
||||
#[smi] status: u16,
|
||||
#[serde] headers: Vec<(ByteString, ByteString)>,
|
||||
#[serde] data: Option<StringOrBuffer>,
|
||||
) -> Result<(), AnyError> {
|
||||
let stream = state
|
||||
.borrow_mut()
|
||||
|
@ -683,10 +684,11 @@ async fn op_http_write_headers(
|
|||
}
|
||||
}
|
||||
|
||||
#[op]
|
||||
#[op2]
|
||||
#[serde]
|
||||
fn op_http_headers(
|
||||
state: &mut OpState,
|
||||
rid: u32,
|
||||
#[smi] rid: u32,
|
||||
) -> Result<Vec<(ByteString, ByteString)>, AnyError> {
|
||||
let stream = state.resource_table.get::<HttpStreamResource>(rid)?;
|
||||
let rd = RcRef::map(&stream, |r| &r.rd)
|
||||
|
@ -832,11 +834,11 @@ fn should_compress(headers: &hyper::HeaderMap) -> bool {
|
|||
.unwrap_or_default()
|
||||
}
|
||||
|
||||
#[op]
|
||||
#[op2(async)]
|
||||
async fn op_http_write_resource(
|
||||
state: Rc<RefCell<OpState>>,
|
||||
rid: ResourceId,
|
||||
stream: ResourceId,
|
||||
#[smi] rid: ResourceId,
|
||||
#[smi] stream: ResourceId,
|
||||
) -> Result<(), AnyError> {
|
||||
let http_stream = state
|
||||
.borrow()
|
||||
|
@ -891,11 +893,11 @@ async fn op_http_write_resource(
|
|||
Ok(())
|
||||
}
|
||||
|
||||
#[op]
|
||||
#[op2(async)]
|
||||
async fn op_http_write(
|
||||
state: Rc<RefCell<OpState>>,
|
||||
rid: ResourceId,
|
||||
buf: JsBuffer,
|
||||
#[smi] rid: ResourceId,
|
||||
#[buffer] buf: JsBuffer,
|
||||
) -> Result<(), AnyError> {
|
||||
let stream = state
|
||||
.borrow()
|
||||
|
@ -944,10 +946,10 @@ async fn op_http_write(
|
|||
/// Gracefully closes the write half of the HTTP stream. Note that this does not
|
||||
/// remove the HTTP stream resource from the resource table; it still has to be
|
||||
/// closed with `Deno.core.close()`.
|
||||
#[op]
|
||||
#[op2(async)]
|
||||
async fn op_http_shutdown(
|
||||
state: Rc<RefCell<OpState>>,
|
||||
rid: ResourceId,
|
||||
#[smi] rid: ResourceId,
|
||||
) -> Result<(), AnyError> {
|
||||
let stream = state
|
||||
.borrow()
|
||||
|
@ -979,8 +981,11 @@ async fn op_http_shutdown(
|
|||
Ok(())
|
||||
}
|
||||
|
||||
#[op]
|
||||
fn op_http_websocket_accept_header(key: String) -> Result<String, AnyError> {
|
||||
#[op2]
|
||||
#[string]
|
||||
fn op_http_websocket_accept_header(
|
||||
#[string] key: String,
|
||||
) -> Result<String, AnyError> {
|
||||
let digest = ring::digest::digest(
|
||||
&ring::digest::SHA1_FOR_LEGACY_USE_ONLY,
|
||||
format!("{key}258EAFA5-E914-47DA-95CA-C5AB0DC85B11").as_bytes(),
|
||||
|
@ -988,10 +993,11 @@ fn op_http_websocket_accept_header(key: String) -> Result<String, AnyError> {
|
|||
Ok(base64::encode(digest))
|
||||
}
|
||||
|
||||
#[op]
|
||||
#[op2(async)]
|
||||
#[smi]
|
||||
async fn op_http_upgrade_websocket(
|
||||
state: Rc<RefCell<OpState>>,
|
||||
rid: ResourceId,
|
||||
#[smi] rid: ResourceId,
|
||||
) -> Result<ResourceId, AnyError> {
|
||||
let stream = state
|
||||
.borrow_mut()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue