Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/anthonator/errawr-http

Raise 4xx and 5xx HTTP status code errors using Errawr
https://github.com/anthonator/errawr-http

Last synced: 6 days ago
JSON representation

Raise 4xx and 5xx HTTP status code errors using Errawr

Awesome Lists containing this project

README

        

# Errawr::HTTP

Raise 4xx and 5xx HTTP status code errors using Errawr.

[![Build Status](https://travis-ci.org/anthonator/errawr-http.png?branch=master)](https://travis-ci.org/anthonator/errawr-http) [![Dependency Status](https://gemnasium.com/anthonator/errawr-http.png)](https://gemnasium.com/anthonator/errawr-http) [![Coverage Status](https://coveralls.io/repos/anthonator/errawr-http/badge.png)](https://coveralls.io/r/anthonator/errawr-http) [![Code Climate](https://codeclimate.com/github/anthonator/errawr-http.png)](https://codeclimate.com/github/anthonator/errawr-http)

## Installation

Add this line to your application's Gemfile:

gem 'errawr-http'

And then execute:

$ bundle

Or install it yourself as:

$ gem install errawr-http

## Usage

### Raise HTTP Error

```ruby
begin
Errawr.error!(:bad_request)
rescue => e
puts e.message # => Will return "Bad Request"
puts e.context[:http_status] # => Will return 400
end
```

### Supported 4xx Status Codes

| Message | HTTP Status Code | Symbol |
| -------------------------------- | ---------------- | -------------------------------- |
| Bad Request | 400 | :bad_request |
| Unauthorized | 401 | :unauthorized |
| Payment Required | 402 | :payment_required |
| Forbidden | 403 | :forbidden |
| Not Found | 404 | :not_found |
| Method Not Allowed | 405 | :method_not_allowed |
| Not Acceptable | 406 | :not_acceptable |
| Proxy Authentication Required | 407 | :proxy_authentication_required |
| Request Timeout | 408 | :request_timeout |
| Conflict | 409 | :conflict |
| Gone | 410 | :gone |
| Length Required | 411 | :length_required |
| Precondition Failed | 412 | :precondition_failed |
| Request Entity Too Large | 413 | :request_entity_too_large |
| Request-URI Too Long | 414 | :request_uri_too_long |
| Unsupported Media Type | 415 | :unsupported_media_type |
| Request Range Not Satisfiable | 416 | :requested_range_not_satisfiable |
| Expectation Failed | 417 | :expectation_failed |
| Unprocessable Entity | 422 | :unprocessable_entity |
| Locked | 423 | :locked |
| Failed Dependency | 424 | :failed_dependency |
| Upgrade Required | 426 | :upgrade_required |
| Precondition Required | 428 | :precondition_required |
| Too Many Requests | 429 | :too_many_requests |
| Request Header Fields Too Large | 431 | :request_header_fields_too_large |

### Supported 5xx Status Codes

| Message | HTTP Status Code | Symbol |
| -------------------------------- | ---------------- | -------------------------------- |
| Internal Server Error | 500 | :internal_server_error |
| Not Implemented | 501 | :not_implemented |
| Bad Gateway | 502 | :bad_gateway |
| Service Unavailable | 503 | :service_unavailable |
| Gateway Timeout | 504 | :gateway_timeout |
| HTTP Version Not Supported | 505 | :http_version_not_supported |
| Variant Also Negotiates | 506 | :variant_also_negotiates |
| Insufficient Storage | 507 | :insufficient_storage |
| Loop Detected | 508 | :loop_detected |
| Not Extended | 510 | :not_extended |
| Network Authentication Required | 511 | :network_authentication_required |

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

## Credits

[![Sticksnleaves](http://sticksnleaves-wordpress.herokuapp.com/wp-content/themes/sticksnleaves/images/snl-logo-116x116.png)](http://www.sticksnleaves.com)

Errawr::HTTP is maintained and funded by [Sticksnleaves](http://www.sticksnleaves.com)

Thanks to all of our [contributors](https://github.com/anthonator/errawr-http/graphs/contributors)