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