Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ PATH
specs:
httplog (1.4.3)
rack (>= 1.0)
rainbow (>= 2.0.0)

GEM
remote: https://rubygems.org/
Expand Down Expand Up @@ -135,12 +136,11 @@ DEPENDENCIES
listen (~> 3.0)
oj (>= 3.9.2)
patron (~> 0.12)
rainbow (>= 2.0.0)
rake (~> 13.0)
rest-client (~> 2.0)
rspec (~> 3.7)
simplecov (~> 0.15)
thin (~> 1.7)

BUNDLED WITH
2.1.4
2.2.21
2 changes: 1 addition & 1 deletion httplog.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@ Gem::Specification.new do |gem|
gem.add_development_dependency 'rest-client', ['~> 2.0']
gem.add_development_dependency 'listen', ['~> 3.0']
gem.add_development_dependency 'patron', ['~> 0.12']
gem.add_development_dependency 'rainbow', ['>= 2.0.0']
gem.add_development_dependency 'rake', ['~> 13.0']
gem.add_development_dependency 'rspec', ['~> 3.7']
gem.add_development_dependency 'simplecov', ['~> 0.15']
gem.add_development_dependency 'thin', ['~> 1.7']
gem.add_development_dependency 'oj', ['>= 3.9.2']

gem.add_dependency 'rack', ['>= 1.0']
gem.add_dependency 'rainbow', ['>= 2.0.0']
end
2 changes: 1 addition & 1 deletion lib/httplog/http_log.rb
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,7 @@ def text_based?(content_type)
end

def log_data_lines(data)
data.each_line.with_index do |line, row|
data.to_s.each_line.with_index do |line, row|
if config.prefix_line_numbers
log("#{row + 1}: #{line.chomp}")
else
Expand Down
21 changes: 21 additions & 0 deletions spec/lib/http_log_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
let(:log_benchmark) { HttpLog.configuration.log_benchmark }
let(:color) { HttpLog.configuration.color }
let(:prefix) { HttpLog.configuration.prefix }
let(:prefix_data_lines) { HttpLog.configuration.prefix_data_lines }
let(:prefix_response_lines) { HttpLog.configuration.prefix_response_lines }
let(:prefix_line_numbers) { HttpLog.configuration.prefix_line_numbers }
let(:json_log) { HttpLog.configuration.json_log }
Expand All @@ -52,6 +53,7 @@ def configure
c.log_benchmark = log_benchmark
c.color = color
c.prefix = prefix
c.prefix_data_lines = prefix_data_lines
c.prefix_response_lines = prefix_response_lines
c.prefix_line_numbers = prefix_line_numbers
c.json_log = json_log
Expand Down Expand Up @@ -256,6 +258,25 @@ def configure
it { is_expected.to_not include(HttpLog::LOG_PREFIX) }
end

context 'with prefix_data_lines enabled' do
let(:prefix_data_lines) { true }
it { is_expected.to include("[httplog] Data:\n") }
end

unless adapter_class == OpenUriAdapter # Doesn't support response logging
context 'with prefix_response_lines enabled' do
let(:prefix_response_lines) { true }

it { is_expected.to include('[httplog] <head>') }
it { is_expected.to include('[httplog] <title>Test Page</title>') }

context 'and blank response' do
let(:path) { '/empty.txt' }
it { is_expected.to include("[httplog] Response:\n") }
end
end
end

context 'with compact config' do
let(:compact_log) { true }
it { is_expected.to match(%r{\[httplog\] GET http://#{host}:#{port}#{path}(\?.*)? completed with status code \d{3} in \d+\.\d{1,6} }) }
Expand Down
12 changes: 10 additions & 2 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,18 @@
Dir['./spec/support/**/*.rb'].each { |f| require f }

# Start a local rack server to serve up test pages.
@server_thread = Thread.new do
Thread.new do
Rack::Handler::Thin.run Httplog::Test::Server.new, Port: 9292
end
sleep(3) # wait a moment for the server to be booted

# Wait for the server to be booted.
loop do
TCPSocket.new('127.0.0.1', 9292).close
break
rescue Errno::ECONNREFUSED
sleep 0.1
retry
end

RSpec.configure do |config|
Oj.default_options = {mode: :compat}
Expand Down
Empty file added spec/support/empty.txt
Empty file.