In-process ResponseRecorder and test Request. No real listen.
struct ResponseRecorder
pub struct ResponseRecorder {
pub code int
pub hdr string
pub body string
pub wrote int
}
Purpose
`net/http/httptest` subset: in-process ResponseRecorder, new_request, and a loopback Server (Listen + goroutine Accept). write_header after the first write is ignored. header_set is recorded until then. new_request keeps a path; `http://host/path` is stripped to `/path`. Server binds 127.0.0.1 on an ephemeral high port (no getsockname); close unblocks Accept.
Parameters
code int- code
hdr string- field (string)
body string- body
wrote int- field (int)
(ResponseRecorder) result_code
pub fn (r ResponseRecorder) result_code() int
Purpose
Method on `ResponseRecorder`: result code.
Parameters
r ResponseRecorder- receiver ResponseRecorder (value receiver)
Returns
int — a value of this type
(ResponseRecorder) result_body
pub fn (r ResponseRecorder) result_body() string
Purpose
Method on `ResponseRecorder`: result body.
Parameters
r ResponseRecorder- receiver ResponseRecorder (value receiver)
Returns
string — result string
new_server
pub fn new_server(handle fn(http.Context)) Server
Purpose
Construct server. Throws on failure.
Parameters
handle fn(http.Context)- handle (function value; type fn(http.Context))
Returns
Server — a value of this type
(&mut Server) close
pub fn (s &mut Server) close() int
Purpose
Method on `&mut Server`: close the resource.
Parameters
s &mut Server- receiver &mut Server (exclusive borrow)
Returns
int — a value of this type