#include #include #include #include #include #include #include #include #include #include #include endpoint RequestServer { init_transport(int peer_pid) => (int peer_pid) connect_new_client() => (IPC::TransportHandle handle) connect_new_clients(size_t count) => (Vector handles) set_disk_cache_settings(HTTP::DiskCacheSettings disk_cache_settings) =| // use_tls: enable DNS over TLS set_dns_server(ByteString host_or_address, u16 port, bool use_tls, bool validate_dnssec_locally) =| set_use_system_dns() =| // Test if a specific protocol is supported, e.g "http" is_supported_protocol(ByteString protocol) => (bool supported) start_request(u64 request_id, ByteString method, URL::URL url, Vector request_headers, ByteBuffer request_body, HTTP::CacheMode cache_mode, HTTP::Cookie::IncludeCredentials include_credentials, Core::ProxyData proxy_data) =| stop_request(u64 request_id) => (bool success) set_certificate(u64 request_id, ByteString certificate, ByteString key) => (bool success) ensure_connection(u64 request_id, URL::URL url, ::RequestServer::CacheLevel cache_level) =| retrieved_http_cookie(int client_id, u64 request_id, ::RequestServer::RequestType request_type, String cookie) =| estimate_cache_size_accessed_since(u64 cache_size_estimation_id, UnixDateTime since) =| remove_cache_entries_accessed_since(UnixDateTime since) =| store_cache_associated_data(URL::URL url, ByteString method, Vector request_headers, Optional vary_key, HTTP::CacheEntryAssociatedData associated_data, Core::AnonymousBuffer data) => (bool stored) retrieve_cache_associated_data(URL::URL url, ByteString method, Vector request_headers, Optional vary_key, HTTP::CacheEntryAssociatedData associated_data) => (Optional data) // Websocket Connection API websocket_connect(u64 websocket_id, URL::URL url, ByteString origin, Vector protocols, Vector extensions, Vector additional_request_headers) =| websocket_send(u64 websocket_id, bool is_text, ByteBuffer data) =| websocket_close(u64 websocket_id, u16 code, ByteString reason) =| websocket_set_certificate(u64 request_id, ByteString certificate, ByteString key) => (bool success) }