Class: Pragma::Operation::Response
- Inherits:
-
Object
- Object
- Pragma::Operation::Response
- Defined in:
- lib/pragma/operation/response.rb,
lib/pragma/operation/response/ok.rb,
lib/pragma/operation/response/created.rb,
lib/pragma/operation/response/conflict.rb,
lib/pragma/operation/response/forbidden.rb,
lib/pragma/operation/response/not_found.rb,
lib/pragma/operation/response/no_content.rb,
lib/pragma/operation/response/bad_request.rb,
lib/pragma/operation/response/unauthorized.rb,
lib/pragma/operation/response/payment_required.rb,
lib/pragma/operation/response/service_unavailable.rb,
lib/pragma/operation/response/unprocessable_entity.rb,
lib/pragma/operation/response/internal_server_error.rb
Overview
Represents an HTTP response. Provides utilities to deal with status codes and such.
Direct Known Subclasses
BadRequest, Conflict, Created, Forbidden, InternalServerError, NoContent, NotFound, Ok, PaymentRequired, ServiceUnavailable, Unauthorized, UnprocessableEntity
Defined Under Namespace
Classes: BadRequest, Conflict, Created, Forbidden, InternalServerError, NoContent, NotFound, Ok, PaymentRequired, ServiceUnavailable, Unauthorized, UnprocessableEntity
Constant Summary collapse
- STATUSES =
{ 100 => :continue, 101 => :switching_protocols, 102 => :processing, 200 => :ok, 201 => :created, 202 => :accepted, 203 => :non_authoritative_information, 204 => :no_content, 205 => :reset_content, 206 => :partial_content, 207 => :multi_status, 208 => :already_reported, 300 => :multiple_choices, 301 => :moved_permanently, 302 => :found, 303 => :see_other, 304 => :not_modified, 305 => :use_proxy, 307 => :temporary_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_large, 415 => :unsupported_media_type, 416 => :request_range_not_satisfiable, 417 => :expectation_failed, 418 => :im_a_teapot, 422 => :unprocessable_entity, 423 => :locked, 424 => :failed_dependency, 425 => :unordered_collection, 426 => :upgrade_required, 428 => :precondition_required, 429 => :too_many_requests, 431 => :request_header_fields_too_large, 449 => :retry_with, 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, 509 => :bandwidth_limit_exceeded, 510 => :not_extended, 511 => :network_authentication_required }.freeze
Instance Attribute Summary collapse
-
#entity ⇒ Object
The entity/body of the response.
-
#headers ⇒ Hash
The headers of the response.
-
#status ⇒ Object
Returns the value of attribute status.
Instance Method Summary collapse
-
#decorate_with(decorator) ⇒ Response
Applies a decorator to the response’s entity.
-
#failure? ⇒ Boolean
Returns whether the response has a failed HTTP status code, by checking whether the status code is 4xx or 5xx.
-
#initialize(status: 200, entity: nil, headers: {}) ⇒ Response
constructor
Initializes the response.
-
#success? ⇒ Boolean
Returns whether the response has a successful HTTP status code, by checking whether the status code is 1xx, 2xx or 3xx.
Constructor Details
#initialize(status: 200, entity: nil, headers: {}) ⇒ Response
Initializes the response.
84 85 86 87 88 |
# File 'lib/pragma/operation/response.rb', line 84 def initialize(status: 200, entity: nil, headers: {}) self.status = status self.entity = entity self.headers = headers end |
Instance Attribute Details
#entity ⇒ Object
Returns the entity/body of the response.
73 74 75 |
# File 'lib/pragma/operation/response.rb', line 73 def entity @entity end |
#headers ⇒ Hash
Returns the headers of the response.
73 |
# File 'lib/pragma/operation/response.rb', line 73 attr_accessor :entity, :headers |
#status ⇒ Object
Returns the value of attribute status.
77 78 79 |
# File 'lib/pragma/operation/response.rb', line 77 def status @status end |
Instance Method Details
#decorate_with(decorator) ⇒ Response
Applies a decorator to the response’s entity.
132 133 134 135 136 |
# File 'lib/pragma/operation/response.rb', line 132 def decorate_with(decorator) tap do self.entity = decorator.represent(entity) end end |
#failure? ⇒ Boolean
Returns whether the response has a failed HTTP status code, by checking whether the status code is 4xx or 5xx.
102 103 104 |
# File 'lib/pragma/operation/response.rb', line 102 def failure? !success? end |
#success? ⇒ Boolean
Returns whether the response has a successful HTTP status code, by checking whether the status code is 1xx, 2xx or 3xx.
94 95 96 |
# File 'lib/pragma/operation/response.rb', line 94 def success? %w[1 2 3].include?(@status.to_s[0]) end |