Files
news.gitea.happylizard.me/bin/gems/faraday-2.9.0/lib/faraday/response/logger.rb
T
pizza2d1 4cee170d66
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 9s
Add bin and edit workflow
2026-09-16 13:11:16 -06:00

38 lines
1.0 KiB
Ruby

# frozen_string_literal: true
require 'forwardable'
require 'logger'
require 'faraday/logging/formatter'
module Faraday
class Response
# Logger is a middleware that logs internal events in the HTTP request
# lifecycle to a given Logger object. By default, this logs to STDOUT. See
# Faraday::Logging::Formatter to see specifically what is logged.
class Logger < Middleware
def initialize(app, logger = nil, options = {})
super(app)
logger ||= ::Logger.new($stdout)
formatter_class = options.delete(:formatter) || Logging::Formatter
@formatter = formatter_class.new(logger: logger, options: options)
yield @formatter if block_given?
end
def call(env)
@formatter.request(env)
super
end
def on_complete(env)
@formatter.response(env)
end
def on_error(exc)
@formatter.exception(exc) if @formatter.respond_to?(:exception)
end
end
end
end
Faraday::Response.register_middleware(logger: Faraday::Response::Logger)