Class: HTTP::Request::Builder
- Inherits:
-
Object
- Object
- HTTP::Request::Builder
- Defined in:
- lib/http/request/builder.rb
Overview
Builds HTTP::Request objects from resolved options
Constant Summary collapse
- HTTP_OR_HTTPS_RE =
Pattern matching HTTP or HTTPS URI schemes
%r{\Ahttps?://}i
Instance Method Summary collapse
-
#build(verb, uri) ⇒ HTTP::Request
Build an HTTP request.
-
#initialize(options) ⇒ HTTP::Request::Builder
constructor
Initialize a new Request Builder.
-
#wrap(request) ⇒ HTTP::Request
Wrap a request through feature middleware.
Constructor Details
#initialize(options) ⇒ HTTP::Request::Builder
Initialize a new Request Builder
32 33 34 |
# File 'lib/http/request/builder.rb', line 32 def initialize() @options = end |
Instance Method Details
#build(verb, uri) ⇒ HTTP::Request
Build an HTTP request
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/http/request/builder.rb', line 45 def build(verb, uri) uri = make_request_uri(uri) headers = make_request_headers body = make_request_body(headers) req = HTTP::Request.new( verb: verb, uri: uri, uri_normalizer: @options.feature(:normalize_uri)&.normalizer, proxy: @options.proxy, headers: headers, body: body ) wrap(req) end |
#wrap(request) ⇒ HTTP::Request
Wrap a request through feature middleware
70 71 72 73 74 |
# File 'lib/http/request/builder.rb', line 70 def wrap(request) @options.features.inject(request) do |req, (_name, feature)| feature.wrap_request(req) end end |