pub trait Host {
Show 33 methods
// Required methods
fn drop_fields(&mut self, fields: Fields) -> Result<()>;
fn new_fields(&mut self, entries: Vec<(String, String)>) -> Result<Fields>;
fn fields_get(
&mut self,
fields: Fields,
name: String
) -> Result<Vec<String>>;
fn fields_set(
&mut self,
fields: Fields,
name: String,
value: Vec<String>
) -> Result<()>;
fn fields_delete(&mut self, fields: Fields, name: String) -> Result<()>;
fn fields_append(
&mut self,
fields: Fields,
name: String,
value: String
) -> Result<()>;
fn fields_entries(
&mut self,
fields: Fields
) -> Result<Vec<(String, String)>>;
fn fields_clone(&mut self, fields: Fields) -> Result<Fields>;
fn finish_incoming_stream(
&mut self,
s: IncomingStream
) -> Result<Option<Trailers>>;
fn finish_outgoing_stream(
&mut self,
s: OutgoingStream,
trailers: Option<Trailers>
) -> Result<()>;
fn drop_incoming_request(&mut self, request: IncomingRequest) -> Result<()>;
fn drop_outgoing_request(&mut self, request: OutgoingRequest) -> Result<()>;
fn incoming_request_method(
&mut self,
request: IncomingRequest
) -> Result<Method>;
fn incoming_request_path(
&mut self,
request: IncomingRequest
) -> Result<String>;
fn incoming_request_query(
&mut self,
request: IncomingRequest
) -> Result<String>;
fn incoming_request_scheme(
&mut self,
request: IncomingRequest
) -> Result<Option<Scheme>>;
fn incoming_request_authority(
&mut self,
request: IncomingRequest
) -> Result<String>;
fn incoming_request_headers(
&mut self,
request: IncomingRequest
) -> Result<Headers>;
fn incoming_request_consume(
&mut self,
request: IncomingRequest
) -> Result<Result<IncomingStream, ()>>;
fn new_outgoing_request(
&mut self,
method: Method,
path: String,
query: String,
scheme: Option<Scheme>,
authority: String,
headers: Headers
) -> Result<OutgoingRequest>;
fn outgoing_request_write(
&mut self,
request: OutgoingRequest
) -> Result<Result<OutgoingStream, ()>>;
fn drop_response_outparam(
&mut self,
response: ResponseOutparam
) -> Result<()>;
fn set_response_outparam(
&mut self,
param: ResponseOutparam,
response: Result<OutgoingResponse, Error>
) -> Result<Result<(), ()>>;
fn drop_incoming_response(
&mut self,
response: IncomingResponse
) -> Result<()>;
fn drop_outgoing_response(
&mut self,
response: OutgoingResponse
) -> Result<()>;
fn incoming_response_status(
&mut self,
response: IncomingResponse
) -> Result<StatusCode>;
fn incoming_response_headers(
&mut self,
response: IncomingResponse
) -> Result<Headers>;
fn incoming_response_consume(
&mut self,
response: IncomingResponse
) -> Result<Result<IncomingStream, ()>>;
fn new_outgoing_response(
&mut self,
status_code: StatusCode,
headers: Headers
) -> Result<OutgoingResponse>;
fn outgoing_response_write(
&mut self,
response: OutgoingResponse
) -> Result<Result<OutgoingStream, ()>>;
fn drop_future_incoming_response(
&mut self,
f: FutureIncomingResponse
) -> Result<()>;
fn future_incoming_response_get(
&mut self,
f: FutureIncomingResponse
) -> Result<Option<Result<IncomingResponse, Error>>>;
fn listen_to_future_incoming_response(
&mut self,
f: FutureIncomingResponse
) -> Result<Pollable>;
}