self
Set accept_status_code
to the expected response HTTP code, defaults to 200.
If a different status code is received, the return code is printed to stderr.
Returns the response body on success and null
on error. Prints the error
message to stderr.
For more control, set HTTP request headers, keep the response status code
and much more, use CurlHTTPRequest
.
assert "http://example.com/".http_get != null
# Execute a simple HTTP GET request to the URL `self`
#
# Set `accept_status_code` to the expected response HTTP code, defaults to 200.
# If a different status code is received, the return code is printed to stderr.
#
# Returns the response body on success and `null` on error. Prints the error
# message to stderr.
#
# For more control, set HTTP request headers, keep the response status code
# and much more, use `CurlHTTPRequest`.
#
# ~~~nitish
# assert "http://example.com/".http_get != null
# ~~~
fun http_get(accept_status_code: nullable Int): nullable String
do
var req = new CurlHTTPRequest(self.to_s)
var resp = req.execute
req.close
if resp isa CurlResponseSuccess then
if resp.status_code == (accept_status_code or else 200) then
return resp.body_str
else
print_error "HTTP request failed: server returned {resp.status_code}"
end
else if resp isa CurlResponseFailed then
print_error "HTTP request failed: {resp.error_msg}"
else abort
return null
end
lib/curl/extra.nit:22,2--52,4