mist/internal/http2
Types
pub type HpackContext
pub type HpackError {
Compression
BadHeaderPacket(BitArray)
}
Constructors
-
Compression -
BadHeaderPacket(BitArray)
pub type Http2Settings {
Http2Settings(
header_table_size: Int,
server_push: frame.PushState,
max_concurrent_streams: Int,
initial_window_size: Int,
max_frame_size: Int,
max_header_list_size: option.Option(Int),
)
}
Constructors
-
Http2Settings( header_table_size: Int, server_push: frame.PushState, max_concurrent_streams: Int, initial_window_size: Int, max_frame_size: Int, max_header_list_size: option.Option(Int), )
Values
pub fn default_settings() -> Http2Settings
pub fn encode_headers(
context: HpackContext,
headers: List(#(String, String)),
end_stream: Bool,
stream_identifier: frame.StreamIdentifier(frame.Frame),
max_frame_size: Int,
) -> Result(#(BitArray, HpackContext), String)
pub fn encode_response(
resp: response.Response(bytes_tree.BytesTree),
context: HpackContext,
id: frame.StreamIdentifier(frame.Frame),
max_frame_size: Int,
) -> Result(#(BitArray, HpackContext), String)
pub fn hpack_decode(
context: HpackContext,
bin: BitArray,
) -> Result(#(List(#(String, String)), HpackContext), HpackError)
pub fn hpack_encode(
context: HpackContext,
headers: List(#(String, String)),
) -> Result(#(BitArray, HpackContext), error)
pub fn hpack_max_table_size(
context: HpackContext,
size: Int,
) -> HpackContext
pub fn hpack_new_context(size: Int) -> HpackContext
pub fn send_body(
conn: http.Connection,
before: BitArray,
data: BitArray,
stream_identifier: frame.StreamIdentifier(frame.Frame),
end_stream: Bool,
max_frame_size: Int,
) -> Result(Nil, String)
pub fn send_encoded(
conn: http.Connection,
encoded: BitArray,
) -> Result(Nil, String)
pub fn send_frame(
frame_to_send: frame.Frame,
socket: socket.Socket,
transport: transport.Transport,
) -> Result(Nil, socket.SocketReason)
pub fn send_headers(
context: HpackContext,
conn: http.Connection,
headers: List(#(String, String)),
end_stream: Bool,
stream_identifier: frame.StreamIdentifier(frame.Frame),
max_frame_size: Int,
) -> Result(HpackContext, String)
pub fn update_settings(
current: Http2Settings,
settings: List(frame.Setting),
) -> Http2Settings