api_hammer 0.17.0 → 0.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/bin/hc +14 -0
- data/lib/api_hammer/faraday/outputter.rb +1 -1
- data/lib/api_hammer/faraday/request_logger.rb +5 -5
- data/lib/api_hammer/rails/halt.rb +1 -1
- data/lib/api_hammer/sinatra.rb +1 -1
- data/lib/api_hammer/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 389df34af6fc825bf80bd8460ec43ca7ea626d52
|
4
|
+
data.tar.gz: ad21026ef421554be76e50158c4fe438c9ac2f61
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fbc5733ba3f575fce86e74b469c3996884c5a6a8f5a622d47008b4635d5f443fe61d91d24697b964138995337306d8e20777e5d834cd51f554bd41542d06ebfe
|
7
|
+
data.tar.gz: f29386f32c2a6d89bc78661ea05c494b25576c59a4c8e7448af6994e44287074c068b662fb2e3bf73dabd15ae2745d871e42959690d1853c02304f13b7dc2e6b
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# v0.18.0
|
2
|
+
- add option to hc for basic auth
|
3
|
+
- add option to hc to make it consider the body as text
|
4
|
+
- faraday logger compatibility with old faraday 0.8
|
5
|
+
- fix ruby warnings
|
6
|
+
|
1
7
|
# v0.17.0
|
2
8
|
- fix ApiHammer::ShowTextExceptions middleware to not rescue certain exceptions
|
3
9
|
- don't insert or rely on Rack::Accept middleware for sinatra; use Rack::Accept more directly
|
data/bin/hc
CHANGED
@@ -23,9 +23,11 @@ $options = {
|
|
23
23
|
:pretty => nil,
|
24
24
|
:no_ssl_verify => false,
|
25
25
|
:headers => {},
|
26
|
+
:text => nil,
|
26
27
|
}
|
27
28
|
|
28
29
|
$oauth = {}
|
30
|
+
$basicauth = {}
|
29
31
|
|
30
32
|
opt_parser = OptionParser.new do |opts|
|
31
33
|
opts.banner = "Usage: #{$0} [options] <verb> <url> [body]"
|
@@ -33,6 +35,9 @@ opt_parser = OptionParser.new do |opts|
|
|
33
35
|
opts.on("-v", "--[no-]verbose", "Run verbosely - output is like curl -v (this is the default)") do |v|
|
34
36
|
$options[:verbose] = v
|
35
37
|
end
|
38
|
+
opts.on("--[no-]text", "consider the response body to be text (default relies on Content-Type)") do |v|
|
39
|
+
$options[:text] = v
|
40
|
+
end
|
36
41
|
opts.on("-q", "Run quietly - only outputs the response body (same as --no-verbose)") do |v|
|
37
42
|
$options[:verbose] = !v
|
38
43
|
end
|
@@ -66,6 +71,12 @@ opt_parser = OptionParser.new do |opts|
|
|
66
71
|
opts.on("--oauth-signature-method SIGNATURE_METHOD", "OAuth 1.0 signature method - defaults to HMAC-SHA1") do |signature_method|
|
67
72
|
$oauth[:signature_method] = signature_method
|
68
73
|
end
|
74
|
+
opts.on("--basic-user USER", "basic auth user") do |user|
|
75
|
+
$basicauth[:user] = user
|
76
|
+
end
|
77
|
+
opts.on("--basic-password PASSWORD", "basic auth password") do |password|
|
78
|
+
$basicauth[:password] = password
|
79
|
+
end
|
69
80
|
|
70
81
|
opts.on("--no-ssl-verify", "Disables SSL verification - use cautiously!") do
|
71
82
|
$options[:no_ssl_verify] = true
|
@@ -95,6 +106,9 @@ connection = Faraday.new(faraday_options) do |builder|
|
|
95
106
|
OAuthenticator::FaradaySigner
|
96
107
|
builder.use OAuthenticator::FaradaySigner, $oauth
|
97
108
|
end
|
109
|
+
if $basicauth.any?
|
110
|
+
builder.basic_auth($basicauth[:user], $basicauth[:password])
|
111
|
+
end
|
98
112
|
builder.use($options[:verbose] ? ApiHammer::FaradayCurlVOutputter : ApiHammer::FaradayOutputter, $options)
|
99
113
|
builder.adapter Faraday.default_adapter
|
100
114
|
end
|
@@ -129,7 +129,7 @@ module ApiHammer
|
|
129
129
|
def alter_body_by_content_type(body, content_type)
|
130
130
|
return body unless body.is_a?(String)
|
131
131
|
content_type_attrs = ApiHammer::ContentTypeAttrs.new(content_type)
|
132
|
-
if content_type_attrs.text?
|
132
|
+
if @options[:text].nil? ? content_type_attrs.text? : @options[:text]
|
133
133
|
if pretty?
|
134
134
|
case content_type_attrs.media_type
|
135
135
|
when 'application/json'
|
@@ -37,12 +37,12 @@ module ApiHammer
|
|
37
37
|
|
38
38
|
@app.call(request_env).on_complete do |response_env|
|
39
39
|
now = Time.now
|
40
|
-
status = response_env
|
40
|
+
status = response_env[:status]
|
41
41
|
|
42
42
|
if log_bodies(status)
|
43
43
|
bodies = [
|
44
|
-
['request', request_body, request_env
|
45
|
-
['response', response_env
|
44
|
+
['request', request_body, request_env[:request_headers]],
|
45
|
+
['response', response_env[:body], response_env[:response_headers]]
|
46
46
|
].map do |(role, body_s, headers)|
|
47
47
|
body = Body.new(body_s, headers['Content-Type'])
|
48
48
|
if body.content_type_attrs.text?
|
@@ -62,12 +62,12 @@ module ApiHammer
|
|
62
62
|
'request' => {
|
63
63
|
'method' => request_env[:method],
|
64
64
|
'uri' => request_env[:url].normalize.to_s,
|
65
|
-
'headers' => request_env
|
65
|
+
'headers' => request_env[:request_headers],
|
66
66
|
'body' => bodies['request'],
|
67
67
|
}.reject{|k,v| v.nil? },
|
68
68
|
'response' => {
|
69
69
|
'status' => status.to_s,
|
70
|
-
'headers' => response_env
|
70
|
+
'headers' => response_env[:response_headers],
|
71
71
|
'body' => bodies['response'],
|
72
72
|
}.reject{|k,v| v.nil? },
|
73
73
|
'processing' => {
|
@@ -19,7 +19,7 @@ module ApiHammer::Rails
|
|
19
19
|
attr_reader :body, :render_options
|
20
20
|
end
|
21
21
|
|
22
|
-
unless
|
22
|
+
unless instance_variable_defined?(:@rails_halt_included_defined)
|
23
23
|
@rails_halt_included_defined = true
|
24
24
|
(@on_included ||= Set.new) << proc do |controller_class|
|
25
25
|
controller_class.send(:rescue_from, ApiHammer::Rails::Halt, :with => :handle_halt)
|
data/lib/api_hammer/sinatra.rb
CHANGED
data/lib/api_hammer/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: api_hammer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ethan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-05-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|