lib/ur.rb in ur-0.1.0 vs lib/ur.rb in ur-0.1.1
- old
+ new
@@ -1,5 +1,7 @@
+# frozen_string_literal: true
+
require "ur/version"
require 'jsi'
require 'time'
require 'addressable/uri'
@@ -35,12 +37,10 @@
rack_request = Rack::Request.new(request_env)
env = request_env
end
new({'bound' => 'inbound'}).tap do |ur|
- ur.metadata.begin!
-
ur.request['method'] = rack_request.request_method
ur.request.addressable_uri = Addressable::URI.new(
:scheme => rack_request.scheme,
:host => rack_request.host,
@@ -66,13 +66,12 @@
ur.request.body = env["rack.input"].read
env["rack.input"].rewind
end
end
- def from_faraday_request(request_env, logger: nil)
+ def from_faraday_request(request_env)
new({'bound' => 'outbound'}).tap do |ur|
- ur.metadata.begin!
ur.request['method'] = request_env[:method].to_s
ur.request.uri = request_env[:url].normalize.to_s
ur.request.headers = request_env[:request_headers]
ur.request.set_body_from_faraday(request_env)
end
@@ -87,11 +86,15 @@
self.request = {} if self.request.nil?
self.response = {} if self.response.nil?
self.metadata = {} if self.metadata.nil?
end
- def logger=(logger)
+ # Ur#logger_tags applies tags from a tagged logger to this ur's metadata.
+ # note: ur does not log anything and this logger is not stored.
+ # @param [logger] a tagged logger
+ # @return [void]
+ def logger_tags(logger)
if logger && logger.formatter.respond_to?(:current_tags)
metadata.tags = logger.formatter.current_tags.dup
end
end
@@ -101,22 +104,19 @@
response.status = status
response.headers = response_headers
response.body = response_body.to_enum.to_a.join('')
response_body_proxy = ::Rack::BodyProxy.new(response_body) do
- metadata.finish!
-
yield
end
[status, response_headers, response_body_proxy]
end
def faraday_on_complete(app, request_env, &block)
app.call(request_env).on_complete do |response_env|
response.status = response_env[:status]
response.headers = response_env[:response_headers]
response.set_body_from_faraday(response_env)
- metadata.finish!
yield(response_env)
end
end