Class: Wor::Requests::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/wor/requests/base.rb

Constant Summary collapse

VALID_HTTP_VERBS =
%i(get post patch put delete).freeze
COMMON_ATTRIBUTES =

According to RFC 7231

%i(path headers attempting_to response_type).freeze
HAS_QUERY =
[:query].freeze
HAS_BODY =
[:body].freeze
HTTP_COMPLETE =
(COMMON_ATTRIBUTES + HAS_QUERY + HAS_BODY).freeze
HTTP_QUERY_ONLY =
(COMMON_ATTRIBUTES + HAS_QUERY).freeze
GET_ATTRIBUTES =
HTTP_QUERY_ONLY
POST_ATTRIBUTES =
HTTP_COMPLETE
PATCH_ATTRIBUTES =
HTTP_COMPLETE
PUT_ATTRIBUTES =
HTTP_COMPLETE
DELETE_ATTRIBUTES =
HTTP_QUERY_ONLY

Instance Method Summary collapse

Instance Method Details

#loggerObject



51
52
53
# File 'lib/wor/requests/base.rb', line 51

def logger
  Wor::Requests.logger
end

#request(options = {}, &block) ⇒ Object



41
42
43
44
45
46
47
48
49
# File 'lib/wor/requests/base.rb', line 41

def request(options = {}, &block)
  validate_method!(options[:method])

  log_attempt(options[:attempting_to])
  resp = HTTParty.send(options[:method], uri(options[:path]), request_parameters(options))

  return after_success(resp, options, &block) if resp.success?
  after_error(resp, options)
end