Class: Clowk::Http
- Inherits:
-
Object
- Object
- Clowk::Http
- Defined in:
- lib/clowk/http/client.rb,
lib/clowk/http/response.rb,
lib/clowk/http/retry_middleware.rb,
lib/clowk/http/logger_middleware.rb,
lib/clowk/http/timeout_middleware.rb
Defined Under Namespace
Classes: LoggerMiddleware, Response, RetryMiddleware, TimeoutMiddleware
Constant Summary collapse
- MAX_BODY_SIZE =
1 * 1024 * 1024
- HTTP_METHODS =
{ get: Net::HTTP::Get, post: Net::HTTP::Post, put: Net::HTTP::Put, patch: Net::HTTP::Patch, delete: Net::HTTP::Delete, head: Net::HTTP::Head, options: Net::HTTP::Options }.freeze
Class Method Summary collapse
- .delete(base_url:, path:, body: nil, headers: {}, logger: nil) ⇒ Object
- .get(base_url:, path:, headers: {}, logger: nil) ⇒ Object
- .head(base_url:, path:, headers: {}, logger: nil) ⇒ Object
- .options(base_url:, path:, headers: {}, logger: nil) ⇒ Object
- .patch(base_url:, path:, body: nil, headers: {}, logger: nil) ⇒ Object
- .post(base_url:, path:, body: nil, headers: {}, logger: nil) ⇒ Object
- .put(base_url:, path:, body: nil, headers: {}, logger: nil) ⇒ Object
Instance Method Summary collapse
- #delete(path, body = nil, headers: {}) ⇒ Object
- #get(path, headers: {}) ⇒ Object
- #head(path, headers: {}) ⇒ Object
-
#initialize(base_url:, headers: {}, logger: nil, open_timeout: 5, read_timeout: 10, write_timeout: 10, retry_attempts: 2, retry_interval: 0.05, middlewares: nil) ⇒ Http
constructor
A new instance of Http.
- #options(path, headers: {}) ⇒ Object
- #patch(path, body = nil, headers: {}) ⇒ Object
- #post(path, body = nil, headers: {}) ⇒ Object
- #put(path, body = nil, headers: {}) ⇒ Object
- #request(method, path, body: nil, headers: {}) ⇒ Object
Constructor Details
#initialize(base_url:, headers: {}, logger: nil, open_timeout: 5, read_timeout: 10, write_timeout: 10, retry_attempts: 2, retry_interval: 0.05, middlewares: nil) ⇒ Http
Returns a new instance of Http.
49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/clowk/http/client.rb', line 49 def initialize(base_url:, headers: {}, logger: nil, open_timeout: 5, read_timeout: 10, write_timeout: 10, retry_attempts: 2, retry_interval: 0.05, middlewares: nil) @base_url = base_url @headers = headers @logger = logger @open_timeout = open_timeout @read_timeout = read_timeout @write_timeout = write_timeout @retry_attempts = retry_attempts @retry_interval = retry_interval @middlewares = middlewares || [TimeoutMiddleware, RetryMiddleware, LoggerMiddleware] end |
Class Method Details
.delete(base_url:, path:, body: nil, headers: {}, logger: nil) ⇒ Object
37 38 39 |
# File 'lib/clowk/http/client.rb', line 37 def self.delete(base_url:, path:, body: nil, headers: {}, logger: nil) new(base_url:, headers:, logger:).delete(path, body) end |
.get(base_url:, path:, headers: {}, logger: nil) ⇒ Object
21 22 23 |
# File 'lib/clowk/http/client.rb', line 21 def self.get(base_url:, path:, headers: {}, logger: nil) new(base_url:, headers:, logger:).get(path) end |
.head(base_url:, path:, headers: {}, logger: nil) ⇒ Object
41 42 43 |
# File 'lib/clowk/http/client.rb', line 41 def self.head(base_url:, path:, headers: {}, logger: nil) new(base_url:, headers:, logger:).head(path) end |
.options(base_url:, path:, headers: {}, logger: nil) ⇒ Object
45 46 47 |
# File 'lib/clowk/http/client.rb', line 45 def self.(base_url:, path:, headers: {}, logger: nil) new(base_url:, headers:, logger:).(path) end |
.patch(base_url:, path:, body: nil, headers: {}, logger: nil) ⇒ Object
33 34 35 |
# File 'lib/clowk/http/client.rb', line 33 def self.patch(base_url:, path:, body: nil, headers: {}, logger: nil) new(base_url:, headers:, logger:).patch(path, body) end |
.post(base_url:, path:, body: nil, headers: {}, logger: nil) ⇒ Object
25 26 27 |
# File 'lib/clowk/http/client.rb', line 25 def self.post(base_url:, path:, body: nil, headers: {}, logger: nil) new(base_url:, headers:, logger:).post(path, body) end |
.put(base_url:, path:, body: nil, headers: {}, logger: nil) ⇒ Object
29 30 31 |
# File 'lib/clowk/http/client.rb', line 29 def self.put(base_url:, path:, body: nil, headers: {}, logger: nil) new(base_url:, headers:, logger:).put(path, body) end |
Instance Method Details
#delete(path, body = nil, headers: {}) ⇒ Object
77 78 79 |
# File 'lib/clowk/http/client.rb', line 77 def delete(path, body = nil, headers: {}) request(:delete, path, body:, headers:) end |
#get(path, headers: {}) ⇒ Object
61 62 63 |
# File 'lib/clowk/http/client.rb', line 61 def get(path, headers: {}) request(:get, path, headers:) end |
#head(path, headers: {}) ⇒ Object
81 82 83 |
# File 'lib/clowk/http/client.rb', line 81 def head(path, headers: {}) request(:head, path, headers:) end |
#options(path, headers: {}) ⇒ Object
85 86 87 |
# File 'lib/clowk/http/client.rb', line 85 def (path, headers: {}) request(:options, path, headers:) end |
#patch(path, body = nil, headers: {}) ⇒ Object
73 74 75 |
# File 'lib/clowk/http/client.rb', line 73 def patch(path, body = nil, headers: {}) request(:patch, path, body:, headers:) end |
#post(path, body = nil, headers: {}) ⇒ Object
65 66 67 |
# File 'lib/clowk/http/client.rb', line 65 def post(path, body = nil, headers: {}) request(:post, path, body:, headers:) end |
#put(path, body = nil, headers: {}) ⇒ Object
69 70 71 |
# File 'lib/clowk/http/client.rb', line 69 def put(path, body = nil, headers: {}) request(:put, path, body:, headers:) end |
#request(method, path, body: nil, headers: {}) ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/clowk/http/client.rb', line 89 def request(method, path, body: nil, headers: {}) env = { method: method.to_sym, uri: build_uri(path), body: body, headers: headers, open_timeout: open_timeout, read_timeout: read_timeout, write_timeout: write_timeout, retry_attempts: retry_attempts, retry_interval: retry_interval } build_stack.call(env) end |