Sha256: dbdbdd281319ac6aa525706a93da7b16362c601d4c40e8f4fa1f51a40250099a
Contents?: true
Size: 1.09 KB
Versions: 21
Compression:
Stored size: 1.09 KB
Contents
require "logger" require "net/http" require "net/https" require "benchmark" require "samuel/net_http" require "samuel/request" module Samuel extend self attr_writer :config, :logger def logger @logger = nil if !defined?(@logger) return @logger if !@logger.nil? if defined?(RAILS_DEFAULT_LOGGER) @logger = RAILS_DEFAULT_LOGGER else @logger = Logger.new(STDOUT) end end def config Thread.current[:__samuel_config] ? Thread.current[:__samuel_config] : @config end def log_request(http, request, &block) request = Request.new(http, request, block) request.perform_and_log! request.response end def with_config(options = {}) original_config = config.dup nested = !Thread.current[:__samuel_config].nil? Thread.current[:__samuel_config] = original_config.merge(options) yield Thread.current[:__samuel_config] = nested ? original_config : nil end def reset_config Thread.current[:__samuel_config] = nil @config = {:label => nil, :labels => {"" => "HTTP"}, :filtered_params => []} end end Samuel.reset_config
Version data entries
21 entries across 21 versions & 8 rubygems