mirror of
https://github.com/HoneyryderChuck/httpx.git
synced 2025-08-10 00:01:27 -04:00
changed the log API to use kwargs
This commit is contained in:
parent
9626f17daf
commit
25fd0bbf75
@ -71,7 +71,7 @@ module HTTPX
|
||||
# must be public methods, or else they won't be reachable
|
||||
|
||||
def on_message_begin
|
||||
log(2) { "parsing begins" }
|
||||
log(level: 2) { "parsing begins" }
|
||||
end
|
||||
|
||||
def on_headers_complete(h)
|
||||
@ -81,7 +81,7 @@ module HTTPX
|
||||
request = @requests.first
|
||||
return if request.response
|
||||
|
||||
log(2) { "headers received" }
|
||||
log(level: 2) { "headers received" }
|
||||
headers = @options.headers_class.new(h)
|
||||
response = @options.response_class.new(@requests.last,
|
||||
@parser.status_code,
|
||||
@ -97,7 +97,7 @@ module HTTPX
|
||||
|
||||
def on_body(chunk)
|
||||
log { "-> DATA: #{chunk.bytesize} bytes..." }
|
||||
log(2) { "-> #{chunk.inspect}" }
|
||||
log(level: 2) { "-> #{chunk.inspect}" }
|
||||
response = @requests.first.response
|
||||
|
||||
response << chunk
|
||||
@ -106,7 +106,7 @@ module HTTPX
|
||||
end
|
||||
|
||||
def on_message_complete
|
||||
log(2) { "parsing complete" }
|
||||
log(level: 2) { "parsing complete" }
|
||||
request = @requests.first
|
||||
response = request.response
|
||||
|
||||
@ -201,7 +201,7 @@ module HTTPX
|
||||
return if request.empty?
|
||||
while (chunk = request.drain_body)
|
||||
log { "<- DATA: #{chunk.bytesize} bytes..." }
|
||||
log(2) { "<- #{chunk.inspect}" }
|
||||
log(level: 2) { "<- #{chunk.inspect}" }
|
||||
@buffer << chunk
|
||||
throw(:buffer_full, request) if @buffer.full?
|
||||
end
|
||||
|
@ -92,7 +92,7 @@ module HTTPX
|
||||
def handle_stream(stream, request)
|
||||
stream.on(:close, &method(:on_stream_close).curry[stream, request])
|
||||
stream.on(:half_close) do
|
||||
log(2, "#{stream.id}: ") { "waiting for response..." }
|
||||
log(level: 2, label: "#{stream.id}: ") { "waiting for response..." }
|
||||
end
|
||||
# stream.on(:altsvc)
|
||||
stream.on(:headers, &method(:on_stream_headers).curry[stream, request])
|
||||
@ -107,7 +107,7 @@ module HTTPX
|
||||
headers[":path"] = headline_uri(request)
|
||||
headers[":authority"] = request.authority
|
||||
headers = headers.merge(request.headers)
|
||||
log(1, "#{stream.id}: ") do
|
||||
log(level: 1, label: "#{stream.id}: ") do
|
||||
headers.map { |k, v| "-> HEADER: #{k}: #{v}" }.join("\n")
|
||||
end
|
||||
stream.headers(headers, end_stream: request.empty?)
|
||||
@ -117,8 +117,8 @@ module HTTPX
|
||||
chunk = @drains.delete(request) || request.drain_body
|
||||
while chunk
|
||||
next_chunk = request.drain_body
|
||||
log(1, "#{stream.id}: ") { "-> DATA: #{chunk.bytesize} bytes..." }
|
||||
log(2, "#{stream.id}: ") { "-> #{chunk.inspect}" }
|
||||
log(level: 1, label: "#{stream.id}: ") { "-> DATA: #{chunk.bytesize} bytes..." }
|
||||
log(level: 2, label: "#{stream.id}: ") { "-> #{chunk.inspect}" }
|
||||
stream.data(chunk, end_stream: !next_chunk)
|
||||
if next_chunk && @buffer.full?
|
||||
@drains[request] = next_chunk
|
||||
@ -133,7 +133,7 @@ module HTTPX
|
||||
######
|
||||
|
||||
def on_stream_headers(stream, request, h)
|
||||
log(stream.id) do
|
||||
log(label: "#{stream.id}:") do
|
||||
h.map { |k, v| "<- HEADER: #{k}: #{v}" }.join("\n")
|
||||
end
|
||||
_, status = h.shift
|
||||
@ -144,8 +144,8 @@ module HTTPX
|
||||
end
|
||||
|
||||
def on_stream_data(stream, request, data)
|
||||
log(1, "#{stream.id}: ") { "<- DATA: #{data.bytesize} bytes..." }
|
||||
log(2, "#{stream.id}: ") { "<- #{data.inspect}" }
|
||||
log(level: 1, label: "#{stream.id}: ") { "<- DATA: #{data.bytesize} bytes..." }
|
||||
log(level: 2, label: "#{stream.id}: ") { "<- #{data.inspect}" }
|
||||
request.response << data
|
||||
end
|
||||
|
||||
@ -153,7 +153,7 @@ module HTTPX
|
||||
return handle(request, stream) if request.expects?
|
||||
response = request.response || ErrorResponse.new(Error.new(error), @retries, @options)
|
||||
emit(:response, request, response)
|
||||
log(2, "#{stream.id}: ") { "closing stream" }
|
||||
log(level: 2, label: "#{stream.id}: ") { "closing stream" }
|
||||
|
||||
@streams.delete(request)
|
||||
send(@pending.shift) unless @pending.empty?
|
||||
@ -174,8 +174,8 @@ module HTTPX
|
||||
end
|
||||
|
||||
def on_frame_sent(frame)
|
||||
log(2, "#{frame[:stream]}: ") { "frame was sent!" }
|
||||
log(2, "#{frame[:stream]}: ") do
|
||||
log(level: 2, label: "#{frame[:stream]}: ") { "frame was sent!" }
|
||||
log(level: 2, label: "#{frame[:stream]}: ") do
|
||||
case frame[:type]
|
||||
when :data
|
||||
frame.merge(payload: frame[:payload].bytesize).inspect
|
||||
@ -188,8 +188,8 @@ module HTTPX
|
||||
end
|
||||
|
||||
def on_frame_received(frame)
|
||||
log(2, "#{frame[:stream]}: ") { "frame was received!" }
|
||||
log(2, "#{frame[:stream]}: ") do
|
||||
log(level: 2, label: "#{frame[:stream]}: ") { "frame was received!" }
|
||||
log(level: 2, label: "#{frame[:stream]}: ") do
|
||||
case frame[:type]
|
||||
when :data
|
||||
frame.merge(payload: frame[:payload].bytesize).inspect
|
||||
@ -200,8 +200,8 @@ module HTTPX
|
||||
end
|
||||
|
||||
def on_altsvc(frame)
|
||||
log(2, "#{frame[:stream]}: ") { "altsvc frame was received" }
|
||||
log(2, "#{frame[:stream]}: ") { frame.inspect }
|
||||
log(level: 2, label: "#{frame[:stream]}: ") { "altsvc frame was received" }
|
||||
log(level: 2, label: "#{frame[:stream]}: ") { frame.inspect }
|
||||
end
|
||||
|
||||
def on_promise(stream)
|
||||
|
@ -45,7 +45,7 @@ module HTTPX
|
||||
end
|
||||
|
||||
def on_promise(_, stream)
|
||||
log(2, "#{stream.id}: ") { "refusing stream!" }
|
||||
log(level: 2, label: "#{stream.id}: ") { "refusing stream!" }
|
||||
stream.refuse
|
||||
# TODO: policy for handling promises
|
||||
end
|
||||
|
@ -137,7 +137,7 @@ module HTTPX
|
||||
when :closed
|
||||
return unless @state == :connected
|
||||
end
|
||||
log(1, "#{inspect}: ") { nextstate.to_s }
|
||||
log(level: 1, label: "#{inspect}: ") { nextstate.to_s }
|
||||
@state = nextstate
|
||||
end
|
||||
end
|
||||
|
@ -2,10 +2,11 @@
|
||||
|
||||
module HTTPX
|
||||
module Loggable
|
||||
def log(level = @options.debug_level, label = "", &msg)
|
||||
def log(level: @options.debug_level, label: "", color: nil, &msg)
|
||||
return unless @options.debug
|
||||
return unless @options.debug_level >= level
|
||||
@options.debug << (+label << msg.call << "\n")
|
||||
message = (+label << msg.call << "\n")
|
||||
@options.debug << message
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -53,7 +53,7 @@ module HTTPX
|
||||
return unless @state == :connecting
|
||||
@parser = nil
|
||||
end
|
||||
log(1, "SOCKS4: ") { "#{nextstate}: #{@write_buffer.to_s.inspect}" }
|
||||
log(level: 1, label: "SOCKS4: ") { "#{nextstate}: #{@write_buffer.to_s.inspect}" }
|
||||
super
|
||||
end
|
||||
end
|
||||
|
@ -86,7 +86,7 @@ module HTTPX
|
||||
return unless @state == :negotiating
|
||||
@parser = nil
|
||||
end
|
||||
log(1, "SOCKS5: ") { "#{nextstate}: #{@write_buffer.to_s.inspect}" }
|
||||
log(level: 1, label: "SOCKS5: ") { "#{nextstate}: #{@write_buffer.to_s.inspect}" }
|
||||
super
|
||||
end
|
||||
|
||||
|
@ -34,7 +34,7 @@ module HTTPX
|
||||
end
|
||||
|
||||
def __on_promise_request(parser, stream, h)
|
||||
log(1, "#{stream.id}: ") do
|
||||
log(level: 1, label: "#{stream.id}: ") do
|
||||
h.map { |k, v| "-> PROMISE HEADER: #{k}: #{v}" }.join("\n")
|
||||
end
|
||||
headers = @options.headers_class.new(h)
|
||||
|
Loading…
x
Reference in New Issue
Block a user