#include <AK/URL.h>
#include <RequestServer/ConnectionCache.h>

endpoint RequestServer
{
    // Test if a specific protocol is supported, e.g "http"
    is_supported_protocol(String protocol) => (bool supported)

    start_request(String method, URL url, IPC::Dictionary request_headers, ByteBuffer request_body) => (i32 request_id, Optional<IPC::File> response_fd)
    stop_request(i32 request_id) => (bool success)
    set_certificate(i32 request_id, String certificate, String key) => (bool success)

    ensure_connection(URL url, ::RequestServer::CacheLevel cache_level) =|
}
