Skip to content

Commit b9bd421

Browse files
authored
Merge pull request #760 from orgads/lazy-require
Lazy load some gems
2 parents 5b25ae9 + 2116595 commit b9bd421

File tree

7 files changed

+10
-5
lines changed

7 files changed

+10
-5
lines changed

features/steps/mongrel_helper.rb

+2
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ def process(request, response)
3030
reply_with(response, 406, 'No deflate accept encoding found in request')
3131
else
3232
response.start do |head, body|
33+
require 'zlib'
3334
head['Content-Encoding'] = 'deflate'
3435
body.write Zlib::Deflate.deflate(response_body)
3536
end
@@ -53,6 +54,7 @@ def process(request, response)
5354
protected
5455

5556
def gzip(string)
57+
require 'zlib'
5658
sio = StringIO.new('', 'r+')
5759
gz = Zlib::GzipWriter.new sio
5860
gz.write string

lib/httparty.rb

-5
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,6 @@
33
require 'pathname'
44
require 'net/http'
55
require 'uri'
6-
require 'zlib'
7-
require 'multi_xml'
8-
require 'mini_mime'
9-
require 'json'
10-
require 'csv'
116

127
require 'httparty/module_inheritable_attributes'
138
require 'httparty/cookie_hash'

lib/httparty/logger/logstash_formatter.rb

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ def format(request, response)
2424
attr_reader :request, :response
2525

2626
def logstash_message
27+
require 'json'
2728
{
2829
'@timestamp' => current_time,
2930
'@version' => 1,

lib/httparty/parser.rb

+3
Original file line numberDiff line numberDiff line change
@@ -118,16 +118,19 @@ def parse
118118
protected
119119

120120
def xml
121+
require 'multi_xml'
121122
MultiXml.parse(body)
122123
end
123124

124125
UTF8_BOM = "\xEF\xBB\xBF"
125126

126127
def json
128+
require 'json'
127129
JSON.parse(body, :quirks_mode => true, :allow_nan => true)
128130
end
129131

130132
def csv
133+
require 'csv'
131134
CSV.parse(body)
132135
end
133136

lib/httparty/request/body.rb

+1
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ def content_body(object)
9191

9292
def content_type(object)
9393
return object.content_type if object.respond_to?(:content_type)
94+
require 'mini_mime'
9495
mime = MiniMime.lookup_by_filename(object.path)
9596
mime ? mime.content_type : 'application/octet-stream'
9697
end

spec/httparty/logger/logstash_formatter_spec.rb

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
require 'json'
12
require 'spec_helper'
23

34
RSpec.describe HTTParty::Logger::LogstashFormatter do

spec/httparty/parser_spec.rb

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require 'spec_helper'
2+
require 'multi_xml'
23

34
RSpec.describe HTTParty::Parser do
45
describe ".SupportedFormats" do
@@ -183,6 +184,7 @@ def self.name
183184
end
184185

185186
it "parses csv with CSV" do
187+
require 'csv'
186188
expect(CSV).to receive(:parse).with('body')
187189
subject.send(:csv)
188190
end

0 commit comments

Comments
 (0)