Files
core/test/rust/fixtures/http.dever
T
2026-11-03 03:32:07 +00:00

44 lines
1.6 KiB
Plaintext

route(request: dever.http.Request) (response: dever.http.Response) {
response = dever.http.Response { status = 200, headers = [dever.http.header("x-test", "one"), dever.http.header("x-test", "two")], body = request.body }
}
serve(listener: dever.system.Listener) () {
dever.http.serve(route, listener, dever.http.defaultLimits())
}
scheduledRoute(request: dever.http.Request) (response: dever.http.Response) {
task = run(route(request))
response = wait(task)
}
invalidLimits() () {
listener = dever.net.listen("127.0.0.1", 0)
limits = dever.http.defaultLimits()
limits.connections = 0
dever.http.serve(route, listener, limits)
}
verify() (answer: Bool) {
listener = dever.net.listen("127.0.0.1", 0)
server = run(serve(listener))
port = dever.net.port(listener)
request = dever.http.Request { method = "POST", target = "/echo?item=1", headers = [dever.http.header("Host", "fixture.test")], body = dever.bytes.fromText("雪") }
response = dever.http.send("127.0.0.1", port, request, dever.http.defaultLimits())
dever.net.closeListener(listener)
wait(server)
answer = response.status == 200 and response.body == request.body and dever.http.headerValue(response.headers, "X-TEST") == dever.bytes.fromText("one")
}
cancelled() (answer: Bool) {
listener = dever.net.listen("127.0.0.1", 0)
server = run(serve(listener))
stop(server)
dever.net.closeListener(listener)
answer = true
}
invalid() (response: dever.http.Response) {
request = dever.http.Request { method = "GET", target = "/", headers = [dever.http.header("Host", "fixture.test")], body = dever.bytes.fromText("") }
response = dever.http.send("invalid-address", 80, request, dever.http.defaultLimits())
}