grape_api_signature 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.consolerc +3 -0
- data/.gitignore +23 -0
- data/.rspec +2 -0
- data/.rubocop.yml +21 -0
- data/.rubocop_todo.yml +0 -0
- data/.travis.yml +6 -0
- data/.versions.conf +4 -0
- data/Gemfile +13 -0
- data/LICENSE.txt +22 -0
- data/README.md +146 -0
- data/Rakefile +14 -0
- data/app/assets/javascripts/aws-signature.js.coffee +177 -0
- data/grape_api_signature.gemspec +54 -0
- data/lib/grape_api_signature/authorization.rb +79 -0
- data/lib/grape_api_signature/aws_auth_parser.rb +57 -0
- data/lib/grape_api_signature/aws_authorization.rb +40 -0
- data/lib/grape_api_signature/aws_digester.rb +27 -0
- data/lib/grape_api_signature/aws_request.rb +63 -0
- data/lib/grape_api_signature/aws_signer.rb +76 -0
- data/lib/grape_api_signature/middleware/auth.rb +105 -0
- data/lib/grape_api_signature/middleware/grape_auth.rb +44 -0
- data/lib/grape_api_signature/rails/engine.rb +6 -0
- data/lib/grape_api_signature/rspec.rb +49 -0
- data/lib/grape_api_signature/version.rb +3 -0
- data/lib/grape_api_signature.rb +21 -0
- data/spec/acceptance/.gitkeep +0 -0
- data/spec/acceptance/lib/grape_api_signature/aws_request_spec.rb +39 -0
- data/spec/acceptance/lib/grape_api_signature/aws_signer_spec.rb +54 -0
- data/spec/acceptance/lib/grape_api_signature/middleware/auth_spec.rb +60 -0
- data/spec/acceptance/lib/grape_api_signature/middleware/grape_auth_spec.rb +83 -0
- data/spec/acceptance/support/.keep +0 -0
- data/spec/acceptance/support/api.rb +5 -0
- data/spec/acceptance/support/aws_helper.rb +30 -0
- data/spec/acceptance/support/feature.rb +31 -0
- data/spec/acceptance_spec_helper.rb +3 -0
- data/spec/fixtures/aws4_test_suite/fail/get-header-key-duplicate.authz +1 -0
- data/spec/fixtures/aws4_test_suite/fail/get-header-key-duplicate.creq +9 -0
- data/spec/fixtures/aws4_test_suite/fail/get-header-key-duplicate.req +7 -0
- data/spec/fixtures/aws4_test_suite/fail/get-header-key-duplicate.sreq +8 -0
- data/spec/fixtures/aws4_test_suite/fail/get-header-key-duplicate.sts +4 -0
- data/spec/fixtures/aws4_test_suite/fail/get-header-value-multiline.req +7 -0
- data/spec/fixtures/aws4_test_suite/fail/get-header-value-order.authz +1 -0
- data/spec/fixtures/aws4_test_suite/fail/get-header-value-order.creq +9 -0
- data/spec/fixtures/aws4_test_suite/fail/get-header-value-order.req +8 -0
- data/spec/fixtures/aws4_test_suite/fail/get-header-value-order.sreq +9 -0
- data/spec/fixtures/aws4_test_suite/fail/get-header-value-order.sts +4 -0
- data/spec/fixtures/aws4_test_suite/fail/post-vanilla-query-nonunreserved.authz +1 -0
- data/spec/fixtures/aws4_test_suite/fail/post-vanilla-query-nonunreserved.creq +8 -0
- data/spec/fixtures/aws4_test_suite/fail/post-vanilla-query-nonunreserved.req +4 -0
- data/spec/fixtures/aws4_test_suite/fail/post-vanilla-query-nonunreserved.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/fail/post-vanilla-query-nonunreserved.sts +4 -0
- data/spec/fixtures/aws4_test_suite/fail/post-vanilla-query-space.authz +1 -0
- data/spec/fixtures/aws4_test_suite/fail/post-vanilla-query-space.creq +8 -0
- data/spec/fixtures/aws4_test_suite/fail/post-vanilla-query-space.req +4 -0
- data/spec/fixtures/aws4_test_suite/fail/post-vanilla-query-space.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/fail/post-vanilla-query-space.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-header-value-trim.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/get-header-value-trim.creq +9 -0
- data/spec/fixtures/aws4_test_suite/pass/get-header-value-trim.req +5 -0
- data/spec/fixtures/aws4_test_suite/pass/get-header-value-trim.sreq +6 -0
- data/spec/fixtures/aws4_test_suite/pass/get-header-value-trim.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-relative-relative.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/get-relative-relative.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/get-relative-relative.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-relative-relative.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/get-relative-relative.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-relative.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/get-relative.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/get-relative.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-relative.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/get-relative.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slash-dot-slash.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slash-dot-slash.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slash-dot-slash.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slash-dot-slash.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slash-dot-slash.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slash-pointless-dot.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slash-pointless-dot.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slash-pointless-dot.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slash-pointless-dot.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slash-pointless-dot.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slash.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slash.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slash.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slash.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slash.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slashes.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slashes.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slashes.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slashes.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/get-slashes.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-space.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/get-space.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/get-space.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-space.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/get-space.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-unreserved.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/get-unreserved.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/get-unreserved.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-unreserved.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/get-unreserved.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-utf8.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/get-utf8.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/get-utf8.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-utf8.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/get-utf8.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-empty-query-key.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-empty-query-key.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-empty-query-key.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-empty-query-key.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-empty-query-key.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-order-key-case.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-order-key-case.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-order-key-case.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-order-key-case.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-order-key-case.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-order-key.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-order-key.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-order-key.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-order-key.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-order-key.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-order-value.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-order-value.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-order-value.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-order-value.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-order-value.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-unreserved.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-unreserved.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-unreserved.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-unreserved.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query-unreserved.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-query.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-ut8-query.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-ut8-query.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-ut8-query.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-ut8-query.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla-ut8-query.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/get-vanilla.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/post-header-key-case.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/post-header-key-case.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/post-header-key-case.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/post-header-key-case.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/post-header-key-case.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/post-header-key-sort.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/post-header-key-sort.creq +9 -0
- data/spec/fixtures/aws4_test_suite/pass/post-header-key-sort.req +5 -0
- data/spec/fixtures/aws4_test_suite/pass/post-header-key-sort.sreq +6 -0
- data/spec/fixtures/aws4_test_suite/pass/post-header-key-sort.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/post-header-value-case.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/post-header-value-case.creq +9 -0
- data/spec/fixtures/aws4_test_suite/pass/post-header-value-case.req +5 -0
- data/spec/fixtures/aws4_test_suite/pass/post-header-value-case.sreq +6 -0
- data/spec/fixtures/aws4_test_suite/pass/post-header-value-case.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/post-vanilla-empty-query-value.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/post-vanilla-empty-query-value.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/post-vanilla-empty-query-value.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/post-vanilla-empty-query-value.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/post-vanilla-empty-query-value.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/post-vanilla-query.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/post-vanilla-query.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/post-vanilla-query.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/post-vanilla-query.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/post-vanilla-query.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/post-vanilla.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/post-vanilla.creq +8 -0
- data/spec/fixtures/aws4_test_suite/pass/post-vanilla.req +4 -0
- data/spec/fixtures/aws4_test_suite/pass/post-vanilla.sreq +5 -0
- data/spec/fixtures/aws4_test_suite/pass/post-vanilla.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/post-x-www-form-urlencoded-parameters.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/post-x-www-form-urlencoded-parameters.creq +9 -0
- data/spec/fixtures/aws4_test_suite/pass/post-x-www-form-urlencoded-parameters.req +6 -0
- data/spec/fixtures/aws4_test_suite/pass/post-x-www-form-urlencoded-parameters.sreq +7 -0
- data/spec/fixtures/aws4_test_suite/pass/post-x-www-form-urlencoded-parameters.sts +4 -0
- data/spec/fixtures/aws4_test_suite/pass/post-x-www-form-urlencoded.authz +1 -0
- data/spec/fixtures/aws4_test_suite/pass/post-x-www-form-urlencoded.creq +9 -0
- data/spec/fixtures/aws4_test_suite/pass/post-x-www-form-urlencoded.req +6 -0
- data/spec/fixtures/aws4_test_suite/pass/post-x-www-form-urlencoded.sreq +7 -0
- data/spec/fixtures/aws4_test_suite/pass/post-x-www-form-urlencoded.sts +4 -0
- data/spec/integration/.gitkeep +0 -0
- data/spec/integration/support/.keep +0 -0
- data/spec/integration_spec_helper.rb +3 -0
- data/spec/spec_helper.rb +45 -0
- data/spec/support/.gitkeep +0 -0
- data/spec/unit/.gitkeep +0 -0
- data/spec/unit/lib/grape_api_signature/authorization_spec.rb +79 -0
- data/spec/unit/lib/grape_api_signature/aws_auth_parser_spec.rb +25 -0
- data/spec/unit/support/.keep +0 -0
- data/spec/unit_spec_helper.rb +3 -0
- data/vendor/assets/javascripts/hmac-sha256.js +18 -0
- metadata +692 -0
@@ -0,0 +1,31 @@
|
|
1
|
+
#
|
2
|
+
# taken from https://github.com/jnicklas/capybara/blob/master/lib/capybara/rspec/features.rb
|
3
|
+
#
|
4
|
+
module Capybara
|
5
|
+
module Features
|
6
|
+
def self.included(base)
|
7
|
+
base.instance_eval do
|
8
|
+
# rubocop:disable Alias
|
9
|
+
alias :background :before
|
10
|
+
alias :scenario :it
|
11
|
+
alias :xscenario :xit
|
12
|
+
alias :given :let
|
13
|
+
alias :given! :let!
|
14
|
+
alias :feature :describe
|
15
|
+
# rubocop:enable Alias
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.feature(*args, &block)
|
22
|
+
options = args.last.is_a?(Hash) ? args.pop : {}
|
23
|
+
options[:capybara_feature] = true
|
24
|
+
options[:type] = :feature
|
25
|
+
options[:caller] ||= caller
|
26
|
+
args.push(options)
|
27
|
+
|
28
|
+
describe(*args, &block)
|
29
|
+
end
|
30
|
+
|
31
|
+
RSpec.configuration.include Capybara::Features, capybara_feature: true
|
@@ -0,0 +1 @@
|
|
1
|
+
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host;zoo, Signature=54afcaaf45b331f81cd2edb974f7b824ff4dd594cbbaa945ed636b48477368ed
|
@@ -0,0 +1,8 @@
|
|
1
|
+
POST / http/1.1
|
2
|
+
DATE:Mon, 09 Sep 2011 23:36:00 GMT
|
3
|
+
host:host.foo.com
|
4
|
+
ZOO:zoobar
|
5
|
+
zoo:foobar
|
6
|
+
zoo:zoobar
|
7
|
+
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host;zoo, Signature=54afcaaf45b331f81cd2edb974f7b824ff4dd594cbbaa945ed636b48477368ed
|
8
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host;p, Signature=d2973954263943b11624a11d1c963ca81fb274169c7868b2858c04f083199e3d
|
@@ -0,0 +1,9 @@
|
|
1
|
+
POST / http/1.1
|
2
|
+
DATE:Mon, 09 Sep 2011 23:36:00 GMT
|
3
|
+
host:host.foo.com
|
4
|
+
p:z
|
5
|
+
p:a
|
6
|
+
p:p
|
7
|
+
p:a
|
8
|
+
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host;p, Signature=d2973954263943b11624a11d1c963ca81fb274169c7868b2858c04f083199e3d
|
9
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=28675d93ac1d686ab9988d6617661da4dffe7ba848a2285cb75eac6512e861f9
|
@@ -0,0 +1,5 @@
|
|
1
|
+
POST /?@#$%^&+=/,?><`";:\|][{} =@#$%^&+=/,?><`";:\|][{} http/1.1
|
2
|
+
Date:Mon, 09 Sep 2011 23:36:00 GMT
|
3
|
+
Host:host.foo.com
|
4
|
+
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=28675d93ac1d686ab9988d6617661da4dffe7ba848a2285cb75eac6512e861f9
|
5
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=b7eb653abe5f846e7eee4d1dba33b15419dc424aaf215d49b1240732b10cc4ca
|
@@ -0,0 +1,5 @@
|
|
1
|
+
POST /?f oo=b ar http/1.1
|
2
|
+
Date:Mon, 09 Sep 2011 23:36:00 GMT
|
3
|
+
Host:host.foo.com
|
4
|
+
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=b7eb653abe5f846e7eee4d1dba33b15419dc424aaf215d49b1240732b10cc4ca
|
5
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host;p, Signature=debf546796015d6f6ded8626f5ce98597c33b47b9164cf6b17b4642036fcb592
|
@@ -0,0 +1,6 @@
|
|
1
|
+
POST / http/1.1
|
2
|
+
DATE:Mon, 09 Sep 2011 23:36:00 GMT
|
3
|
+
host:host.foo.com
|
4
|
+
p: phfft
|
5
|
+
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host;p, Signature=debf546796015d6f6ded8626f5ce98597c33b47b9164cf6b17b4642036fcb592
|
6
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=b27ccfbfa7df52a200ff74193ca6e32d4b48b8856fab7ebf1c595d0670a7e470
|
@@ -0,0 +1,5 @@
|
|
1
|
+
GET /foo/bar/../.. http/1.1
|
2
|
+
Date:Mon, 09 Sep 2011 23:36:00 GMT
|
3
|
+
Host:host.foo.com
|
4
|
+
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=b27ccfbfa7df52a200ff74193ca6e32d4b48b8856fab7ebf1c595d0670a7e470
|
5
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=b27ccfbfa7df52a200ff74193ca6e32d4b48b8856fab7ebf1c595d0670a7e470
|
@@ -0,0 +1,5 @@
|
|
1
|
+
GET /foo/.. http/1.1
|
2
|
+
Date:Mon, 09 Sep 2011 23:36:00 GMT
|
3
|
+
Host:host.foo.com
|
4
|
+
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=b27ccfbfa7df52a200ff74193ca6e32d4b48b8856fab7ebf1c595d0670a7e470
|
5
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=b27ccfbfa7df52a200ff74193ca6e32d4b48b8856fab7ebf1c595d0670a7e470
|
@@ -0,0 +1 @@
|
|
1
|
+
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=910e4d6c9abafaf87898e1eb4c929135782ea25bb0279703146455745391e63a
|
@@ -0,0 +1,5 @@
|
|
1
|
+
GET /./foo http/1.1
|
2
|
+
Date:Mon, 09 Sep 2011 23:36:00 GMT
|
3
|
+
Host:host.foo.com
|
4
|
+
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=910e4d6c9abafaf87898e1eb4c929135782ea25bb0279703146455745391e63a
|
5
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=b27ccfbfa7df52a200ff74193ca6e32d4b48b8856fab7ebf1c595d0670a7e470
|
@@ -0,0 +1 @@
|
|
1
|
+
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=b00392262853cfe3201e47ccf945601079e9b8a7f51ee4c3d9ee4f187aa9bf19
|
@@ -0,0 +1,5 @@
|
|
1
|
+
GET //foo// http/1.1
|
2
|
+
Date:Mon, 09 Sep 2011 23:36:00 GMT
|
3
|
+
Host:host.foo.com
|
4
|
+
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=b00392262853cfe3201e47ccf945601079e9b8a7f51ee4c3d9ee4f187aa9bf19
|
5
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=f309cfbd10197a230c42dd17dbf5cca8a0722564cb40a872d25623cfa758e374
|
@@ -0,0 +1,5 @@
|
|
1
|
+
GET /%20/foo http/1.1
|
2
|
+
Date:Mon, 09 Sep 2011 23:36:00 GMT
|
3
|
+
Host:host.foo.com
|
4
|
+
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=f309cfbd10197a230c42dd17dbf5cca8a0722564cb40a872d25623cfa758e374
|
5
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=830cc36d03f0f84e6ee4953fbe701c1c8b71a0372c63af9255aa364dd183281e
|
@@ -0,0 +1,5 @@
|
|
1
|
+
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz http/1.1
|
2
|
+
Date:Mon, 09 Sep 2011 23:36:00 GMT
|
3
|
+
Host:host.foo.com
|
4
|
+
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=830cc36d03f0f84e6ee4953fbe701c1c8b71a0372c63af9255aa364dd183281e
|
5
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=8d6634c189aa8c75c2e51e106b6b5121bed103fdb351f7d7d4381c738823af74
|
@@ -0,0 +1,5 @@
|
|
1
|
+
GET /%E1%88%B4 http/1.1
|
2
|
+
Date:Mon, 09 Sep 2011 23:36:00 GMT
|
3
|
+
Host:host.foo.com
|
4
|
+
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=8d6634c189aa8c75c2e51e106b6b5121bed103fdb351f7d7d4381c738823af74
|
5
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=56c054473fd260c13e4e7393eb203662195f5d4a1fada5314b8b52b23f985e9f
|
@@ -0,0 +1,5 @@
|
|
1
|
+
GET /?foo=bar http/1.1
|
2
|
+
Date:Mon, 09 Sep 2011 23:36:00 GMT
|
3
|
+
Host:host.foo.com
|
4
|
+
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=56c054473fd260c13e4e7393eb203662195f5d4a1fada5314b8b52b23f985e9f
|
5
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=be7148d34ebccdc6423b19085378aa0bee970bdc61d144bd1a8c48c33079ab09
|
@@ -0,0 +1,5 @@
|
|
1
|
+
GET /?foo=Zoo&foo=aha http/1.1
|
2
|
+
Date:Mon, 09 Sep 2011 23:36:00 GMT
|
3
|
+
Host:host.foo.com
|
4
|
+
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=be7148d34ebccdc6423b19085378aa0bee970bdc61d144bd1a8c48c33079ab09
|
5
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=0dc122f3b28b831ab48ba65cb47300de53fbe91b577fe113edac383730254a3b
|
@@ -0,0 +1,5 @@
|
|
1
|
+
GET /?a=foo&b=foo http/1.1
|
2
|
+
Date:Mon, 09 Sep 2011 23:36:00 GMT
|
3
|
+
Host:host.foo.com
|
4
|
+
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, SignedHeaders=date;host, Signature=0dc122f3b28b831ab48ba65cb47300de53fbe91b577fe113edac383730254a3b
|
5
|
+
|