httpavonz
A simple service for generating different HTTP codes. It's a Rust re-implementation of https://httpstat.us, built just for fun.
It's useful for testing how your own scripts deal with varying responses.
How it works
Just append the status code you want in the URL, for example htt.pavonz.com/401 and it'll return a response like the following:
$ curl -v "https://htt.pavonz.com/401"
* Trying 1.2.3.4:80...
* Connected to htt.pavonz.com (1.2.3.4) port 80 (#0)
> GET /401 HTTP/1.1
> Host: htt.pavonz.com
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 401 Unauthorized
< content-type: text/plain; charset=utf-8
< www-authenticate: Basic realm="Fake Realm"
< content-length: 16
< server: httpavonz
< access-control-allow-origin: *
...
< date: Fri, 07 Oct 2022 09:48:38 GMT
<
* Connection #0 to host htt.pavonz.com left intact
401 Unauthorized
Supported status codes
- 100 - Continue
- 101 - Switching Protocols
- 102 - Processing
- 103 - Early Hints
- 200 - OK
- 201 - Created
- 202 - Accepted
- 203 - Non-Authoritative Information
- 204 - No Content
- 205 - Reset Content
- 206 - Partial Content
- 207
- 208 - Already Reported
- 226
- 300 - Multiple Choices
- 301 - Moved Permanently
- 302 - Found
- 303 - See Other
- 304 - Not Modified
- 305 - Use Proxy
- 306 - Switch Proxy
- 307 - Temporary Redirect
- 308 - Permanent Redirect
- 400 - Bad Request
- 401 - Unauthorized
- 402 - Payment Required
- 403 - Forbidden
- 404 - Not Found
- 405 - Method Not Allowed
- 406 - Not Acceptable
- 407 - Proxy Authentication Required
- 408 - Request Timeout
- 409 - Conflict
- 410 - Gone
- 411 - Length Required
- 412 - Precondition Failed
- 413 - Request Entity Too Large
- 414 - Request-URI Too Long
- 415 - Unsupported Media Type
- 416 - Requested Range Not Satisfiable
- 417 - Expectation Failed
- 418
- 421 - Misdirected Request
- 422 - Unprocessable Entity
- 423 - Locked
- 425 - Too Early
- 426 - Upgrade Required
- 428 - Precondition Required
- 429 - Too Many Requests
- 431 - Request Header Fields Too Large
- 451 - Unavailable For Legal Reasons
- 500 - Internal Server Error
- 501 - Not Implemented
- 502 - Bad Gateway
- 503 - Service Unavailable
- 504 - Gateway Timeout
- 505 - HTTP Version Not Supported
- 506 - Variant Also Negotiates
- 507 - Insufficient Storage
- 508
- 510
- 511 - Network Authentication Required
- 520 - Web Server Returned an Unknown Error
- 521 - Web Server Is Down
- 522 - Connection Timed out
- 523 - Origin Is Unreachable
- 524 - A Timeout Occurred
- 525 - SSL Handshake Failed
- 526 - Invalid SSL Certificate
- 527 - Railgun Error
- 530
Other features
JSON responses
To get a JSON response back, you need to set
Accept
header to application/json
. Then
it'll JSON encode the response and send the
Content-Type
header accordingly.
Delayed replies
If you want a delay on the response add a query string
sleep
(the time is in ms, max 5 minutes), like this:
htt.pavonz.com/200?sleep=5000
CORS
All endpoints have been configured to allow all origins, headers, and HTTP methods.
Unknown codes
If you send any other three digit number that's not in that list, it'll return it too. Or, send a PR to add full support for a new code.
Credits
The authors of httpstat.us for their brillant idea and execution.