Class: Fedipub::Utils::JsonRequest
- Inherits:
-
Object
- Object
- Fedipub::Utils::JsonRequest
- Extended by:
- Forwardable
- Includes:
- Singleton
- Defined in:
- lib/fedipub/utils/json_request.rb
Overview
Wrapper around HTTP calls which ensures signatures etc are applied.
Defined Under Namespace
Classes: UnhandledResponseStatus
Instance Method Summary collapse
- #get(url:, params: {}, headers: {}, from: nil) ⇒ Object
-
#get_json(url, params: {}, headers: {}, expected_status: 200, from: nil) ⇒ Object
Makes a GET request and returns a
Hashfrom the parsed body. - #post(url:, message:, headers: {}, from: nil) ⇒ Object
Instance Method Details
#get(url:, params: {}, headers: {}, from: nil) ⇒ Object
36 37 38 |
# File 'lib/fedipub/utils/json_request.rb', line 36 def get(url:, params: {}, headers: {}, from: nil) execute_request method: :get, url: url, params: params, headers: headers, from: from || Fedipub::Actor.application_actor end |
#get_json(url, params: {}, headers: {}, expected_status: 200, from: nil) ⇒ Object
Makes a GET request and returns a Hash from the parsed body
29 30 31 32 33 34 |
# File 'lib/fedipub/utils/json_request.rb', line 29 def get_json(url, params: {}, headers: {}, expected_status: 200, from: nil) response = get url: url, params: params, headers: headers, from: from raise UnhandledResponseStatus, "Unhandled status code #{response.status} for GET #{url}" if expected_status && response.status != expected_status JSON.parse(response.body) end |
#post(url:, message:, headers: {}, from: nil) ⇒ Object
40 41 42 |
# File 'lib/fedipub/utils/json_request.rb', line 40 def post(url:, message:, headers: {}, from: nil) execute_request method: :post, url: url, headers: headers, message: , from: from end |