1 + | 30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
|
\ | No newline at end of file
|
0 2 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
|
1 3 | new file mode 100644
|
2 4 | index 0000000..7cbdcfa
|
3 - | -- /dev/null
|
5 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
|
4 6 | @@ -0,0 +1,4 @@
|
7 + | POST /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304402205ed45a0daa4ef3d554ea401f8d2e4f434c77dd8dfd4a15d08786faf9d6fdedf50220501f847d3159358f7823190dfffebaa16ce5b3868921c06b255f7dc3c742d9ff HTTP/1.1
|
8 + | Host:example.amazonaws.com
|
9 + | My-Header1:VALUE1
|
10 + |
|
5 11 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
|
6 12 | similarity index 99%
|
7 13 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
|
8 14 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
|
9 15 | index 84a7afd..0c90627 100644
|
10 16 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
|
11 17 | similarity index 69%
|
12 18 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
|
13 19 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
|
14 20 | index 3f9987a..5f14c91 100644
|
15 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
|
21 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
|
16 22 | @@ -1,4 +1,3 @@
|
17 23 | POST / HTTP/1.1
|
18 24 | Host:example.amazonaws.com
|
19 25 | My-Header1:VALUE1
|
20 - | X-Amz-Date:20150830T123600Z
|
\ | No newline at end of file
|
21 26 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
|
22 27 | new file mode 100644
|
23 28 | index 0000000..8f1d5ce
|
24 - | -- /dev/null
|
29 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
|
25 30 | @@ -0,0 +1,14 @@
|
31 + | {
|
32 + | "credentials": {
|
33 + | "access_key_id": "AKIDEXAMPLE",
|
34 + | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
|
35 + | "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
|
36 + | },
|
37 + | "expiration_in_seconds": 3600,
|
38 + | "normalize": true,
|
39 + | "region": "us-east-1",
|
40 + | "service": "service",
|
41 + | "sign_body": false,
|
42 + | "timestamp": "2015-08-30T12:36:00Z",
|
43 + | "omit_session_token": true
|
44 + | }
|
26 45 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
|
27 46 | similarity index 99%
|
28 47 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
|
29 48 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
|
30 49 | index a6942c1..e881ac7 100644
|
31 50 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
|
32 51 | new file mode 100644
|
33 52 | index 0000000..9c5ecb9
|
34 - | -- /dev/null
|
53 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
|
35 54 | @@ -0,0 +1 @@
|
55 + | 3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
|
\ | No newline at end of file
|
36 56 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
|
37 57 | similarity index 52%
|
38 58 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.req
|
39 59 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
|
40 60 | index 9d91775..61b6527 100644
|
41 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.req
|
61 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
|
42 62 | @@ -1,4 +1,7 @@
|
43 63 | POST / HTTP/1.1
|
44 64 | Host:example.amazonaws.com
|
45 - | X-Amz-Date:20150830T123600Z
|
46 65 | X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
|
66 + | X-Amz-Date:20150830T123600Z
|
67 + | X-Amz-Region-Set:us-east-1
|
68 + | Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
|
69 + |
|
47 70 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
|
48 71 | similarity index 99%
|
49 72 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
|
50 73 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
|
51 74 | index d5650cb..f8adf13 100644
|
52 75 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
|
53 76 | new file mode 100644
|
54 77 | index 0000000..379dcb2
|
55 - | -- /dev/null
|
78 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
|
56 79 | @@ -0,0 +1,4 @@
|
80 + | {
|
81 + | "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
|
82 + | "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
|
83 + | }
|
57 84 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
|
58 85 | similarity index 99%
|
59 86 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
|
60 87 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
|
61 88 | index e48ce07..5ea8e3c 100644
|
62 89 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
|
63 90 | new file mode 100644
|
64 91 | index 0000000..ff8823a
|
65 - | -- /dev/null
|
92 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
|
66 93 | @@ -0,0 +1 @@
|
94 + | 3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
|
\ | No newline at end of file
|
67 95 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
|
68 96 | new file mode 100644
|
69 97 | index 0000000..cfac41b
|
70 - | -- /dev/null
|
98 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
|
71 99 | @@ -0,0 +1,3 @@
|
100 + | POST /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Security-Token=AQoDYXdzEPT%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI%2FqkPpKPi%2FkMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d%2Bxo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz%2BscqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR%2FoLxBA%3D%3D&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304402204360bb65fe763c79526141ae439e4198190b7ffc048551a63c60b428bebc4c43022064a9d5c1f476566aea41fa60adfadc952164c53460553b2d1ae161d2f9b665f7 HTTP/1.1
|
101 + | Host:example.amazonaws.com
|
102 + |
|
72 103 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
|
73 104 | similarity index 99%
|
74 105 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
|
75 106 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
|
76 107 | index 34e3382..711c162 100644
|
77 108 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
|
78 109 | similarity index 61%
|
79 110 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
|
80 111 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
|
81 112 | index 3dc4179..3f0a82a 100644
|
82 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
|
113 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
|
83 114 | @@ -1,3 +1,2 @@
|
84 115 | POST / HTTP/1.1
|
85 116 | Host:example.amazonaws.com
|
86 - | X-Amz-Date:20150830T123600Z
|
\ | No newline at end of file
|
87 117 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
|
88 118 | new file mode 100644
|
89 119 | index 0000000..5187392
|
90 - | -- /dev/null
|
120 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
|
91 121 | @@ -0,0 +1,14 @@
|
122 + | {
|
123 + | "credentials": {
|
124 + | "access_key_id": "AKIDEXAMPLE",
|
125 + | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
|
126 + | "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
|
127 + | },
|
128 + | "expiration_in_seconds": 3600,
|
129 + | "normalize": true,
|
130 + | "region": "us-east-1",
|
131 + | "service": "service",
|
132 + | "sign_body": false,
|
133 + | "timestamp": "2015-08-30T12:36:00Z",
|
134 + | "omit_session_token": false
|
135 + | }
|
92 136 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
|
93 137 | similarity index 99%
|
94 138 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
|
95 139 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
|
96 140 | index dd408c8..e95924e 100644
|
97 141 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
|
98 142 | new file mode 100644
|
99 143 | index 0000000..1573f07
|
100 - | -- /dev/null
|
144 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
|
101 145 | @@ -0,0 +1 @@
|
146 + | 30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
|
\ | No newline at end of file
|
102 147 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
|
103 148 | new file mode 100644
|
104 149 | index 0000000..6ef9a08
|
105 - | -- /dev/null
|
150 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
|
106 151 | @@ -0,0 +1,7 @@
|
152 + | POST / HTTP/1.1
|
153 + | Host:example.amazonaws.com
|
154 + | X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
|
155 + | X-Amz-Date:20150830T123600Z
|
156 + | X-Amz-Region-Set:us-east-1
|
157 + | Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set;x-amz-security-token, Signature=3045022035115ac58fb923b0894e63eabf5864858c27f504b34bd707b569b2d6ee6a9c2e02210080ed7d2f3b7d52b4243890c596379ecd2066e9a1ac183d546ba07955ed5db306
|
158 + |
|
107 159 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
|
108 160 | similarity index 99%
|
109 161 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
|
110 162 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
|
111 163 | index f352b54..3c3235f 100644
|
112 164 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
|
113 165 | new file mode 100644
|
114 166 | index 0000000..379dcb2
|
115 - | -- /dev/null
|
167 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
|
116 168 | @@ -0,0 +1,4 @@
|
169 + | {
|
170 + | "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
|
171 + | "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
|
172 + | }
|
117 173 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
|
118 174 | similarity index 99%
|
119 175 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
|
120 176 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
|
121 177 | index 832cdc0..63b7de5 100644
|
122 178 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
|
123 179 | new file mode 100644
|
124 180 | index 0000000..713f57c
|
125 - | -- /dev/null
|
181 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
|
126 182 | @@ -0,0 +1 @@
|
183 + | 304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
|
\ | No newline at end of file
|
127 184 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
|
128 185 | new file mode 100644
|
129 186 | index 0000000..32c3bb3
|
130 - | -- /dev/null
|
187 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
|
131 188 | @@ -0,0 +1,3 @@
|
189 + | POST /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Security-Token=AQoDYXdzEPT%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI%2FqkPpKPi%2FkMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d%2Bxo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz%2BscqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR%2FoLxBA%3D%3D&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304402207e41aee2d6ea2a3868b3dea7b04caeb14d23ee696a76b93467213cd18467cbf502202a05e108d8feb197a62b4ea4b8a9d11aa4dc92bcfaf6e5fe185efac4bafd0802 HTTP/1.1
|
190 + | Host:example.amazonaws.com
|
191 + |
|
132 192 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
|
133 193 | similarity index 99%
|
134 194 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
|
135 195 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
|
136 196 | index d7f3668..b46cd8c 100644
|
137 197 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
|
138 198 | similarity index 60%
|
139 199 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
|
140 200 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
|
141 201 | index 8b5efc8..3f0a82a 100644
|
142 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
|
202 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
|
143 203 | @@ -1,3 +1,2 @@
|
144 204 | POST / HTTP/1.1
|
145 205 | Host:example.amazonaws.com
|
146 - | X-Amz-Date:20150830T123600Z
|
147 206 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
|
148 207 | new file mode 100644
|
149 208 | index 0000000..0468d80
|
150 - | -- /dev/null
|
209 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
|
151 210 | @@ -0,0 +1,12 @@
|
211 + | {
|
212 + | "credentials": {
|
213 + | "access_key_id": "AKIDEXAMPLE",
|
214 + | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
|
215 + | },
|
216 + | "expiration_in_seconds": 3600,
|
217 + | "normalize": true,
|
218 + | "region": "us-east-1",
|
219 + | "service": "service",
|
220 + | "sign_body": false,
|
221 + | "timestamp": "2015-08-30T12:36:00Z"
|
222 + | }
|
\ | No newline at end of file
|
152 223 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
|
153 224 | similarity index 99%
|
154 225 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
|
155 226 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
|
156 227 | index 02af60f..34b8c11 100644
|
157 228 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
|
158 229 | new file mode 100644
|
159 230 | index 0000000..aac6427
|
160 - | -- /dev/null
|
231 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
|
161 232 | @@ -0,0 +1 @@
|
233 + | 3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
|
\ | No newline at end of file
|
162 234 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
|
163 235 | new file mode 100644
|
164 236 | index 0000000..a611436
|
165 - | -- /dev/null
|
237 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
|
166 238 | @@ -0,0 +1,6 @@
|
239 + | POST /?Param1=value1 HTTP/1.1
|
240 + | Host:example.amazonaws.com
|
241 + | X-Amz-Date:20150830T123600Z
|
242 + | X-Amz-Region-Set:us-east-1
|
243 + | Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
|
244 + |
|
167 245 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-string-to-sign.txt
|
168 246 | similarity index 99%
|
169 247 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-string-to-sign.txt
|
170 248 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-string-to-sign.txt
|
171 249 | index 4256b4f..ad88dff 100644
|
172 250 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
|
173 251 | new file mode 100644
|
174 252 | index 0000000..379dcb2
|
175 - | -- /dev/null
|
253 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
|
176 254 | @@ -0,0 +1,4 @@
|
255 + | {
|
256 + | "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
|
257 + | "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
|
258 + | }
|
177 259 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
|
178 260 | similarity index 99%
|
179 261 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
|
180 262 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
|
181 263 | index fa84bbd..76d5ad6 100644
|
182 264 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
|
183 265 | new file mode 100644
|
184 266 | index 0000000..4cb1c94
|
185 - | -- /dev/null
|
267 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
|
186 268 | @@ -0,0 +1 @@
|
269 + | 3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
|
\ | No newline at end of file
|
187 270 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
|
188 271 | new file mode 100644
|
189 272 | index 0000000..bd22b97
|
190 - | -- /dev/null
|
273 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
|
191 274 | @@ -0,0 +1,3 @@
|
275 + | POST /?Param1=value1&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3045022025fbe60840e867e12ed08dde14cb7b65da87de27afd012fd2bef96c7bc5b6bfe022100ab6eaea845c3d8b65b39d4506cdd36232f10dae092ddd4d54f887d2f979821d9 HTTP/1.1
|
276 + | Host:example.amazonaws.com
|
277 + |
|
192 278 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-string-to-sign.txt
|
193 279 | similarity index 99%
|
194 280 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-string-to-sign.txt
|
195 281 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-string-to-sign.txt
|
196 282 | index de270ef..8c9d319 100644
|
197 283 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
|
198 284 | similarity index 67%
|
199 285 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.req
|
200 286 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
|
201 287 | index 9157bc7..c9d6e5d 100644
|
202 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.req
|
288 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
|
203 289 | @@ -1,3 +1,2 @@
|
204 290 | POST /?Param1=value1 HTTP/1.1
|
205 291 | Host:example.amazonaws.com
|
206 - | X-Amz-Date:20150830T123600Z
|
\ | No newline at end of file
|
207 292 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
|
208 293 | new file mode 100644
|
209 294 | index 0000000..0468d80
|
210 - | -- /dev/null
|
295 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
|
211 296 | @@ -0,0 +1,12 @@
|
297 + | {
|
298 + | "credentials": {
|
299 + | "access_key_id": "AKIDEXAMPLE",
|
300 + | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
|
301 + | },
|
302 + | "expiration_in_seconds": 3600,
|
303 + | "normalize": true,
|
304 + | "region": "us-east-1",
|
305 + | "service": "service",
|
306 + | "sign_body": false,
|
307 + | "timestamp": "2015-08-30T12:36:00Z"
|
308 + | }
|
\ | No newline at end of file
|
212 309 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
|
213 310 | similarity index 99%
|
214 311 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
|
215 312 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
|
216 313 | index 02af60f..34b8c11 100644
|
217 314 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
|
218 315 | new file mode 100644
|
219 316 | index 0000000..34f75c8
|
220 - | -- /dev/null
|
317 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
|
221 318 | @@ -0,0 +1 @@
|
319 + | 3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
|
\ | No newline at end of file
|
222 320 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
|
223 321 | new file mode 100644
|
224 322 | index 0000000..c731408
|
225 - | -- /dev/null
|
323 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
|
226 324 | @@ -0,0 +1,6 @@
|
325 + | POST /?Param1=value1 HTTP/1.1
|
326 + | Host:example.amazonaws.com
|
327 + | X-Amz-Date:20150830T123600Z
|
328 + | X-Amz-Region-Set:us-east-1
|
329 + | Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
|
330 + |
|
227 331 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
|
228 332 | similarity index 99%
|
229 333 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
|
230 334 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
|
231 335 | index 4256b4f..ad88dff 100644
|
232 336 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
|
233 337 | new file mode 100644
|
234 338 | index 0000000..379dcb2
|
235 - | -- /dev/null
|
339 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
|
236 340 | @@ -0,0 +1,4 @@
|
341 + | {
|
342 + | "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
|
343 + | "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
|
344 + | }
|
237 345 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
|
238 346 | similarity index 99%
|
239 347 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
|
240 348 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
|
241 349 | index fa84bbd..76d5ad6 100644
|
242 350 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
|
243 351 | new file mode 100644
|
244 352 | index 0000000..ae000d6
|
245 - | -- /dev/null
|
353 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
|
246 354 | @@ -0,0 +1 @@
|
355 + | 304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
|
\ | No newline at end of file
|
247 356 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
|
248 357 | new file mode 100644
|
249 358 | index 0000000..a868f7d
|
250 - | -- /dev/null
|
359 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
|
251 360 | @@ -0,0 +1,3 @@
|
361 + | POST /?Param1=value1&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304402207a361da47ef99ca9b92f2a8d5f8f0214a9580491aa78413733200307498bae3d02207072a6f2a774fa336cc5fb84daf553f70ed1867f2e35563e3a24fdf4a329713d HTTP/1.1
|
362 + | Host:example.amazonaws.com
|
363 + |
|
252 364 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
|
253 365 | similarity index 99%
|
254 366 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
|
255 367 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
|
256 368 | index de270ef..8c9d319 100644
|
257 369 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
|
258 370 | similarity index 67%
|
259 371 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
|
260 372 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
|
261 373 | index 9157bc7..c9d6e5d 100644
|
262 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
|
374 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
|
263 375 | @@ -1,3 +1,2 @@
|
264 376 | POST /?Param1=value1 HTTP/1.1
|
265 377 | Host:example.amazonaws.com
|
266 - | X-Amz-Date:20150830T123600Z
|
\ | No newline at end of file
|
267 378 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
|
268 379 | new file mode 100644
|
269 380 | index 0000000..0468d80
|
270 - | -- /dev/null
|
381 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
|
271 382 | @@ -0,0 +1,12 @@
|
383 + | {
|
384 + | "credentials": {
|
385 + | "access_key_id": "AKIDEXAMPLE",
|
386 + | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
|
387 + | },
|
388 + | "expiration_in_seconds": 3600,
|
389 + | "normalize": true,
|
390 + | "region": "us-east-1",
|
391 + | "service": "service",
|
392 + | "sign_body": false,
|
393 + | "timestamp": "2015-08-30T12:36:00Z"
|
394 + | }
|
\ | No newline at end of file
|
272 395 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
|
273 396 | similarity index 99%
|
274 397 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
|
275 398 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
|
276 399 | index a6942c1..e881ac7 100644
|
277 400 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
|
278 401 | new file mode 100644
|
279 402 | index 0000000..7c5e47b
|
280 - | -- /dev/null
|
403 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
|
281 404 | @@ -0,0 +1 @@
|
405 + | 3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
|
\ | No newline at end of file
|
282 406 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
|
283 407 | new file mode 100644
|
284 408 | index 0000000..c0e50a0
|
285 - | -- /dev/null
|
409 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
|
286 410 | @@ -0,0 +1,6 @@
|
411 + | POST / HTTP/1.1
|
412 + | Host:example.amazonaws.com
|
413 + | X-Amz-Date:20150830T123600Z
|
414 + | X-Amz-Region-Set:us-east-1
|
415 + | Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
|
416 + |
|
287 417 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
|
288 418 | similarity index 99%
|
289 419 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
|
290 420 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
|
291 421 | index d5650cb..f8adf13 100644
|
292 422 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
|
293 423 | new file mode 100644
|
294 424 | index 0000000..379dcb2
|
295 - | -- /dev/null
|
425 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
|
296 426 | @@ -0,0 +1,4 @@
|
427 + | {
|
428 + | "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
|
429 + | "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
|
430 + | }
|
297 431 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
|
298 432 | similarity index 99%
|
299 433 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
|
300 434 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
|
301 435 | index e48ce07..5ea8e3c 100644
|
302 436 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
|
303 437 | new file mode 100644
|
304 438 | index 0000000..ea8e3b4
|
305 - | -- /dev/null
|
439 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
|
306 440 | @@ -0,0 +1 @@
|
441 + | 30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
|
\ | No newline at end of file
|
307 442 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
|
308 443 | new file mode 100644
|
309 444 | index 0000000..616973f
|
310 - | -- /dev/null
|
445 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
|
311 446 | @@ -0,0 +1,3 @@
|
447 + | POST /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3044022034768b9f03c61ee7f93b1e23198ff08923345e32f25e662afa5794997f00ebb102205813497325d50d374e486a3fce997e02ae9610a8eb81af01128103dd9d2d997d HTTP/1.1
|
448 + | Host:example.amazonaws.com
|
449 + |
|
312 450 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
|
313 451 | similarity index 99%
|
314 452 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
|
315 453 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
|
316 454 | index 34e3382..711c162 100644
|
317 455 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
|
318 456 | new file mode 100644
|
319 457 | index 0000000..3f0a82a
|
320 - | -- /dev/null
|
458 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
|
321 459 | @@ -0,0 +1,2 @@
|
460 + | POST / HTTP/1.1
|
461 + | Host:example.amazonaws.com
|
322 462 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
|
323 463 | new file mode 100644
|
324 464 | index 0000000..0db1df1
|
325 - | -- /dev/null
|
465 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
|
326 466 | @@ -0,0 +1,12 @@
|
467 + | {
|
468 + | "credentials": {
|
469 + | "access_key_id": "AKIDEXAMPLE",
|
470 + | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
|
471 + | },
|
472 + | "expiration_in_seconds": 3600,
|
473 + | "normalize": true,
|
474 + | "region": "us-east-1",
|
475 + | "service": "service",
|
476 + | "sign_body": true,
|
477 + | "timestamp": "2015-08-30T12:36:00Z"
|
478 + | }
|
\ | No newline at end of file
|
327 479 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
|
328 480 | similarity index 62%
|
329 481 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
|
330 482 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
|
331 483 | index 05ab787..62639b2 100644
|
332 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
|
484 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
|
333 485 | @@ -1,12 +1,12 @@
|
334 486 | POST
|
335 487 | /
|
336 488 |
|
337 489 | content-length:13
|
338 490 | content-type:application/x-www-form-urlencoded; charset=utf-8
|
339 491 | host:example.amazonaws.com
|
340 - | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
492 + | x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
|
341 493 | x-amz-date:20150830T123600Z
|
342 494 | x-amz-region-set:us-east-1
|
343 495 |
|
344 496 | content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
|
345 - | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
497 + | 9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
|
\ | No newline at end of file
|
346 498 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
|
347 499 | new file mode 100644
|
348 500 | index 0000000..006ec2e
|
349 - | -- /dev/null
|
501 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
|
350 502 | @@ -0,0 +1 @@
|
503 + | 3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
|
\ | No newline at end of file
|
351 504 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
|
352 505 | new file mode 100644
|
353 506 | index 0000000..87a11f2
|
354 - | -- /dev/null
|
507 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
|
355 508 | @@ -0,0 +1,10 @@
|
509 + | POST / HTTP/1.1
|
510 + | Content-Type:application/x-www-form-urlencoded; charset=utf-8
|
511 + | Host:example.amazonaws.com
|
512 + | Content-Length:13
|
513 + | X-Amz-Date:20150830T123600Z
|
514 + | X-Amz-Region-Set:us-east-1
|
515 + | x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
|
516 + | Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set, Signature=3045022100c016dc61cbd380cf8160711320957071f5c122ef69164d56d02f79daf51a0603022043e3313aa2f6b46285cc89dfe5616ccc74c810a3d7ea25b76ee1ca496f7facba
|
517 + |
|
518 + | Param1=value1
|
\ | No newline at end of file
|
356 519 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-string-to-sign.txt
|
357 520 | new file mode 100644
|
358 521 | index 0000000..c047afb
|
359 - | -- /dev/null
|
522 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-string-to-sign.txt
|
360 523 | @@ -0,0 +1,4 @@
|
524 + | AWS4-ECDSA-P256-SHA256
|
525 + | 20150830T123600Z
|
526 + | 20150830/service/aws4_request
|
527 + | bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
|
\ | No newline at end of file
|
361 528 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
|
362 529 | new file mode 100644
|
363 530 | index 0000000..379dcb2
|
364 - | -- /dev/null
|
531 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
|
365 532 | @@ -0,0 +1,4 @@
|
533 + | {
|
534 + | "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
|
535 + | "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
|
536 + | }
|
366 537 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
|
367 538 | similarity index 85%
|
368 539 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
|
369 540 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
|
370 541 | index fcc454f..6933a8c 100644
|
371 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
|
542 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
|
372 543 | @@ -1,9 +1,9 @@
|
373 544 | POST
|
374 545 | /
|
375 546 | X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost
|
376 547 | content-length:13
|
377 548 | content-type:application/x-www-form-urlencoded; charset=utf-8
|
378 549 | host:example.amazonaws.com
|
379 550 |
|
380 551 | content-length;content-type;host
|
381 - | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
552 + | 9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
|
\ | No newline at end of file
|
382 553 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
|
383 554 | new file mode 100644
|
384 555 | index 0000000..34a2e12
|
385 - | -- /dev/null
|
556 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
|
386 557 | @@ -0,0 +1 @@
|
558 + | 3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
|
\ | No newline at end of file
|
387 559 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
|
388 560 | new file mode 100644
|
389 561 | index 0000000..197b99e
|
390 - | -- /dev/null
|
562 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
|
391 563 | @@ -0,0 +1,6 @@
|
564 + | POST /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=30450220128d491ccca3f9a7988d00454d2210dd884d7990ca2cb844d4968c8fa9e937f8022100b3668dd440d8206074460567cee98691f66412fe5a83d8e32c601e1331f2ec2b HTTP/1.1
|
565 + | Content-Type:application/x-www-form-urlencoded; charset=utf-8
|
566 + | Host:example.amazonaws.com
|
567 + | Content-Length:13
|
568 + |
|
569 + | Param1=value1
|
\ | No newline at end of file
|
392 570 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-string-to-sign.txt
|
393 571 | new file mode 100644
|
394 572 | index 0000000..9d2bc74
|
395 - | -- /dev/null
|
573 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-string-to-sign.txt
|
396 574 | @@ -0,0 +1,4 @@
|
575 + | AWS4-ECDSA-P256-SHA256
|
576 + | 20150830T123600Z
|
577 + | 20150830/service/aws4_request
|
578 + | d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
|
\ | No newline at end of file
|
397 579 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
|
398 580 | similarity index 80%
|
399 581 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.req
|
400 582 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
|
401 583 | index 36015f1..8289eaa 100644
|
402 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.req
|
584 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
|
403 585 | @@ -1,6 +1,6 @@
|
404 586 | POST / HTTP/1.1
|
405 587 | Content-Type:application/x-www-form-urlencoded; charset=utf-8
|
406 588 | Host:example.amazonaws.com
|
407 - | X-Amz-Date:20150830T123600Z
|
589 + | Content-Length:13
|
408 590 |
|
409 591 | Param1=value1
|
\ | No newline at end of file
|
410 592 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
|
411 593 | new file mode 100644
|
412 594 | index 0000000..0db1df1
|
413 - | -- /dev/null
|
595 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
|
414 596 | @@ -0,0 +1,12 @@
|
597 + | {
|
598 + | "credentials": {
|
599 + | "access_key_id": "AKIDEXAMPLE",
|
600 + | "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
|
601 + | },
|
602 + | "expiration_in_seconds": 3600,
|
603 + | "normalize": true,
|
604 + | "region": "us-east-1",
|
605 + | "service": "service",
|
606 + | "sign_body": true,
|
607 + | "timestamp": "2015-08-30T12:36:00Z"
|
608 + | }
|
\ | No newline at end of file
|
415 609 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
|
416 610 | similarity index 61%
|
417 611 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
|
418 612 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
|
419 613 | index 69009dc..797632b 100644
|
420 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
|
614 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
|
421 615 | @@ -1,12 +1,12 @@
|
422 616 | POST
|
423 617 | /
|
424 618 |
|
425 619 | content-length:13
|
426 620 | content-type:application/x-www-form-urlencoded
|
427 621 | host:example.amazonaws.com
|
428 - | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
622 + | x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
|
429 623 | x-amz-date:20150830T123600Z
|
430 624 | x-amz-region-set:us-east-1
|
431 625 |
|
432 626 | content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
|
433 - | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
627 + | 9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
|
\ | No newline at end of file
|
434 628 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
|
435 629 | new file mode 100644
|
436 630 | index 0000000..f5a641c
|
437 - | -- /dev/null
|
631 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
|
438 632 | @@ -0,0 +1 @@
|
633 + | 304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
|
\ | No newline at end of file
|
439 634 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
|
440 635 | new file mode 100644
|
441 636 | index 0000000..7bd94a7
|
442 - | -- /dev/null
|
637 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
|
443 638 | @@ -0,0 +1,10 @@
|
639 + | POST / HTTP/1.1
|
640 + | Content-Type:application/x-www-form-urlencoded
|
641 + | Host:example.amazonaws.com
|
642 + | Content-Length:13
|
643 + | X-Amz-Date:20150830T123600Z
|
644 + | X-Amz-Region-Set:us-east-1
|
645 + | x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
|
646 + | Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set, Signature=3045022100955bbc0f0b9d4284719808642167f7d5ea4a72f8c296b75b442898c8b81cd7e502202425fb97620fa9a20344d22b248dd00db07524fc39b5ad77533e00b277331241
|
647 + |
|
648 + | Param1=value1
|
\ | No newline at end of file
|
444 649 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
|
445 650 | new file mode 100644
|
446 651 | index 0000000..8d25ba9
|
447 - | -- /dev/null
|
652 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
|
448 653 | @@ -0,0 +1,4 @@
|
654 + | AWS4-ECDSA-P256-SHA256
|
655 + | 20150830T123600Z
|
656 + | 20150830/service/aws4_request
|
657 + | ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
|
\ | No newline at end of file
|
449 658 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
|
450 659 | new file mode 100644
|
451 660 | index 0000000..379dcb2
|
452 - | -- /dev/null
|
661 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
|
453 662 | @@ -0,0 +1,4 @@
|
663 + | {
|
664 + | "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
|
665 + | "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
|
666 + | }
|
454 667 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
|
455 668 | similarity index 99%
|
456 669 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
|
457 670 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
|
458 671 | index 9ed065b..563ff58 100644
|
459 672 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
|
460 673 | new file mode 100644
|
461 674 | index 0000000..0c77daf
|
462 - | -- /dev/null
|
675 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
|
463 676 | @@ -0,0 +1 @@
|
677 + | 304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
|
\ | No newline at end of file
|
464 678 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
|
465 679 | new file mode 100644
|
466 680 | index 0000000..71d6de9
|
467 - | -- /dev/null
|
681 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
|
468 682 | @@ -0,0 +1,6 @@
|
683 + | POST /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=30450221008d8a6aa0bc3f651e6c14c52e9e24dbca58964641c9cb6e55169f9dc74766ae3d022016126756ce1523ac972f66f6bf6e981f44572d3c8916f1f43d428fb2caa0e1ea HTTP/1.1
|
684 + | Content-Type:application/x-www-form-urlencoded
|
685 + | Host:example.amazonaws.com
|
686 + | Content-Length:13
|
687 + |
|
688 + | Param1=value1
|
\ | No newline at end of file
|
469 689 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-string-to-sign.txt
|
470 690 | similarity index 99%
|
471 691 | rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-string-to-sign.txt
|
472 692 | rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-string-to-sign.txt
|
473 693 | index bef3143..cc7a224 100644
|
474 694 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
|
475 695 | new file mode 100644
|
476 696 | index 0000000..760b2d3
|
477 - | -- /dev/null
|
697 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
|
478 698 | @@ -0,0 +1,6 @@
|
699 + | POST / HTTP/1.1
|
700 + | Content-Type:application/x-www-form-urlencoded
|
701 + | Host:example.amazonaws.com
|
702 + | Content-Length:13
|
703 + |
|
704 + | Param1=value1
|
\ | No newline at end of file
|
479 705 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
|
480 706 | index 9bd636f..b53f33f 100644
|
481 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
|
707 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
|
482 708 | @@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
|
483 709 | params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
|
484 710 | }
|
485 711 |
|
486 712 | if let SignatureValues::QueryParams(values) = values {
|
487 713 | add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
|
488 714 | add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
|
489 715 |
|
490 716 | #[cfg(feature = "sigv4a")]
|
491 717 | if let Some(regions) = values.region_set {
|
492 718 | add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
|
493 719 | }
|
494 720 |
|
495 721 | add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
|
496 722 | add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
|
497 723 | add_param(
|
498 724 | &mut params,
|
499 725 | param::X_AMZ_SIGNED_HEADERS,
|
500 726 | values.signed_headers.as_str(),
|
501 727 | );
|
502 728 |
|
503 729 | if let Some(security_token) = values.security_token {
|
504 730 | add_param(
|
505 731 | &mut params,
|
506 732 | settings
|
507 733 | .session_token_name_override
|
508 734 | .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
|
509 735 | security_token,
|
510 736 | );
|
511 737 | }
|
512 738 | }
|
513 - | // Sort by param name, and then by param value
|
739 + |
|
740 + | // Sort on the _encoded_ key/value pairs
|
741 + | let mut params: Vec<(String, String)> = params
|
742 + | .into_iter()
|
743 + | .map(|x| {
|
744 + | use aws_smithy_http::query::fmt_string;
|
745 + | let enc_k = fmt_string(&x.0);
|
746 + | let enc_v = fmt_string(&x.1);
|
747 + | (enc_k, enc_v)
|
748 + | })
|
749 + | .collect();
|
750 + |
|
514 751 | params.sort();
|
515 752 |
|
516 753 | let mut query = QueryWriter::new(uri);
|
517 754 | query.clear_params();
|
518 755 | for (key, value) in params {
|
519 - | query.insert(&key, &value);
|
756 + | query.insert_encoded(&key, &value);
|
520 757 | }
|
521 758 |
|
522 759 | let query = query.build_query();
|
523 760 | if query.is_empty() {
|
524 761 | None
|
525 762 | } else {
|
526 763 | Some(query)
|
527 764 | }
|
528 765 | }
|
529 766 |
|
530 767 | fn insert_host_header(
|
531 768 | canonical_headers: &mut HeaderMap<HeaderValue>,
|
532 769 | uri: &Uri,
|
533 770 | ) -> HeaderValue {
|
534 771 | match canonical_headers.get(&HOST) {
|
535 772 | Some(header) => header.clone(),
|
536 773 | None => {
|
537 774 | let port = uri.port();
|
538 775 | let scheme = uri.scheme();
|
539 776 | let authority = uri
|
540 777 | .authority()
|
541 778 | .expect("request uri authority must be set for signing")
|
542 779 | .as_str();
|
543 780 | let host = uri
|
544 781 | .host()
|
545 782 | .expect("request uri host must be set for signing");
|
546 783 |
|
547 784 | // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
|
548 785 | // Host header when signing since RFC 2616 indicates that the default port should not be
|
549 786 | // sent in the Host header (and Hyper strips default ports if they are present)
|
550 787 | @@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
|
551 788 | service,
|
552 789 | hashed_creq,
|
553 790 | signature_version: SignatureVersion::V4a,
|
554 791 | }
|
555 792 | }
|
556 793 | }
|
557 794 |
|
558 795 | impl fmt::Display for StringToSign<'_> {
|
559 796 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
560 797 | write!(
|
561 798 | f,
|
562 799 | "{}\n{}\n{}\n{}",
|
563 800 | self.algorithm,
|
564 801 | format_date_time(self.time),
|
565 802 | match self.signature_version {
|
566 803 | SignatureVersion::V4 => self.scope.to_string(),
|
567 804 | SignatureVersion::V4a => self.scope.v4a_display(),
|
568 805 | },
|
569 806 | self.hashed_creq
|
570 807 | )
|
571 808 | }
|
572 809 | }
|
573 810 |
|
574 811 | #[cfg(test)]
|
575 812 | mod tests {
|
576 813 | use crate::date_time::test_parsers::parse_date_time;
|
577 814 | use crate::http_request::canonical_request::{
|
578 815 | normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
|
579 816 | };
|
580 817 | use crate::http_request::test;
|
818 + | use crate::http_request::test::SigningSuiteTest;
|
581 819 | use crate::http_request::{
|
582 820 | PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
|
583 821 | SigningParams, SigningSettings,
|
584 822 | };
|
585 823 | use crate::sign::v4;
|
586 824 | use crate::sign::v4::sha256_hex_string;
|
587 825 | use aws_credential_types::Credentials;
|
588 826 | use aws_smithy_http::query_writer::QueryWriter;
|
589 827 | use aws_smithy_runtime_api::client::identity::Identity;
|
590 828 | use http0::{HeaderValue, Uri};
|
591 829 | use pretty_assertions::assert_eq;
|
592 830 | use proptest::{prelude::*, proptest};
|
593 831 | use std::borrow::Cow;
|
594 832 | use std::time::Duration;
|
595 833 |
|
596 834 | fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
|
597 835 | v4::signing_params::Builder::default()
|
598 836 | .identity(identity)
|
599 837 | .region("test-region")
|
600 838 | .name("testservicename")
|
601 839 | .time(parse_date_time("20210511T154045Z").unwrap())
|
602 840 | .settings(settings)
|
603 841 | .build()
|
604 842 | .unwrap()
|
605 843 | .into()
|
606 844 | }
|
607 845 |
|
608 846 | #[test]
|
609 847 | fn test_repeated_header() {
|
610 - | let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
|
848 + | let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
|
849 + | let mut req = test.request();
|
611 850 | req.headers.push((
|
612 851 | "x-amz-object-attributes".to_string(),
|
613 852 | "Checksum".to_string(),
|
614 853 | ));
|
615 854 | req.headers.push((
|
616 855 | "x-amz-object-attributes".to_string(),
|
617 856 | "ObjectSize".to_string(),
|
618 857 | ));
|
619 858 | let req = SignableRequest::from(&req);
|
620 859 | let settings = SigningSettings {
|
621 860 | payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
|
622 861 | session_token_mode: SessionTokenMode::Exclude,
|
623 862 | ..Default::default()
|
624 863 | };
|
625 864 | let identity = Credentials::for_tests().into();
|
626 865 | let signing_params = signing_params(&identity, settings);
|
627 866 | let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
|
628 867 |
|
629 868 | assert_eq!(
|
630 869 | creq.values.signed_headers().to_string(),
|
631 870 | "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
|
632 871 | );
|
633 872 | assert_eq!(
|
634 873 | creq.header_values_for("x-amz-object-attributes"),
|
635 874 | "Checksum,ObjectSize",
|
636 875 | );
|
637 876 | }
|
638 877 |
|
639 878 | #[test]
|
640 879 | fn test_host_header_properly_handles_ports() {
|
641 880 | fn host_header_test_setup(endpoint: String) -> String {
|
642 - | let mut req = test::v4::test_request("get-vanilla");
|
881 + | let test = SigningSuiteTest::v4("get-vanilla");
|
882 + | let mut req = test.request();
|
643 883 | req.uri = endpoint;
|
644 884 | let req = SignableRequest::from(&req);
|
645 885 | let settings = SigningSettings {
|
646 886 | payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
|
647 887 | session_token_mode: SessionTokenMode::Exclude,
|
648 888 | ..Default::default()
|
649 889 | };
|
650 890 | let identity = Credentials::for_tests().into();
|
651 891 | let signing_params = signing_params(&identity, settings);
|
652 892 | let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
|
653 893 | creq.header_values_for("host")
|
654 894 | }
|
655 895 |
|
656 896 | // HTTP request with 80 port should not be signed with that port
|
657 897 | let http_80_host_header = host_header_test_setup("http://localhost:80".into());
|
658 898 | assert_eq!(http_80_host_header, "localhost",);
|
659 899 |
|
660 900 | // HTTP request with non-80 port should be signed with that port
|
661 901 | let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
|
662 902 | assert_eq!(http_1234_host_header, "localhost:1234",);
|
663 903 |
|
664 904 | // HTTPS request with 443 port should not be signed with that port
|
665 905 | let https_443_host_header = host_header_test_setup("https://localhost:443".into());
|
666 906 | assert_eq!(https_443_host_header, "localhost",);
|
667 907 |
|
668 908 | // HTTPS request with non-443 port should be signed with that port
|
669 909 | let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
|
670 910 | assert_eq!(https_1234_host_header, "localhost:1234",);
|
671 911 | }
|
672 912 |
|
673 913 | #[test]
|
674 914 | fn test_set_xamz_sha_256() {
|
675 - | let req = test::v4::test_request("get-vanilla-query-order-key-case");
|
915 + | let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
|
916 + | let req = test.request();
|
676 917 | let req = SignableRequest::from(&req);
|
677 918 | let settings = SigningSettings {
|
678 919 | payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
|
679 920 | session_token_mode: SessionTokenMode::Exclude,
|
680 921 | ..Default::default()
|
681 922 | };
|
682 923 | let identity = Credentials::for_tests().into();
|
683 924 | let mut signing_params = signing_params(&identity, settings);
|
684 925 | let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
|
685 926 | assert_eq!(
|
686 927 | creq.values.content_sha256(),
|
687 928 | "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
688 929 | );
|
689 930 | // assert that the sha256 header was added
|
690 931 | assert_eq!(
|
691 932 | creq.values.signed_headers().as_str(),
|
692 933 | "host;x-amz-content-sha256;x-amz-date"
|
693 934 | );
|
694 935 |
|
695 936 | signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
|
696 937 | let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
|
697 938 | assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
|
698 939 | }
|
699 940 |
|
700 941 | #[test]
|
701 942 | fn test_unsigned_payload() {
|
702 - | let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
|
943 + | let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
|
944 + | let mut req = test.request();
|
703 945 | req.set_body(SignableBody::UnsignedPayload);
|
704 946 | let req: SignableRequest<'_> = SignableRequest::from(&req);
|
705 947 |
|
706 948 | let settings = SigningSettings {
|
707 949 | payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
|
708 950 | ..Default::default()
|
709 951 | };
|
710 952 | let identity = Credentials::for_tests().into();
|
711 953 | let signing_params = signing_params(&identity, settings);
|
712 954 | let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
|
713 955 | assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
|
714 956 | assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
|
715 957 | }
|
716 958 |
|
717 959 | #[test]
|
718 960 | fn test_precomputed_payload() {
|
719 961 | let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
|
720 - | let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
|
962 + | let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
|
963 + | let mut req = test.request();
|
721 964 | req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
|
722 965 | let req = SignableRequest::from(&req);
|
723 966 | let settings = SigningSettings {
|
724 967 | payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
|
725 968 | ..Default::default()
|
726 969 | };
|
727 970 | let identity = Credentials::for_tests().into();
|
728 971 | let signing_params = signing_params(&identity, settings);
|
729 972 | let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
|
730 973 | assert_eq!(creq.values.content_sha256(), payload_hash);
|
731 974 | assert!(creq.to_string().ends_with(payload_hash));
|
732 975 | }
|
733 976 |
|
734 977 | #[test]
|
735 978 | fn test_generate_scope() {
|
736 979 | let expected = "20150830/us-east-1/iam/aws4_request\n";
|
737 980 | let scope = SigningScope {
|
738 981 | time: parse_date_time("20150830T123600Z").unwrap(),
|
739 982 | region: "us-east-1",
|
740 983 | service: "iam",
|
741 984 | };
|
742 985 | assert_eq!(format!("{}\n", scope), expected);
|
743 986 | }
|
744 987 |
|
745 988 | #[test]
|
746 989 | fn test_string_to_sign() {
|
747 990 | let time = parse_date_time("20150830T123600Z").unwrap();
|
748 - | let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
|
749 - | let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
|
991 + | let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
|
992 + | let creq = test.canonical_request(SignatureLocation::Headers);
|
993 + | let expected_sts = test.string_to_sign(SignatureLocation::Headers);
|
750 994 | let encoded = sha256_hex_string(creq.as_bytes());
|
751 995 |
|
752 996 | let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
|
753 997 | assert_eq!(expected_sts, actual.to_string());
|
754 998 | }
|
755 999 |
|
756 1000 | #[test]
|
757 1001 | fn test_digest_of_canonical_request() {
|
758 - | let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
|
1002 + | let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
|
1003 + | let creq = test.canonical_request(SignatureLocation::Headers);
|
759 1004 | let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
|
760 1005 | let actual = sha256_hex_string(creq.as_bytes());
|
761 1006 | assert_eq!(expected, actual);
|
762 1007 | }
|
763 1008 |
|
764 1009 | #[test]
|
765 1010 | fn test_double_url_encode_path() {
|
766 - | let req = test::v4::test_request("double-encode-path");
|
1011 + | let test = SigningSuiteTest::v4("double-encode-path");
|
1012 + | let req = test.request();
|
767 1013 | let req = SignableRequest::from(&req);
|
768 1014 | let identity = Credentials::for_tests().into();
|
769 1015 | let signing_params = signing_params(&identity, SigningSettings::default());
|
770 1016 | let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
|
771 1017 |
|
772 - | let expected = test::v4::test_canonical_request("double-encode-path");
|
1018 + | let expected = test.canonical_request(SignatureLocation::Headers);
|
773 1019 | let actual = format!("{}", creq);
|
774 1020 | assert_eq!(actual, expected);
|
775 1021 | }
|
776 1022 |
|
777 1023 | #[test]
|
778 1024 | fn test_double_url_encode() {
|
779 - | let req = test::v4::test_request("double-url-encode");
|
1025 + | let test = SigningSuiteTest::v4("double-url-encode");
|
1026 + | let req = test.request();
|
780 1027 | let req = SignableRequest::from(&req);
|
781 1028 | let identity = Credentials::for_tests().into();
|
782 1029 | let signing_params = signing_params(&identity, SigningSettings::default());
|
783 1030 | let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
|
784 - |
|
785 - | let expected = test::v4::test_canonical_request("double-url-encode");
|
1031 + | let expected = test.canonical_request(SignatureLocation::Headers);
|
786 1032 | let actual = format!("{}", creq);
|
787 1033 | assert_eq!(actual, expected);
|
788 1034 | }
|
789 1035 |
|
790 1036 | #[test]
|
791 1037 | fn test_tilde_in_uri() {
|
792 1038 | let req = http0::Request::builder()
|
793 1039 | .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
|
794 1040 | let req = SignableRequest::from(&req);
|
795 1041 | let identity = Credentials::for_tests().into();
|
796 1042 | let signing_params = signing_params(&identity, SigningSettings::default());
|
797 1043 | let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
|
798 1044 | assert_eq!(
|
799 1045 | Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
|
800 1046 | creq.params.as_deref(),
|
801 1047 | );
|
802 1048 | }
|
803 1049 |
|
804 1050 | #[test]
|
805 1051 | fn test_signing_urls_with_percent_encoded_query_strings() {
|
806 1052 | let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
|
807 1053 | let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
|
808 1054 |
|
809 1055 | let mut query_writer = QueryWriter::new(&uri);
|
810 1056 | query_writer.insert("list-type", "2");
|
811 1057 | query_writer.insert("prefix", &all_printable_ascii_chars);
|
812 1058 |
|
813 1059 | let req = http0::Request::builder()
|
814 1060 | .uri(query_writer.build_uri())
|
815 1061 | .body("")
|
816 1062 | .unwrap()
|
817 1063 | .into();
|
818 1064 | let req = SignableRequest::from(&req);
|
819 1065 | let identity = Credentials::for_tests().into();
|
820 1066 | let signing_params = signing_params(&identity, SigningSettings::default());
|
821 1067 | let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
|
822 1068 |
|
823 1069 | let expected = "list-type=2&prefix=%20%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D~";
|
824 1070 | let actual = creq.params.unwrap();
|
825 1071 | assert_eq!(expected, actual);
|
826 1072 | }
|
827 1073 |
|
828 1074 | #[test]
|
829 1075 | fn test_omit_session_token() {
|
830 - | let req = test::v4::test_request("get-vanilla-query-order-key-case");
|
1076 + | let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
|
1077 + | let req = test.request();
|
831 1078 | let req = SignableRequest::from(&req);
|
832 1079 | let settings = SigningSettings {
|
833 1080 | session_token_mode: SessionTokenMode::Include,
|
834 1081 | ..Default::default()
|
835 1082 | };
|
836 1083 | let identity = Credentials::for_tests_with_session_token().into();
|
837 1084 | let mut signing_params = signing_params(&identity, settings);
|
838 1085 |
|
839 1086 | let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
|
840 1087 | assert_eq!(
|
841 1088 | creq.values.signed_headers().as_str(),
|
842 1089 | "host;x-amz-date;x-amz-security-token"
|
843 1090 | );
|
844 1091 | assert_eq!(
|
845 1092 | creq.headers.get("x-amz-security-token").unwrap(),
|
846 1093 | "notarealsessiontoken"
|
847 1094 | );
|
848 1095 |
|
849 1096 | signing_params.set_session_token_mode(SessionTokenMode::Exclude);
|
850 1097 | let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
|
851 1098 | assert_eq!(
|
852 1099 | creq.headers.get("x-amz-security-token").unwrap(),
|
853 1100 | "notarealsessiontoken"
|
854 1101 | );
|
855 1102 | assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
|
856 1103 | }
|
857 1104 |
|
858 1105 | // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
|
859 1106 | #[test]
|
860 1107 | fn non_presigning_header_exclusion() {
|
861 1108 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
|
862 1109 | index c4bbbee..363fc2c 100644
|
863 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
|
1110 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
|
864 1111 | @@ -6,60 +6,62 @@
|
865 1112 | use super::error::SigningError;
|
866 1113 | use super::{PayloadChecksumKind, SignatureLocation};
|
867 1114 | use crate::http_request::canonical_request::header;
|
868 1115 | use crate::http_request::canonical_request::param;
|
869 1116 | use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
|
870 1117 | use crate::http_request::error::CanonicalRequestError;
|
871 1118 | use crate::http_request::SigningParams;
|
872 1119 | use crate::sign::v4;
|
873 1120 | #[cfg(feature = "sigv4a")]
|
874 1121 | use crate::sign::v4a;
|
875 1122 | use crate::{SignatureVersion, SigningOutput};
|
876 1123 | use http0::Uri;
|
877 1124 | use std::borrow::Cow;
|
878 1125 | use std::fmt::{Debug, Formatter};
|
879 1126 | use std::str;
|
880 1127 |
|
881 1128 | const LOG_SIGNABLE_BODY: &str = "LOG_SIGNABLE_BODY";
|
882 1129 |
|
883 1130 | /// Represents all of the information necessary to sign an HTTP request.
|
884 1131 | #[derive(Debug)]
|
885 1132 | #[non_exhaustive]
|
886 1133 | pub struct SignableRequest<'a> {
|
887 1134 | method: &'a str,
|
888 1135 | uri: Uri,
|
889 1136 | headers: Vec<(&'a str, &'a str)>,
|
890 1137 | body: SignableBody<'a>,
|
891 1138 | }
|
892 1139 |
|
893 1140 | impl<'a> SignableRequest<'a> {
|
894 1141 | /// Creates a new `SignableRequest`.
|
1142 + | ///
|
1143 + | /// NOTE: The `uri` is expected to already in encoded form.
|
895 1144 | pub fn new(
|
896 1145 | method: &'a str,
|
897 1146 | uri: impl Into<Cow<'a, str>>,
|
898 1147 | headers: impl Iterator<Item = (&'a str, &'a str)>,
|
899 1148 | body: SignableBody<'a>,
|
900 1149 | ) -> Result<Self, SigningError> {
|
901 1150 | let uri = uri
|
902 1151 | .into()
|
903 1152 | .parse()
|
904 1153 | .map_err(|e| SigningError::from(CanonicalRequestError::from(e)))?;
|
905 1154 | let headers = headers.collect();
|
906 1155 | Ok(Self {
|
907 1156 | method,
|
908 1157 | uri,
|
909 1158 | headers,
|
910 1159 | body,
|
911 1160 | })
|
912 1161 | }
|
913 1162 |
|
914 1163 | /// Returns the signable URI
|
915 1164 | pub(crate) fn uri(&self) -> &Uri {
|
916 1165 | &self.uri
|
917 1166 | }
|
918 1167 |
|
919 1168 | /// Returns the signable HTTP method
|
920 1169 | pub(crate) fn method(&self) -> &str {
|
921 1170 | self.method
|
922 1171 | }
|
923 1172 |
|
924 1173 | /// Returns the request headers
|
925 1174 | @@ -478,436 +480,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
|
926 1175 | sensitive,
|
927 1176 | });
|
928 1177 | }
|
929 1178 |
|
930 1179 | // add signature to authorization header
|
931 1180 | // Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
|
932 1181 | fn build_authorization_header(
|
933 1182 | access_key: &str,
|
934 1183 | creq: &CanonicalRequest<'_>,
|
935 1184 | sts: StringToSign<'_>,
|
936 1185 | signature: &str,
|
937 1186 | signature_version: SignatureVersion,
|
938 1187 | ) -> String {
|
939 1188 | let scope = match signature_version {
|
940 1189 | SignatureVersion::V4 => sts.scope.to_string(),
|
941 1190 | SignatureVersion::V4a => sts.scope.v4a_display(),
|
942 1191 | };
|
943 1192 | format!(
|
944 1193 | "{} Credential={}/{}, SignedHeaders={}, Signature={}",
|
945 1194 | sts.algorithm,
|
946 1195 | access_key,
|
947 1196 | scope,
|
948 1197 | creq.values.signed_headers().as_str(),
|
949 1198 | signature
|
950 1199 | )
|
951 1200 | }
|
952 1201 | #[cfg(test)]
|
953 1202 | mod tests {
|
954 1203 | use crate::date_time::test_parsers::parse_date_time;
|
955 1204 | use crate::http_request::sign::{add_header, SignableRequest};
|
1205 + | use crate::http_request::test::SigningSuiteTest;
|
956 1206 | use crate::http_request::{
|
957 - | sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
|
1207 + | sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
|
958 1208 | SigningSettings,
|
959 1209 | };
|
960 1210 | use crate::sign::v4;
|
961 1211 | use aws_credential_types::Credentials;
|
962 1212 | use http0::{HeaderValue, Request};
|
963 1213 | use pretty_assertions::assert_eq;
|
964 1214 | use proptest::proptest;
|
965 1215 | use std::borrow::Cow;
|
966 1216 | use std::iter;
|
967 - | use std::time::Duration;
|
968 1217 |
|
969 1218 | macro_rules! assert_req_eq {
|
970 1219 | (http: $expected:expr, $actual:expr) => {
|
971 1220 | let mut expected = ($expected).map(|_b|"body");
|
972 1221 | let mut actual = ($actual).map(|_b|"body");
|
973 1222 | make_headers_comparable(&mut expected);
|
974 1223 | make_headers_comparable(&mut actual);
|
975 1224 | assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
|
976 1225 | };
|
977 1226 | ($expected:tt, $actual:tt) => {
|
978 1227 | assert_req_eq!(http: ($expected).as_http_request(), $actual);
|
979 1228 | };
|
980 1229 | }
|
981 1230 |
|
982 1231 | pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
|
983 1232 | for (_name, value) in request.headers_mut() {
|
984 1233 | value.set_sensitive(false);
|
985 1234 | }
|
986 1235 | }
|
987 1236 |
|
988 - | #[test]
|
989 - | fn test_sign_vanilla_with_headers() {
|
990 - | let settings = SigningSettings::default();
|
991 - | let identity = &Credentials::for_tests().into();
|
992 - | let params = v4::SigningParams {
|
993 - | identity,
|
994 - | region: "us-east-1",
|
995 - | name: "service",
|
996 - | time: parse_date_time("20150830T123600Z").unwrap(),
|
997 - | settings,
|
998 - | }
|
999 - | .into();
|
1000 - |
|
1001 - | let original = test::v4::test_request("get-vanilla-query-order-key-case");
|
1002 - | let signable = SignableRequest::from(&original);
|
1003 - | let out = sign(signable, ¶ms).unwrap();
|
1004 - | assert_eq!(
|
1005 - | "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
|
1006 - | out.signature
|
1007 - | );
|
1008 - |
|
1009 - | let mut signed = original.as_http_request();
|
1010 - | out.output.apply_to_request_http0x(&mut signed);
|
1011 - |
|
1012 - | let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
|
1013 - | assert_req_eq!(expected, signed);
|
1014 - | }
|
1015 - |
|
1237 + | // Sigv4A suite tests
|
1016 1238 | #[cfg(feature = "sigv4a")]
|
1017 - | mod sigv4a_tests {
|
1018 - | use super::*;
|
1019 - | use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
|
1020 - | use crate::http_request::{sign, test, SigningParams};
|
1021 - | use crate::sign::v4a;
|
1022 - | use p256::ecdsa::signature::{Signature, Verifier};
|
1023 - | use p256::ecdsa::{DerSignature, SigningKey};
|
1024 - | use pretty_assertions::assert_eq;
|
1025 - |
|
1026 - | fn new_v4a_signing_params_from_context(
|
1027 - | test_context: &'_ test::v4a::TestContext,
|
1028 - | signature_location: SignatureLocation,
|
1029 - | ) -> SigningParams<'_> {
|
1030 - | let mut params = v4a::SigningParams::from(test_context);
|
1031 - | params.settings.signature_location = signature_location;
|
1032 - |
|
1033 - | params.into()
|
1034 - | }
|
1035 - |
|
1036 - | fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
|
1037 - | let tc = test::v4a::test_context(test_name);
|
1038 - | let params = new_v4a_signing_params_from_context(&tc, signature_location);
|
1039 - |
|
1040 - | let req = test::v4a::test_request(test_name);
|
1041 - | let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
|
1042 - | let signable_req = SignableRequest::from(&req);
|
1043 - | let actual_creq = CanonicalRequest::from(&signable_req, ¶ms).unwrap();
|
1239 + | mod v4a_suite {
|
1240 + | use crate::http_request::test::v4a::run_test_suite_v4a;
|
1044 1241 |
|
1045 - | assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
|
1046 - |
|
1047 - | let expected_string_to_sign =
|
1048 - | test::v4a::test_string_to_sign(test_name, signature_location);
|
1049 - | let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
|
1050 - | let actual_string_to_sign = StringToSign::new_v4a(
|
1051 - | *params.time(),
|
1052 - | params.region_set().unwrap(),
|
1053 - | params.name(),
|
1054 - | hashed_creq,
|
1055 - | )
|
1056 - | .to_string();
|
1057 - |
|
1058 - | assert_eq!(
|
1059 - | expected_string_to_sign, actual_string_to_sign,
|
1060 - | "'string to sign' didn't match"
|
1061 - | );
|
1062 - |
|
1063 - | let out = sign(signable_req, ¶ms).unwrap();
|
1064 - | // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
|
1065 - | out.output
|
1066 - | .apply_to_request_http0x(&mut req.as_http_request());
|
1067 - |
|
1068 - | let creds = params.credentials().unwrap();
|
1069 - | let signing_key =
|
1070 - | v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
|
1071 - | let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
|
1072 - | let sig = sig
|
1073 - | .try_into()
|
1074 - | .expect("DER-style signatures are always convertible into fixed-size signatures");
|
1075 - |
|
1076 - | let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
|
1077 - | let peer_public_key = signing_key.verifying_key();
|
1078 - | let sts = actual_string_to_sign.as_bytes();
|
1079 - | peer_public_key.verify(sts, &sig).unwrap();
|
1242 + | #[test]
|
1243 + | fn test_get_header_key_duplicate() {
|
1244 + | run_test_suite_v4a("get-header-key-duplicate")
|
1080 1245 | }
|
1081 1246 |
|
1082 1247 | #[test]
|
1083 - | fn test_get_header_key_duplicate() {
|
1084 - | run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
|
1248 + | #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
|
1249 + | fn test_get_header_value_multiline() {
|
1250 + | run_test_suite_v4a("get-header-value-multiline")
|
1085 1251 | }
|
1086 1252 |
|
1087 1253 | #[test]
|
1088 1254 | fn test_get_header_value_order() {
|
1089 - | run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
|
1255 + | run_test_suite_v4a("get-header-value-order")
|
1090 1256 | }
|
1091 1257 |
|
1092 1258 | #[test]
|
1093 1259 | fn test_get_header_value_trim() {
|
1094 - | run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
|
1260 + | run_test_suite_v4a("get-header-value-trim");
|
1095 1261 | }
|
1096 1262 |
|
1097 1263 | #[test]
|
1098 1264 | fn test_get_relative_normalized() {
|
1099 - | run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
|
1265 + | run_test_suite_v4a("get-relative-normalized");
|
1100 1266 | }
|
1101 1267 |
|
1102 1268 | #[test]
|
1103 1269 | fn test_get_relative_relative_normalized() {
|
1104 - | run_v4a_test_suite(
|
1105 - | "get-relative-relative-normalized",
|
1106 - | SignatureLocation::Headers,
|
1107 - | );
|
1270 + | run_test_suite_v4a("get-relative-relative-normalized");
|
1108 1271 | }
|
1109 1272 |
|
1110 1273 | #[test]
|
1111 1274 | fn test_get_relative_relative_unnormalized() {
|
1112 - | run_v4a_test_suite(
|
1113 - | "get-relative-relative-unnormalized",
|
1114 - | SignatureLocation::Headers,
|
1115 - | );
|
1275 + | run_test_suite_v4a("get-relative-relative-unnormalized");
|
1116 1276 | }
|
1117 1277 |
|
1118 1278 | #[test]
|
1119 1279 | fn test_get_relative_unnormalized() {
|
1120 - | run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
|
1280 + | run_test_suite_v4a("get-relative-unnormalized");
|
1121 1281 | }
|
1122 1282 |
|
1123 1283 | #[test]
|
1124 1284 | fn test_get_slash_dot_slash_normalized() {
|
1125 - | run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
|
1285 + | run_test_suite_v4a("get-slash-dot-slash-normalized");
|
1126 1286 | }
|
1127 1287 |
|
1128 1288 | #[test]
|
1129 1289 | fn test_get_slash_dot_slash_unnormalized() {
|
1130 - | run_v4a_test_suite(
|
1131 - | "get-slash-dot-slash-unnormalized",
|
1132 - | SignatureLocation::Headers,
|
1133 - | );
|
1290 + | run_test_suite_v4a("get-slash-dot-slash-unnormalized");
|
1134 1291 | }
|
1135 1292 |
|
1136 1293 | #[test]
|
1137 1294 | fn test_get_slash_normalized() {
|
1138 - | run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
|
1295 + | run_test_suite_v4a("get-slash-normalized");
|
1139 1296 | }
|
1140 1297 |
|
1141 1298 | #[test]
|
1142 1299 | fn test_get_slash_pointless_dot_normalized() {
|
1143 - | run_v4a_test_suite(
|
1144 - | "get-slash-pointless-dot-normalized",
|
1145 - | SignatureLocation::Headers,
|
1146 - | );
|
1300 + | run_test_suite_v4a("get-slash-pointless-dot-normalized");
|
1147 1301 | }
|
1148 1302 |
|
1149 1303 | #[test]
|
1150 1304 | fn test_get_slash_pointless_dot_unnormalized() {
|
1151 - | run_v4a_test_suite(
|
1152 - | "get-slash-pointless-dot-unnormalized",
|
1153 - | SignatureLocation::Headers,
|
1154 - | );
|
1305 + | run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
|
1155 1306 | }
|
1156 1307 |
|
1157 1308 | #[test]
|
1158 1309 | fn test_get_slash_unnormalized() {
|
1159 - | run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
|
1310 + | run_test_suite_v4a("get-slash-unnormalized");
|
1160 1311 | }
|
1161 1312 |
|
1162 1313 | #[test]
|
1163 1314 | fn test_get_slashes_normalized() {
|
1164 - | run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
|
1315 + | run_test_suite_v4a("get-slashes-normalized");
|
1165 1316 | }
|
1166 1317 |
|
1167 1318 | #[test]
|
1168 1319 | fn test_get_slashes_unnormalized() {
|
1169 - | run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
|
1320 + | run_test_suite_v4a("get-slashes-unnormalized");
|
1321 + | }
|
1322 + |
|
1323 + | #[test]
|
1324 + | #[ignore = "relies on single encode of path segments"]
|
1325 + | // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
|
1326 + | // skipped until we add control over double_uri_encode in context.json
|
1327 + | fn test_get_space_normalized() {
|
1328 + | run_test_suite_v4a("get-space-normalized");
|
1329 + | }
|
1330 + |
|
1331 + | #[test]
|
1332 + | #[ignore = "httpparse fails on unencoded spaces in path"]
|
1333 + | // the input request has unencoded space ' ' in the path which fails to parse
|
1334 + | fn test_get_space_unnormalized() {
|
1335 + | run_test_suite_v4a("get-space-unnormalized");
|
1170 1336 | }
|
1171 1337 |
|
1172 1338 | #[test]
|
1173 1339 | fn test_get_unreserved() {
|
1174 - | run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
|
1340 + | run_test_suite_v4a("get-unreserved");
|
1341 + | }
|
1342 + |
|
1343 + | #[test]
|
1344 + | #[ignore = "httparse fails on invalid uri character"]
|
1345 + | // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
|
1346 + | fn test_get_utf8() {
|
1347 + | run_test_suite_v4a("get-utf8");
|
1175 1348 | }
|
1176 1349 |
|
1177 1350 | #[test]
|
1178 1351 | fn test_get_vanilla() {
|
1179 - | run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
|
1352 + | run_test_suite_v4a("get-vanilla");
|
1180 1353 | }
|
1181 1354 |
|
1182 1355 | #[test]
|
1183 1356 | fn test_get_vanilla_empty_query_key() {
|
1184 - | run_v4a_test_suite(
|
1185 - | "get-vanilla-empty-query-key",
|
1186 - | SignatureLocation::QueryParams,
|
1187 - | );
|
1357 + | run_test_suite_v4a("get-vanilla-empty-query-key");
|
1188 1358 | }
|
1189 1359 |
|
1190 1360 | #[test]
|
1191 1361 | fn test_get_vanilla_query() {
|
1192 - | run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
|
1362 + | run_test_suite_v4a("get-vanilla-query");
|
1363 + | }
|
1364 + |
|
1365 + | #[test]
|
1366 + | fn test_get_vanilla_query_order_encoded() {
|
1367 + | run_test_suite_v4a("get-vanilla-query-order-encoded");
|
1193 1368 | }
|
1194 1369 |
|
1195 1370 | #[test]
|
1196 1371 | fn test_get_vanilla_query_order_key_case() {
|
1197 - | run_v4a_test_suite(
|
1198 - | "get-vanilla-query-order-key-case",
|
1199 - | SignatureLocation::QueryParams,
|
1200 - | );
|
1372 + | run_test_suite_v4a("get-vanilla-query-order-key-case");
|
1201 1373 | }
|
1202 1374 |
|
1203 1375 | #[test]
|
1204 1376 | fn test_get_vanilla_query_unreserved() {
|
1205 - | run_v4a_test_suite(
|
1206 - | "get-vanilla-query-unreserved",
|
1207 - | SignatureLocation::QueryParams,
|
1208 - | );
|
1377 + | run_test_suite_v4a("get-vanilla-query-unreserved");
|
1378 + | }
|
1379 + |
|
1380 + | #[test]
|
1381 + | #[ignore = "httparse fails on invalid uri character"]
|
1382 + | // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
|
1383 + | fn test_get_vanilla_utf8_query() {
|
1384 + | run_test_suite_v4a("get-vanilla-utf8-query");
|
1209 1385 | }
|
1210 1386 |
|
1211 1387 | #[test]
|
1212 1388 | fn test_get_vanilla_with_session_token() {
|
1213 - | run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
|
1389 + | run_test_suite_v4a("get-vanilla-with-session-token")
|
1214 1390 | }
|
1215 1391 |
|
1216 1392 | #[test]
|
1217 1393 | fn test_post_header_key_case() {
|
1218 - | run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
|
1394 + | run_test_suite_v4a("post-header-key-case");
|
1219 1395 | }
|
1220 1396 |
|
1221 1397 | #[test]
|
1222 1398 | fn test_post_header_key_sort() {
|
1223 - | run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
|
1399 + | run_test_suite_v4a("post-header-key-sort");
|
1224 1400 | }
|
1225 1401 |
|
1226 1402 | #[test]
|
1227 1403 | fn test_post_header_value_case() {
|
1228 - | run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
|
1404 + | run_test_suite_v4a("post-header-value-case");
|
1229 1405 | }
|
1230 1406 |
|
1231 1407 | #[test]
|
1232 1408 | fn test_post_sts_header_after() {
|
1233 - | run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
|
1409 + | run_test_suite_v4a("post-sts-header-after");
|
1234 1410 | }
|
1235 1411 |
|
1236 1412 | #[test]
|
1237 1413 | fn test_post_sts_header_before() {
|
1238 - | run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
|
1414 + | run_test_suite_v4a("post-sts-header-before");
|
1239 1415 | }
|
1240 1416 |
|
1241 1417 | #[test]
|
1242 1418 | fn test_post_vanilla() {
|
1243 - | run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
|
1419 + | run_test_suite_v4a("post-vanilla");
|
1244 1420 | }
|
1245 1421 |
|
1246 1422 | #[test]
|
1247 1423 | fn test_post_vanilla_empty_query_value() {
|
1248 - | run_v4a_test_suite(
|
1249 - | "post-vanilla-empty-query-value",
|
1250 - | SignatureLocation::QueryParams,
|
1251 - | );
|
1424 + | run_test_suite_v4a("post-vanilla-empty-query-value");
|
1252 1425 | }
|
1253 1426 |
|
1254 1427 | #[test]
|
1255 1428 | fn test_post_vanilla_query() {
|
1256 - | run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
|
1429 + | run_test_suite_v4a("post-vanilla-query");
|
1257 1430 | }
|
1258 1431 |
|
1259 1432 | #[test]
|
1260 1433 | fn test_post_x_www_form_urlencoded() {
|
1261 - | run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
|
1434 + | run_test_suite_v4a("post-x-www-form-urlencoded");
|
1262 1435 | }
|
1263 1436 |
|
1264 1437 | #[test]
|
1265 1438 | fn test_post_x_www_form_urlencoded_parameters() {
|
1266 - | run_v4a_test_suite(
|
1267 - | "post-x-www-form-urlencoded-parameters",
|
1268 - | SignatureLocation::QueryParams,
|
1269 - | );
|
1439 + | run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
|
1270 1440 | }
|
1271 1441 | }
|
1272 1442 |
|
1273 1443 | #[test]
|
1274 1444 | fn test_sign_url_escape() {
|
1275 - | let test = "double-encode-path";
|
1445 + | let test = SigningSuiteTest::v4("double-encode-path");
|
1276 1446 | let settings = SigningSettings::default();
|
1277 1447 | let identity = &Credentials::for_tests().into();
|
1278 1448 | let params = v4::SigningParams {
|
1279 1449 | identity,
|
1280 1450 | region: "us-east-1",
|
1281 1451 | name: "service",
|
1282 1452 | time: parse_date_time("20150830T123600Z").unwrap(),
|
1283 1453 | settings,
|
1284 1454 | }
|
1285 1455 | .into();
|
1286 1456 |
|
1287 - | let original = test::v4::test_request(test);
|
1457 + | let original = test.request();
|
1288 1458 | let signable = SignableRequest::from(&original);
|
1289 1459 | let out = sign(signable, ¶ms).unwrap();
|
1290 1460 | assert_eq!(
|
1291 1461 | "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
|
1292 1462 | out.signature
|
1293 1463 | );
|
1294 1464 |
|
1295 1465 | let mut signed = original.as_http_request();
|
1296 1466 | out.output.apply_to_request_http0x(&mut signed);
|
1297 1467 |
|
1298 - | let expected = test::v4::test_signed_request(test);
|
1299 - | assert_req_eq!(expected, signed);
|
1300 - | }
|
1301 - |
|
1302 - | #[test]
|
1303 - | fn test_sign_vanilla_with_query_params() {
|
1304 - | let settings = SigningSettings {
|
1305 - | signature_location: SignatureLocation::QueryParams,
|
1306 - | expires_in: Some(Duration::from_secs(35)),
|
1307 - | ..Default::default()
|
1308 - | };
|
1309 - | let identity = &Credentials::for_tests().into();
|
1310 - | let params = v4::SigningParams {
|
1311 - | identity,
|
1312 - | region: "us-east-1",
|
1313 - | name: "service",
|
1314 - | time: parse_date_time("20150830T123600Z").unwrap(),
|
1315 - | settings,
|
1316 - | }
|
1317 - | .into();
|
1318 - |
|
1319 - | let original = test::v4::test_request("get-vanilla-query-order-key-case");
|
1320 - | let signable = SignableRequest::from(&original);
|
1321 - | let out = sign(signable, ¶ms).unwrap();
|
1322 - | assert_eq!(
|
1323 - | "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
|
1324 - | out.signature
|
1325 - | );
|
1326 - |
|
1327 - | let mut signed = original.as_http_request();
|
1328 - | out.output.apply_to_request_http0x(&mut signed);
|
1329 - |
|
1330 - | let expected =
|
1331 - | test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
|
1468 + | let expected = test.signed_request(SignatureLocation::Headers);
|
1332 1469 | assert_req_eq!(expected, signed);
|
1333 1470 | }
|
1334 1471 |
|
1335 1472 | #[test]
|
1336 1473 | fn test_sign_headers_utf8() {
|
1337 1474 | let settings = SigningSettings::default();
|
1338 1475 | let identity = &Credentials::for_tests().into();
|
1339 1476 | let params = v4::SigningParams {
|
1340 1477 | identity,
|
1341 1478 | region: "us-east-1",
|
1342 1479 | name: "service",
|
1343 1480 | time: parse_date_time("20150830T123600Z").unwrap(),
|
1344 1481 | settings,
|
1345 1482 | }
|
1346 1483 | .into();
|
1347 1484 |
|
1348 1485 | let original = http0::Request::builder()
|
1349 1486 | .uri("https://some-endpoint.some-region.amazonaws.com")
|
1350 1487 | .header("some-header", HeaderValue::from_str("テスト").unwrap())
|
1351 1488 | .body("")
|
1352 1489 | .unwrap()
|
1353 1490 | .into();
|
1354 1491 | let signable = SignableRequest::from(&original);
|
1355 1492 | let out = sign(signable, ¶ms).unwrap();
|
1356 1493 | assert_eq!(
|
1357 1494 | "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
|
1358 1495 | out.signature
|
1359 1496 | );
|
1360 1497 |
|
1361 1498 | let mut signed = original.as_http_request();
|
1362 1499 | @@ -1138,31 +1028,236 @@ mod tests {
|
1363 1500 | let mut request = http::Request::builder()
|
1364 1501 | .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
|
1365 1502 | .body("")
|
1366 1503 | .unwrap();
|
1367 1504 |
|
1368 1505 | instructions.apply_to_request_http1x(&mut request);
|
1369 1506 |
|
1370 1507 | assert_eq!(
|
1371 1508 | "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
|
1372 1509 | request.uri().path_and_query().unwrap().to_string()
|
1373 1510 | );
|
1374 1511 | }
|
1375 1512 |
|
1376 1513 | #[test]
|
1377 1514 | fn test_debug_signable_body() {
|
1378 1515 | let sut = SignableBody::Bytes(b"hello signable body");
|
1379 1516 | assert_eq!(
|
1380 1517 | "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
|
1381 1518 | format!("{sut:?}")
|
1382 1519 | );
|
1383 1520 |
|
1384 1521 | let sut = SignableBody::UnsignedPayload;
|
1385 1522 | assert_eq!("UnsignedPayload", format!("{sut:?}"));
|
1386 1523 |
|
1387 1524 | let sut = SignableBody::Precomputed("precomputed".to_owned());
|
1388 1525 | assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
|
1389 1526 |
|
1390 1527 | let sut = SignableBody::StreamingUnsignedPayloadTrailer;
|
1391 1528 | assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
|
1392 1529 | }
|
1530 + |
|
1531 + | // v4 test suite
|
1532 + | mod v4_suite {
|
1533 + | use crate::http_request::test::run_test_suite_v4;
|
1534 + |
|
1535 + | #[test]
|
1536 + | fn test_get_header_key_duplicate() {
|
1537 + | run_test_suite_v4("get-header-key-duplicate");
|
1538 + | }
|
1539 + |
|
1540 + | #[test]
|
1541 + | #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
|
1542 + | fn test_get_header_value_multiline() {
|
1543 + | run_test_suite_v4("get-header-value-multiline");
|
1544 + | }
|
1545 + |
|
1546 + | #[test]
|
1547 + | fn test_get_header_value_order() {
|
1548 + | run_test_suite_v4("get-header-value-order");
|
1549 + | }
|
1550 + |
|
1551 + | #[test]
|
1552 + | fn test_get_header_value_trim() {
|
1553 + | run_test_suite_v4("get-header-value-trim");
|
1554 + | }
|
1555 + |
|
1556 + | #[test]
|
1557 + | fn test_get_relative_normalized() {
|
1558 + | run_test_suite_v4("get-relative-normalized");
|
1559 + | }
|
1560 + |
|
1561 + | #[test]
|
1562 + | fn test_get_relative_relative_normalized() {
|
1563 + | run_test_suite_v4("get-relative-relative-normalized");
|
1564 + | }
|
1565 + |
|
1566 + | #[test]
|
1567 + | fn test_get_relative_relative_unnormalized() {
|
1568 + | run_test_suite_v4("get-relative-relative-unnormalized");
|
1569 + | }
|
1570 + |
|
1571 + | #[test]
|
1572 + | fn test_get_relative_unnormalized() {
|
1573 + | run_test_suite_v4("get-relative-unnormalized");
|
1574 + | }
|
1575 + |
|
1576 + | #[test]
|
1577 + | fn test_get_slash_dot_slash_normalized() {
|
1578 + | run_test_suite_v4("get-slash-dot-slash-normalized");
|
1579 + | }
|
1580 + |
|
1581 + | #[test]
|
1582 + | fn test_get_slash_dot_slash_unnormalized() {
|
1583 + | run_test_suite_v4("get-slash-dot-slash-unnormalized");
|
1584 + | }
|
1585 + |
|
1586 + | #[test]
|
1587 + | fn test_get_slash_normalized() {
|
1588 + | run_test_suite_v4("get-slash-normalized");
|
1589 + | }
|
1590 + |
|
1591 + | #[test]
|
1592 + | fn test_get_slash_pointless_dot_normalized() {
|
1593 + | run_test_suite_v4("get-slash-pointless-dot-normalized");
|
1594 + | }
|
1595 + |
|
1596 + | #[test]
|
1597 + | fn test_get_slash_pointless_dot_unnormalized() {
|
1598 + | run_test_suite_v4("get-slash-pointless-dot-unnormalized");
|
1599 + | }
|
1600 + |
|
1601 + | #[test]
|
1602 + | fn test_get_slash_unnormalized() {
|
1603 + | run_test_suite_v4("get-slash-unnormalized");
|
1604 + | }
|
1605 + |
|
1606 + | #[test]
|
1607 + | fn test_get_slashes_normalized() {
|
1608 + | run_test_suite_v4("get-slashes-normalized");
|
1609 + | }
|
1610 + |
|
1611 + | #[test]
|
1612 + | fn test_get_slashes_unnormalized() {
|
1613 + | run_test_suite_v4("get-slashes-unnormalized");
|
1614 + | }
|
1615 + |
|
1616 + | #[test]
|
1617 + | #[ignore = "relies on single encode of path segments"]
|
1618 + | // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
|
1619 + | // skipped until we add control over double_uri_encode in context.json
|
1620 + | fn test_get_space_normalized() {
|
1621 + | run_test_suite_v4("get-space-normalized");
|
1622 + | }
|
1623 + |
|
1624 + | #[test]
|
1625 + | #[ignore = "httpparse fails on unencoded spaces in path"]
|
1626 + | // the input request has unencoded space ' ' in the path which fails to parse
|
1627 + | fn test_get_space_unnormalized() {
|
1628 + | run_test_suite_v4("get-space-unnormalized");
|
1629 + | }
|
1630 + |
|
1631 + | #[test]
|
1632 + | fn test_get_unreserved() {
|
1633 + | run_test_suite_v4("get-unreserved");
|
1634 + | }
|
1635 + |
|
1636 + | #[test]
|
1637 + | #[ignore = "httparse fails on invalid uri character"]
|
1638 + | // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
|
1639 + | fn test_get_utf8() {
|
1640 + | run_test_suite_v4("get-utf8");
|
1641 + | }
|
1642 + |
|
1643 + | #[test]
|
1644 + | fn test_get_vanilla() {
|
1645 + | run_test_suite_v4("get-vanilla");
|
1646 + | }
|
1647 + |
|
1648 + | #[test]
|
1649 + | fn test_get_vanilla_empty_query_key() {
|
1650 + | run_test_suite_v4("get-vanilla-empty-query-key");
|
1651 + | }
|
1652 + |
|
1653 + | #[test]
|
1654 + | fn test_get_vanilla_query() {
|
1655 + | run_test_suite_v4("get-vanilla-query");
|
1656 + | }
|
1657 + |
|
1658 + | #[test]
|
1659 + | fn test_get_vanilla_query_order_encoded() {
|
1660 + | run_test_suite_v4("get-vanilla-query-order-encoded");
|
1661 + | }
|
1662 + |
|
1663 + | #[test]
|
1664 + | fn test_get_vanilla_query_order_key_case() {
|
1665 + | run_test_suite_v4("get-vanilla-query-order-key-case");
|
1666 + | }
|
1667 + |
|
1668 + | #[test]
|
1669 + | fn test_get_vanilla_query_unreserved() {
|
1670 + | run_test_suite_v4("get-vanilla-query-unreserved");
|
1671 + | }
|
1672 + |
|
1673 + | #[test]
|
1674 + | #[ignore = "httparse fails on invalid uri character"]
|
1675 + | // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
|
1676 + | fn test_get_vanilla_utf8_query() {
|
1677 + | run_test_suite_v4("get-vanilla-utf8-query");
|
1678 + | }
|
1679 + |
|
1680 + | #[test]
|
1681 + | fn test_get_vanilla_with_session_token() {
|
1682 + | run_test_suite_v4("get-vanilla-with-session-token");
|
1683 + | }
|
1684 + |
|
1685 + | #[test]
|
1686 + | fn test_post_header_key_case() {
|
1687 + | run_test_suite_v4("post-header-key-case");
|
1688 + | }
|
1689 + |
|
1690 + | #[test]
|
1691 + | fn test_post_header_key_sort() {
|
1692 + | run_test_suite_v4("post-header-key-sort");
|
1693 + | }
|
1694 + |
|
1695 + | #[test]
|
1696 + | fn test_post_header_value_case() {
|
1697 + | run_test_suite_v4("post-header-value-case");
|
1698 + | }
|
1699 + |
|
1700 + | #[test]
|
1701 + | fn test_post_sts_header_after() {
|
1702 + | run_test_suite_v4("post-sts-header-after");
|
1703 + | }
|
1704 + |
|
1705 + | #[test]
|
1706 + | fn test_post_sts_header_before() {
|
1707 + | run_test_suite_v4("post-sts-header-before");
|
1708 + | }
|
1709 + |
|
1710 + | #[test]
|
1711 + | fn test_post_vanilla() {
|
1712 + | run_test_suite_v4("post-vanilla");
|
1713 + | }
|
1714 + |
|
1715 + | #[test]
|
1716 + | fn test_post_vanilla_empty_query_value() {
|
1717 + | run_test_suite_v4("post-vanilla-empty-query-value");
|
1718 + | }
|
1719 + |
|
1720 + | #[test]
|
1721 + | fn test_post_vanilla_query() {
|
1722 + | run_test_suite_v4("post-vanilla-query");
|
1723 + | }
|
1724 + |
|
1725 + | #[test]
|
1726 + | fn test_post_x_www_form_urlencoded() {
|
1727 + | run_test_suite_v4("post-x-www-form-urlencoded");
|
1728 + | }
|
1729 + |
|
1730 + | #[test]
|
1731 + | fn test_post_x_www_form_urlencoded_parameters() {
|
1732 + | run_test_suite_v4("post-x-www-form-urlencoded-parameters");
|
1733 + | }
|
1734 + | }
|
1393 1735 | }
|
1394 1736 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
|
1395 1737 | index be6c496..86eec20 100644
|
1396 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
|
1738 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
|
1397 1739 | @@ -1,242 +1,453 @@
|
1398 1740 | /*
|
1399 1741 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
1400 1742 | * SPDX-License-Identifier: Apache-2.0
|
1401 1743 | */
|
1402 1744 |
|
1403 1745 | //! Functions shared between the tests of several modules.
|
1404 1746 |
|
1405 - | use crate::http_request::{SignableBody, SignableRequest};
|
1747 + | use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
|
1748 + | use crate::http_request::{
|
1749 + | PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
|
1750 + | SigningSettings,
|
1751 + | };
|
1752 + | use aws_credential_types::Credentials;
|
1753 + | use aws_smithy_runtime_api::client::identity::Identity;
|
1406 1754 | use http0::{Method, Uri};
|
1755 + | use std::borrow::Cow;
|
1407 1756 | use std::error::Error as StdError;
|
1757 + | use std::time::{Duration, SystemTime};
|
1758 + | use time::format_description::well_known::Rfc3339;
|
1759 + | use time::OffsetDateTime;
|
1760 + |
|
1761 + | /// Common test suite collection
|
1762 + | #[derive(Debug, Clone, Copy, Eq, PartialEq)]
|
1763 + | enum Collection {
|
1764 + | V4,
|
1765 + | V4A,
|
1766 + | }
|
1408 1767 |
|
1409 - | pub(crate) mod v4 {
|
1410 - | use super::*;
|
1768 + | /// A test from the common CRT test suite
|
1769 + | #[derive(Debug, Clone)]
|
1770 + | pub(crate) struct SigningSuiteTest {
|
1771 + | test_name: &'static str,
|
1772 + | collection: Collection,
|
1773 + | }
|
1411 1774 |
|
1412 - | fn path(name: &str, ext: &str) -> String {
|
1413 - | format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
|
1775 + | impl SigningSuiteTest {
|
1776 + | /// Create a new test from the V4 test suite
|
1777 + | pub(crate) fn v4(test_name: &'static str) -> Self {
|
1778 + | Self {
|
1779 + | test_name,
|
1780 + | collection: Collection::V4,
|
1414 1781 | }
|
1415 - |
|
1416 - | pub(crate) fn test_canonical_request(name: &str) -> String {
|
1417 - | // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
|
1418 - | read(&path(name, "creq")).trim().to_string()
|
1419 1782 | }
|
1420 1783 |
|
1421 - | pub(crate) fn test_sts(name: &str) -> String {
|
1422 - | read(&path(name, "sts"))
|
1784 + | /// Create a new test from the V4a test suite
|
1785 + | pub(crate) fn v4a(test_name: &'static str) -> Self {
|
1786 + | Self {
|
1787 + | test_name,
|
1788 + | collection: Collection::V4A,
|
1423 1789 | }
|
1424 - |
|
1425 - | pub(crate) fn test_request(name: &str) -> TestRequest {
|
1426 - | test_parsed_request(name, "req")
|
1427 1790 | }
|
1428 1791 |
|
1429 - | pub(crate) fn test_signed_request(name: &str) -> TestRequest {
|
1430 - | test_parsed_request(name, "sreq")
|
1792 + | /// Get the path to a file in this test suite directory
|
1793 + | fn path(&self, filename: &str) -> String {
|
1794 + | let dir = match self.collection {
|
1795 + | Collection::V4 => "v4",
|
1796 + | Collection::V4A => "v4a",
|
1797 + | };
|
1798 + | format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
|
1431 1799 | }
|
1432 1800 |
|
1433 - | pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
|
1434 - | test_parsed_request(name, "qpsreq")
|
1801 + | /// Get the HTTP request for the test
|
1802 + | pub(crate) fn request(&self) -> TestRequest {
|
1803 + | test_parsed_request(&self.path("request.txt"))
|
1435 1804 | }
|
1436 1805 |
|
1437 - | fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
|
1438 - | let path = path(name, ext);
|
1439 - | match parse_request(read(&path).as_bytes()) {
|
1440 - | Ok(parsed) => parsed,
|
1441 - | Err(err) => panic!("Failed to parse {}: {}", path, err),
|
1806 + | /// Get the signed HTTP request for the test
|
1807 + | pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
|
1808 + | match signature_location {
|
1809 + | SignatureLocation::QueryParams => {
|
1810 + | test_parsed_request(&self.path("query-signed-request.txt"))
|
1442 1811 | }
|
1812 + | SignatureLocation::Headers => {
|
1813 + | test_parsed_request(&self.path("header-signed-request.txt"))
|
1443 1814 | }
|
1444 - |
|
1445 - | #[test]
|
1446 - | fn test_parse() {
|
1447 - | test_request("post-header-key-case");
|
1448 1815 | }
|
1449 - |
|
1450 - | #[test]
|
1451 - | fn test_read_query_params() {
|
1452 - | test_request("get-vanilla-query-order-key-case");
|
1453 1816 | }
|
1454 - | }
|
1455 - |
|
1456 - | #[cfg(feature = "sigv4a")]
|
1457 - | pub(crate) mod v4a {
|
1458 - | use super::*;
|
1459 - | use crate::http_request::{
|
1460 - | PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
|
1461 - | };
|
1462 - | use aws_credential_types::Credentials;
|
1463 - | use aws_smithy_runtime_api::client::identity::Identity;
|
1464 - | use serde_derive::Deserialize;
|
1465 - | use std::time::{Duration, SystemTime};
|
1466 - | use time::format_description::well_known::Rfc3339;
|
1467 - | use time::OffsetDateTime;
|
1468 1817 |
|
1469 - | fn path(test_name: &str, definition_name: &str) -> String {
|
1470 - | format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
|
1818 + | /// Get the canonical request for the test
|
1819 + | pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
|
1820 + | match signature_location {
|
1821 + | SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
|
1822 + | SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
|
1471 1823 | }
|
1472 - |
|
1473 - | pub(crate) fn test_request(name: &str) -> TestRequest {
|
1474 - | test_parsed_request(&path(name, "request"))
|
1475 1824 | }
|
1476 1825 |
|
1477 - | pub(crate) fn test_canonical_request(
|
1478 - | name: &str,
|
1479 - | signature_location: SignatureLocation,
|
1480 - | ) -> String {
|
1826 + | /// Get the string to sign for the test
|
1827 + | pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
|
1481 1828 | match signature_location {
|
1482 - | SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
|
1483 - | SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
|
1829 + | SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
|
1830 + | SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
|
1484 1831 | }
|
1485 1832 | }
|
1486 1833 |
|
1487 - | pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
|
1834 + | /// Get the signature for the test
|
1835 + | pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
|
1488 1836 | match signature_location {
|
1489 - | SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
|
1490 - | SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
|
1837 + | SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
|
1838 + | SignatureLocation::Headers => read(&self.path("header-signature.txt")),
|
1839 + | }
|
1491 1840 | }
|
1841 + |
|
1842 + | /// Get the test context for the test
|
1843 + | pub(crate) fn context(&self) -> TestContext {
|
1844 + | let context = read(&self.path("context.json"));
|
1845 + | let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
|
1846 + | tc_builder.build()
|
1492 1847 | }
|
1848 + | }
|
1493 1849 |
|
1494 - | fn test_parsed_request(path: &str) -> TestRequest {
|
1850 + | fn test_parsed_request(path: &str) -> TestRequest {
|
1495 1851 | match parse_request(read(path).as_bytes()) {
|
1496 1852 | Ok(parsed) => parsed,
|
1497 1853 | Err(err) => panic!("Failed to parse {}: {}", path, err),
|
1498 1854 | }
|
1499 - | }
|
1855 + | }
|
1500 1856 |
|
1501 - | pub(crate) fn test_context(test_name: &str) -> TestContext {
|
1502 - | let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
|
1503 - | let context = read(&path);
|
1504 - | let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
|
1505 - | tc_builder.build()
|
1506 - | }
|
1857 + | fn new_v4_signing_params_from_context(
|
1858 + | test_context: &'_ TestContext,
|
1859 + | signature_location: SignatureLocation,
|
1860 + | ) -> crate::http_request::SigningParams<'_> {
|
1861 + | let mut params = crate::sign::v4::SigningParams::from(test_context);
|
1862 + | params.settings.signature_location = signature_location;
|
1863 + | params.into()
|
1864 + | }
|
1865 + |
|
1866 + | /// Run the given test from the v4 suite for both header and query
|
1867 + | /// signature locations
|
1868 + | pub(crate) fn run_test_suite_v4(test_name: &'static str) {
|
1869 + | run_v4_test(test_name, SignatureLocation::Headers);
|
1870 + | run_v4_test(test_name, SignatureLocation::QueryParams);
|
1871 + | }
|
1872 + |
|
1873 + | fn assert_uri_eq(expected: &Uri, actual: &Uri) {
|
1874 + | assert_eq!(expected.scheme(), actual.scheme());
|
1875 + | assert_eq!(expected.authority(), actual.authority());
|
1876 + | assert_eq!(expected.path(), actual.path());
|
1877 + |
|
1878 + | // query params may be out of order
|
1879 + | let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
|
1880 + | form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
|
1881 + | expected_params.sort();
|
1882 + |
|
1883 + | let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
|
1884 + | form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
|
1885 + | actual_params.sort();
|
1886 + |
|
1887 + | assert_eq!(expected_params, actual_params);
|
1888 + | }
|
1507 1889 |
|
1508 - | pub(crate) struct TestContext {
|
1890 + | fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
|
1891 + | let expected = expected.as_http_request();
|
1892 + | let actual = actual;
|
1893 + | assert_eq!(expected.method(), actual.method());
|
1894 + | assert_eq!(
|
1895 + | expected.headers().len(),
|
1896 + | actual.headers().len(),
|
1897 + | "extra or missing headers"
|
1898 + | );
|
1899 + | assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
|
1900 + | assert_uri_eq(expected.uri(), actual.uri());
|
1901 + | assert_eq!(*expected.body(), *actual.body(), "body mismatch");
|
1902 + | }
|
1903 + |
|
1904 + | /// Run the given test from the v4 suite for the given signature location
|
1905 + | pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
|
1906 + | let test = SigningSuiteTest::v4(test_name);
|
1907 + | let tc = test.context();
|
1908 + | let params = new_v4_signing_params_from_context(&tc, signature_location);
|
1909 + |
|
1910 + | let req = test.request();
|
1911 + | let expected_creq = test.canonical_request(signature_location);
|
1912 + | let signable_req = SignableRequest::from(&req);
|
1913 + | let actual_creq = CanonicalRequest::from(&signable_req, ¶ms).unwrap();
|
1914 + |
|
1915 + | // check canonical request
|
1916 + | assert_eq!(
|
1917 + | expected_creq,
|
1918 + | actual_creq.to_string(),
|
1919 + | "canonical request didn't match (signature location: {signature_location:?})"
|
1920 + | );
|
1921 + |
|
1922 + | let expected_string_to_sign = test.string_to_sign(signature_location);
|
1923 + | let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
|
1924 + | let actual_string_to_sign = StringToSign::new_v4(
|
1925 + | *params.time(),
|
1926 + | params.region().unwrap(),
|
1927 + | params.name(),
|
1928 + | hashed_creq,
|
1929 + | )
|
1930 + | .to_string();
|
1931 + |
|
1932 + | // check string to sign
|
1933 + | assert_eq!(
|
1934 + | expected_string_to_sign, actual_string_to_sign,
|
1935 + | "'string to sign' didn't match (signature location: {signature_location:?})"
|
1936 + | );
|
1937 + |
|
1938 + | let out = crate::http_request::sign(signable_req, ¶ms).unwrap();
|
1939 + | let mut signed = req.as_http_request();
|
1940 + | out.output.apply_to_request_http0x(&mut signed);
|
1941 + |
|
1942 + | // check signature
|
1943 + | assert_eq!(
|
1944 + | test.signature(signature_location),
|
1945 + | out.signature,
|
1946 + | "signature didn't match (signature location: {signature_location:?})"
|
1947 + | );
|
1948 + |
|
1949 + | let expected = test.signed_request(signature_location);
|
1950 + | assert_requests_eq(expected, signed);
|
1951 + | }
|
1952 + |
|
1953 + | /// Test suite context.json
|
1954 + | pub(crate) struct TestContext {
|
1509 1955 | pub(crate) identity: Identity,
|
1510 1956 | pub(crate) expiration_in_seconds: u64,
|
1511 1957 | pub(crate) normalize: bool,
|
1512 1958 | pub(crate) region: String,
|
1513 1959 | pub(crate) service: String,
|
1514 1960 | pub(crate) timestamp: String,
|
1515 1961 | pub(crate) omit_session_token: bool,
|
1516 1962 | pub(crate) sign_body: bool,
|
1517 - | }
|
1518 - |
|
1519 - | impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
|
1520 - | fn from(tc: &'a TestContext) -> Self {
|
1521 - | crate::sign::v4a::SigningParams {
|
1522 - | identity: &tc.identity,
|
1523 - | region_set: &tc.region,
|
1524 - | name: &tc.service,
|
1525 - | time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
|
1526 - | .unwrap()
|
1527 - | .into(),
|
1528 - | settings: SigningSettings {
|
1529 - | // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
|
1530 - | expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
|
1531 - | uri_path_normalization_mode: tc.normalize.into(),
|
1532 - | session_token_mode: if tc.omit_session_token {
|
1533 - | SessionTokenMode::Exclude
|
1534 - | } else {
|
1535 - | SessionTokenMode::Include
|
1536 - | },
|
1537 - | payload_checksum_kind: if tc.sign_body {
|
1538 - | PayloadChecksumKind::XAmzSha256
|
1539 - | } else {
|
1540 - | PayloadChecksumKind::NoHeader
|
1541 - | },
|
1542 - | ..Default::default()
|
1543 - | },
|
1544 - | }
|
1545 - | }
|
1546 - | }
|
1963 + | }
|
1547 1964 |
|
1548 - | // Serde has limitations requiring this odd workaround.
|
1549 - | // See https://github.com/serde-rs/serde/issues/368 for more info.
|
1550 - | fn return_true() -> bool {
|
1965 + | // Serde has limitations requiring this odd workaround.
|
1966 + | // See https://github.com/serde-rs/serde/issues/368 for more info.
|
1967 + | fn return_true() -> bool {
|
1551 1968 | true
|
1552 - | }
|
1969 + | }
|
1553 1970 |
|
1554 - | #[derive(Deserialize)]
|
1555 - | pub(crate) struct TestContextBuilder {
|
1971 + | #[derive(serde_derive::Deserialize)]
|
1972 + | pub(crate) struct TestContextBuilder {
|
1556 1973 | credentials: TestContextCreds,
|
1557 1974 | expiration_in_seconds: u64,
|
1558 1975 | normalize: bool,
|
1559 1976 | region: String,
|
1560 1977 | service: String,
|
1561 1978 | timestamp: String,
|
1562 1979 | #[serde(default)]
|
1563 1980 | omit_session_token: bool,
|
1564 1981 | #[serde(default = "return_true")]
|
1565 1982 | sign_body: bool,
|
1566 - | }
|
1983 + | }
|
1567 1984 |
|
1568 - | impl TestContextBuilder {
|
1985 + | impl TestContextBuilder {
|
1569 1986 | pub(crate) fn build(self) -> TestContext {
|
1570 1987 | let identity = Identity::new(
|
1571 1988 | Credentials::from_keys(
|
1572 1989 | &self.credentials.access_key_id,
|
1573 1990 | &self.credentials.secret_access_key,
|
1574 1991 | self.credentials.token.clone(),
|
1575 1992 | ),
|
1576 1993 | Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
|
1577 1994 | );
|
1578 1995 |
|
1579 1996 | TestContext {
|
1580 1997 | identity,
|
1581 1998 | expiration_in_seconds: self.expiration_in_seconds,
|
1582 1999 | normalize: self.normalize,
|
1583 2000 | region: self.region,
|
1584 2001 | service: self.service,
|
1585 2002 | timestamp: self.timestamp,
|
1586 2003 | omit_session_token: self.omit_session_token,
|
1587 2004 | sign_body: self.sign_body,
|
1588 2005 | }
|
1589 2006 | }
|
1590 - | }
|
2007 + | }
|
1591 2008 |
|
1592 - | #[derive(Deserialize)]
|
1593 - | pub(crate) struct TestContextCreds {
|
2009 + | #[derive(serde_derive::Deserialize)]
|
2010 + | pub(crate) struct TestContextCreds {
|
1594 2011 | access_key_id: String,
|
1595 2012 | secret_access_key: String,
|
1596 2013 | token: Option<String>,
|
2014 + | }
|
2015 + |
|
2016 + | impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
|
2017 + | fn from(tc: &'a TestContext) -> Self {
|
2018 + | crate::sign::v4::SigningParams {
|
2019 + | identity: &tc.identity,
|
2020 + | region: &tc.region,
|
2021 + | name: &tc.service,
|
2022 + | time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
|
2023 + | .unwrap()
|
2024 + | .into(),
|
2025 + | settings: SigningSettings {
|
2026 + | // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
|
2027 + | expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
|
2028 + | uri_path_normalization_mode: tc.normalize.into(),
|
2029 + | session_token_mode: if tc.omit_session_token {
|
2030 + | SessionTokenMode::Exclude
|
2031 + | } else {
|
2032 + | SessionTokenMode::Include
|
2033 + | },
|
2034 + | payload_checksum_kind: if tc.sign_body {
|
2035 + | PayloadChecksumKind::XAmzSha256
|
2036 + | } else {
|
2037 + | PayloadChecksumKind::NoHeader
|
2038 + | },
|
2039 + | ..Default::default()
|
2040 + | },
|
2041 + | }
|
2042 + | }
|
2043 + | }
|
2044 + |
|
2045 + | #[cfg(feature = "sigv4a")]
|
2046 + | pub(crate) mod v4a {
|
2047 + | use super::*;
|
2048 + | use crate::http_request::{
|
2049 + | sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
|
2050 + | };
|
2051 + | use crate::sign::v4a;
|
2052 + | use p256::ecdsa::signature::{Signature, Verifier};
|
2053 + | use p256::ecdsa::{DerSignature, SigningKey};
|
2054 + | use std::time::Duration;
|
2055 + | use time::format_description::well_known::Rfc3339;
|
2056 + | use time::OffsetDateTime;
|
2057 + |
|
2058 + | fn new_v4a_signing_params_from_context(
|
2059 + | test_context: &'_ TestContext,
|
2060 + | signature_location: SignatureLocation,
|
2061 + | ) -> crate::http_request::SigningParams<'_> {
|
2062 + | let mut params = crate::sign::v4a::SigningParams::from(test_context);
|
2063 + | params.settings.signature_location = signature_location;
|
2064 + | params.into()
|
2065 + | }
|
2066 + |
|
2067 + | pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
|
2068 + | run_v4a_test(test_name, SignatureLocation::Headers);
|
2069 + | run_v4a_test(test_name, SignatureLocation::QueryParams);
|
2070 + | }
|
2071 + |
|
2072 + | pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
|
2073 + | let test = SigningSuiteTest::v4a(test_name);
|
2074 + | let tc = test.context();
|
2075 + | let params = new_v4a_signing_params_from_context(&tc, signature_location);
|
2076 + |
|
2077 + | let req = test.request();
|
2078 + | let expected_creq = test.canonical_request(signature_location);
|
2079 + | let signable_req = SignableRequest::from(&req);
|
2080 + | let actual_creq = CanonicalRequest::from(&signable_req, ¶ms).unwrap();
|
2081 + |
|
2082 + | assert_eq!(
|
2083 + | expected_creq,
|
2084 + | actual_creq.to_string(),
|
2085 + | "canonical request didn't match (signature location: {signature_location:?})"
|
2086 + | );
|
2087 + |
|
2088 + | let expected_string_to_sign = test.string_to_sign(signature_location);
|
2089 + | let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
|
2090 + | let actual_string_to_sign = StringToSign::new_v4a(
|
2091 + | *params.time(),
|
2092 + | params.region_set().unwrap(),
|
2093 + | params.name(),
|
2094 + | hashed_creq,
|
2095 + | )
|
2096 + | .to_string();
|
2097 + |
|
2098 + | assert_eq!(
|
2099 + | expected_string_to_sign, actual_string_to_sign,
|
2100 + | "'string to sign' didn't match (signature location: {signature_location:?})"
|
2101 + | );
|
2102 + |
|
2103 + | let out = sign(signable_req, ¶ms).unwrap();
|
2104 + | // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
|
2105 + | out.output
|
2106 + | .apply_to_request_http0x(&mut req.as_http_request());
|
2107 + |
|
2108 + | let creds = params.credentials().unwrap();
|
2109 + | let signing_key =
|
2110 + | v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
|
2111 + | let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
|
2112 + | let sig = sig
|
2113 + | .try_into()
|
2114 + | .expect("DER-style signatures are always convertible into fixed-size signatures");
|
2115 + |
|
2116 + | let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
|
2117 + | let peer_public_key = signing_key.verifying_key();
|
2118 + | let sts = actual_string_to_sign.as_bytes();
|
2119 + | peer_public_key.verify(sts, &sig).unwrap();
|
2120 + | // TODO(sigv4a) - use public.key.json as verifying key?
|
2121 + | }
|
2122 + |
|
2123 + | impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
|
2124 + | fn from(tc: &'a TestContext) -> Self {
|
2125 + | crate::sign::v4a::SigningParams {
|
2126 + | identity: &tc.identity,
|
2127 + | region_set: &tc.region,
|
2128 + | name: &tc.service,
|
2129 + | time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
|
2130 + | .unwrap()
|
2131 + | .into(),
|
2132 + | settings: SigningSettings {
|
2133 + | // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
|
2134 + | expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
|
2135 + | uri_path_normalization_mode: tc.normalize.into(),
|
2136 + | session_token_mode: if tc.omit_session_token {
|
2137 + | SessionTokenMode::Exclude
|
2138 + | } else {
|
2139 + | SessionTokenMode::Include
|
2140 + | },
|
2141 + | payload_checksum_kind: if tc.sign_body {
|
2142 + | PayloadChecksumKind::XAmzSha256
|
2143 + | } else {
|
2144 + | PayloadChecksumKind::NoHeader
|
2145 + | },
|
2146 + | ..Default::default()
|
2147 + | },
|
2148 + | }
|
2149 + | }
|
1597 2150 | }
|
1598 2151 |
|
1599 2152 | #[test]
|
1600 2153 | fn test_parse() {
|
1601 - | let req = test_request("post-header-key-case");
|
2154 + | let req = SigningSuiteTest::v4a("post-header-key-case").request();
|
1602 2155 | assert_eq!(req.method, "POST");
|
1603 2156 | assert_eq!(req.uri, "https://example.amazonaws.com/");
|
1604 2157 | assert!(req.headers.is_empty());
|
1605 2158 | }
|
1606 2159 |
|
1607 2160 | #[test]
|
1608 2161 | fn test_read_query_params() {
|
1609 - | let req = test_request("get-header-value-trim");
|
2162 + | let req = SigningSuiteTest::v4a("get-header-value-trim").request();
|
1610 2163 | assert_eq!(req.method, "GET");
|
1611 2164 | assert_eq!(req.uri, "https://example.amazonaws.com/");
|
1612 2165 | assert!(!req.headers.is_empty());
|
1613 2166 | }
|
1614 2167 | }
|
1615 2168 |
|
1616 2169 | fn read(path: &str) -> String {
|
1617 2170 | println!("Loading `{}` for test case...", path);
|
1618 2171 | let v = {
|
1619 2172 | match std::fs::read_to_string(path) {
|
1620 2173 | // This replacement is necessary for tests to pass on Windows, as reading the
|
1621 2174 | // test snapshots from the file system results in CRLF line endings being inserted.
|
1622 2175 | Ok(value) => value.replace("\r\n", "\n"),
|
1623 2176 | Err(err) => {
|
1624 2177 | panic!("failed to load test case `{}`: {}", path, err);
|
1625 2178 | }
|
1626 2179 | }
|
1627 2180 | };
|
1628 2181 |
|
1629 2182 | v.trim().to_string()
|
1630 2183 | }
|
1631 2184 |
|
1632 2185 | pub(crate) struct TestRequest {
|
1633 2186 | pub(crate) uri: String,
|
1634 2187 | pub(crate) method: String,
|
1635 2188 | pub(crate) headers: Vec<(String, String)>,
|
1636 2189 | pub(crate) body: TestSignedBody,
|
1637 2190 | }
|
1638 2191 |
|
1639 2192 | pub(crate) enum TestSignedBody {
|
1640 2193 | @@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
|
1641 2194 | String::from_utf8(v.as_bytes().to_vec()).unwrap(),
|
1642 2195 | )
|
1643 2196 | })
|
1644 2197 | .collect::<Vec<_>>(),
|
1645 2198 | body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
|
1646 2199 | }
|
1647 2200 | }
|
1648 2201 | }
|
1649 2202 |
|
1650 2203 | impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
|
1651 2204 | fn from(request: &'a TestRequest) -> SignableRequest<'a> {
|
1652 2205 | SignableRequest::new(
|
1653 2206 | &request.method,
|
1654 2207 | &request.uri,
|
1655 2208 | request
|
1656 2209 | .headers
|
1657 2210 | .iter()
|
1658 2211 | .map(|(k, v)| (k.as_str(), v.as_str())),
|
1659 2212 | request.body.as_signable_body(),
|
1660 2213 | )
|
1661 2214 | .expect("URI MUST be valid")
|
1662 2215 | }
|
1663 2216 | }
|
1664 2217 |
|
1665 2218 | fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
|
1666 2219 | let mut headers = [httparse::EMPTY_HEADER; 64];
|
1667 2220 | // httparse 1.5 requires two trailing newlines to head the header section.
|
1668 2221 | let mut with_newline = Vec::from(s);
|
1669 2222 | with_newline.push(b'\n');
|
1670 2223 | let mut req = httparse::Request::new(&mut headers);
|
1671 - | let _ = req.parse(&with_newline).unwrap();
|
2224 + | let status = req.parse(&with_newline).unwrap();
|
2225 + |
|
2226 + | let body = if status.is_complete() {
|
2227 + | let body_offset = status.unwrap();
|
2228 + | // ignore the newline we added, take from original
|
2229 + | &s[body_offset..]
|
2230 + | } else {
|
2231 + | &[]
|
2232 + | };
|
1672 2233 |
|
1673 2234 | let mut uri_builder = Uri::builder().scheme("https");
|
1674 2235 | if let Some(path) = req.path {
|
1675 2236 | uri_builder = uri_builder.path_and_query(path);
|
1676 2237 | }
|
1677 2238 |
|
1678 2239 | let mut headers = vec![];
|
1679 2240 | for header in req.headers {
|
1680 2241 | let name = header.name.to_lowercase();
|
1681 2242 | if name == "host" {
|
1682 2243 | uri_builder = uri_builder.authority(header.value);
|
1683 2244 | } else if !name.is_empty() {
|
1684 2245 | headers.push((
|
1685 2246 | header.name.to_string(),
|
1686 2247 | std::str::from_utf8(header.value)?.to_string(),
|
1687 2248 | ));
|
1688 2249 | }
|
1689 2250 | }
|
1690 2251 |
|
1691 2252 | Ok(TestRequest {
|
1692 2253 | uri: uri_builder.build()?.to_string(),
|
1693 2254 | method: req.method.unwrap().to_string(),
|
1694 2255 | headers,
|
1695 - | body: TestSignedBody::Bytes(vec![]),
|
2256 + | body: TestSignedBody::Bytes(Vec::from(body)),
|
1696 2257 | })
|
1697 2258 | }
|
1698 2259 |
|
1699 2260 | #[test]
|
1700 2261 | fn test_parse_headers() {
|
1701 2262 | let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
|
1702 2263 | let mut headers = [httparse::EMPTY_HEADER; 4];
|
1703 2264 | assert_eq!(
|
1704 2265 | httparse::parse_headers(buf, &mut headers),
|
1705 2266 | Ok(httparse::Status::Complete((
|
1706 2267 | 56,
|
1707 2268 | &[
|
1708 2269 | httparse::Header {
|
1709 2270 | name: "Host",
|
1710 2271 | value: b"example.amazonaws.com",
|
1711 2272 | },
|
1712 2273 | httparse::Header {
|
1713 2274 | name: "X-Amz-Date",
|
1714 2275 | value: b"20150830T123600Z",
|
1715 2276 | }
|
1716 2277 | ][..]
|
1717 2278 | )))
|
1718 2279 | );
|
1719 2280 | }
|
1720 2281 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
|
1721 2282 | index a208453..fc00249 100644
|
1722 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
|
2283 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
|
1723 2284 | @@ -168,52 +168,54 @@ pub mod signing_params {
|
1724 2285 | );
|
1725 2286 |
|
1726 2287 | /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
|
1727 2288 | /// a required argument was not given.
|
1728 2289 | pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
|
1729 2290 | Ok(SigningParams {
|
1730 2291 | identity: self
|
1731 2292 | .identity
|
1732 2293 | .ok_or_else(|| BuildError::new("identity is required"))?,
|
1733 2294 | region: self
|
1734 2295 | .region
|
1735 2296 | .ok_or_else(|| BuildError::new("region is required"))?,
|
1736 2297 | name: self
|
1737 2298 | .name
|
1738 2299 | .ok_or_else(|| BuildError::new("name is required"))?,
|
1739 2300 | time: self
|
1740 2301 | .time
|
1741 2302 | .ok_or_else(|| BuildError::new("time is required"))?,
|
1742 2303 | settings: self
|
1743 2304 | .settings
|
1744 2305 | .ok_or_else(|| BuildError::new("settings are required"))?,
|
1745 2306 | })
|
1746 2307 | }
|
1747 2308 | }
|
1748 2309 | }
|
1749 2310 |
|
1750 2311 | #[cfg(test)]
|
1751 2312 | mod tests {
|
1752 2313 | use super::{calculate_signature, generate_signing_key, sha256_hex_string};
|
1753 2314 | use crate::date_time::test_parsers::parse_date_time;
|
1754 - | use crate::http_request::test;
|
1755 2315 |
|
1756 2316 | #[test]
|
1757 2317 | fn test_signature_calculation() {
|
1758 2318 | let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
|
1759 - | let creq = test::v4::test_canonical_request("iam");
|
2319 + | let creq = r#"AWS4-HMAC-SHA256
|
2320 + | 20150830T123600Z
|
2321 + | 20150830/us-east-1/iam/aws4_request
|
2322 + | f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
|
1760 2323 | let time = parse_date_time("20150830T123600Z").unwrap();
|
1761 2324 |
|
1762 2325 | let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
|
1763 2326 | let signature = calculate_signature(derived_key, creq.as_bytes());
|
1764 2327 |
|
1765 2328 | let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
|
1766 2329 | assert_eq!(expected, &signature);
|
1767 2330 | }
|
1768 2331 |
|
1769 2332 | #[test]
|
1770 2333 | fn sign_payload_empty_string() {
|
1771 2334 | let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
|
1772 2335 | let actual = sha256_hex_string([]);
|
1773 2336 | assert_eq!(expected, actual);
|
1774 2337 | }
|
1775 2338 | }
|
1776 2339 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
|
1777 2340 | index ce78c38..8c2f591 100644
|
1778 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
|
2341 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
|
1779 2342 | @@ -1,43 +1,43 @@
|
1780 2343 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
1781 2344 | [package]
|
1782 2345 | name = "aws-smithy-checksums"
|
1783 2346 | version = "0.63.5"
|
1784 2347 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
|
1785 2348 | description = "Checksum calculation and verification callbacks"
|
1786 2349 | edition = "2021"
|
1787 2350 | license = "Apache-2.0"
|
1788 2351 | repository = "https://github.com/smithy-lang/smithy-rs"
|
1789 2352 | [package.metadata.docs.rs]
|
1790 2353 | all-features = true
|
1791 2354 | targets = ["x86_64-unknown-linux-gnu"]
|
1792 2355 | cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
|
1793 2356 | rustdoc-args = ["--cfg", "docsrs"]
|
1794 2357 |
|
1795 2358 | [dependencies]
|
1796 2359 | bytes = "1.10.0"
|
1797 2360 | crc-fast = "1.3.0"
|
1798 2361 | hex = "0.4.3"
|
1799 2362 | http = "0.2.9"
|
1800 2363 | http-body = "0.4.5"
|
1801 2364 | md-5 = "0.10"
|
1802 2365 | pin-project-lite = "0.2.14"
|
1803 2366 | sha1 = "0.10"
|
1804 2367 | sha2 = "0.10"
|
1805 2368 | tracing = "0.1.40"
|
1806 2369 |
|
1807 2370 | [dependencies.aws-smithy-http]
|
1808 2371 | path = "../aws-smithy-http"
|
1809 - | version = "0.62.2"
|
2372 + | version = "0.62.3"
|
1810 2373 |
|
1811 2374 | [dependencies.aws-smithy-types]
|
1812 2375 | path = "../aws-smithy-types"
|
1813 2376 | version = "1.3.2"
|
1814 2377 |
|
1815 2378 | [dev-dependencies]
|
1816 2379 | bytes-utils = "0.1.2"
|
1817 2380 | pretty_assertions = "1.3"
|
1818 2381 | tracing-test = "0.2.1"
|
1819 2382 |
|
1820 2383 | [dev-dependencies.tokio]
|
1821 2384 | version = "1.23.1"
|
1822 2385 | features = ["macros", "rt"]
|
1823 2386 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
|
1824 2387 | index 970c99e..d3c7a49 100644
|
1825 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
|
2388 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
|
1826 2389 | @@ -1,34 +1,34 @@
|
1827 2390 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
1828 2391 | [package]
|
1829 2392 | name = "aws-smithy-http"
|
1830 - | version = "0.62.2"
|
2393 + | version = "0.62.3"
|
1831 2394 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
1832 2395 | description = "Smithy HTTP logic for smithy-rs."
|
1833 2396 | edition = "2021"
|
1834 2397 | license = "Apache-2.0"
|
1835 2398 | repository = "https://github.com/smithy-lang/smithy-rs"
|
1836 2399 | [package.metadata.docs.rs]
|
1837 2400 | all-features = true
|
1838 2401 | targets = ["x86_64-unknown-linux-gnu"]
|
1839 2402 | cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
|
1840 2403 | rustdoc-args = ["--cfg", "docsrs"]
|
1841 2404 |
|
1842 2405 | [features]
|
1843 2406 | event-stream = ["aws-smithy-eventstream"]
|
1844 2407 | rt-tokio = ["aws-smithy-types/rt-tokio"]
|
1845 2408 |
|
1846 2409 | [dependencies]
|
1847 2410 | bytes = "1.10.0"
|
1848 2411 | bytes-utils = "0.1"
|
1849 2412 | percent-encoding = "2.3.1"
|
1850 2413 | pin-project-lite = "0.2.14"
|
1851 2414 | pin-utils = "0.1.0"
|
1852 2415 | tracing = "0.1.40"
|
1853 2416 | futures-core = "0.3.31"
|
1854 2417 |
|
1855 2418 | [dependencies.aws-smithy-eventstream]
|
1856 2419 | path = "../aws-smithy-eventstream"
|
1857 2420 | optional = true
|
1858 2421 | version = "0.60.10"
|
1859 2422 |
|
1860 2423 | [dependencies.aws-smithy-runtime-api]
|
1861 2424 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
|
1862 2425 | index 508f7a2..361545e 100644
|
1863 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
|
2426 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
|
1864 2427 | @@ -1,27 +1,27 @@
|
1865 2428 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
1866 2429 | [[bin]]
|
1867 2430 | name = "read_many_from_str"
|
1868 2431 | path = "fuzz_targets/read_many_from_str.rs"
|
1869 2432 | test = false
|
1870 2433 | doc = false
|
1871 2434 |
|
1872 2435 | [package]
|
1873 2436 | name = "aws-smithy-http-fuzz"
|
1874 2437 | version = "0.0.0"
|
1875 2438 | authors = ["Automatically generated"]
|
1876 2439 | publish = false
|
1877 2440 | edition = "2021"
|
1878 2441 |
|
1879 2442 | [package.metadata]
|
1880 2443 | cargo-fuzz = true
|
1881 2444 |
|
1882 2445 | [dependencies]
|
1883 2446 | libfuzzer-sys = "=0.4.7"
|
1884 2447 | http = "0.2.3"
|
1885 2448 |
|
1886 2449 | [dependencies.aws-smithy-http]
|
1887 2450 | path = ".."
|
1888 - | version = "0.62.2"
|
2451 + | version = "0.62.3"
|
1889 2452 |
|
1890 2453 | [workspace]
|
1891 2454 | members = ["."]
|
1892 2455 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
|
1893 2456 | index fef41d0..7694da6 100644
|
1894 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
|
2457 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
|
1895 2458 | @@ -25,68 +25,73 @@ impl QueryWriter {
|
1896 2459 | pub fn new(uri: &Uri) -> Self {
|
1897 2460 | let new_path_and_query = uri
|
1898 2461 | .path_and_query()
|
1899 2462 | .map(|pq| pq.to_string())
|
1900 2463 | .unwrap_or_default();
|
1901 2464 | let prefix = if uri.query().is_none() {
|
1902 2465 | Some('?')
|
1903 2466 | } else if !uri.query().unwrap_or_default().is_empty() {
|
1904 2467 | Some('&')
|
1905 2468 | } else {
|
1906 2469 | None
|
1907 2470 | };
|
1908 2471 | QueryWriter {
|
1909 2472 | base_uri: uri.clone(),
|
1910 2473 | new_path_and_query,
|
1911 2474 | prefix,
|
1912 2475 | }
|
1913 2476 | }
|
1914 2477 |
|
1915 2478 | /// Clears all query parameters.
|
1916 2479 | pub fn clear_params(&mut self) {
|
1917 2480 | if let Some(index) = self.new_path_and_query.find('?') {
|
1918 2481 | self.new_path_and_query.truncate(index);
|
1919 2482 | self.prefix = Some('?');
|
1920 2483 | }
|
1921 2484 | }
|
1922 2485 |
|
1923 2486 | /// Inserts a new query parameter. The key and value are percent encoded
|
1924 2487 | /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
|
1925 2488 | pub fn insert(&mut self, k: &str, v: &str) {
|
2489 + | self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
|
2490 + | }
|
2491 + |
|
2492 + | /// Inserts a new already encoded query parameter. The key and value will be inserted
|
2493 + | /// as is.
|
2494 + | pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
|
1926 2495 | if let Some(prefix) = self.prefix {
|
1927 2496 | self.new_path_and_query.push(prefix);
|
1928 2497 | }
|
1929 2498 | self.prefix = Some('&');
|
1930 - | self.new_path_and_query.push_str(&percent_encode_query(k));
|
2499 + | self.new_path_and_query.push_str(encoded_k);
|
1931 2500 | self.new_path_and_query.push('=');
|
1932 - |
|
1933 - | self.new_path_and_query.push_str(&percent_encode_query(v));
|
2501 + | self.new_path_and_query.push_str(encoded_v)
|
1934 2502 | }
|
1935 2503 |
|
1936 2504 | /// Returns just the built query string.
|
1937 2505 | pub fn build_query(self) -> String {
|
1938 2506 | self.build_uri().query().unwrap_or_default().to_string()
|
1939 2507 | }
|
1940 2508 |
|
1941 2509 | /// Returns a full [`Uri`] with the query string updated.
|
1942 2510 | pub fn build_uri(self) -> Uri {
|
1943 2511 | let mut parts = self.base_uri.into_parts();
|
1944 2512 | parts.path_and_query = Some(
|
1945 2513 | self.new_path_and_query
|
1946 2514 | .parse()
|
1947 2515 | .expect("adding query should not invalidate URI"),
|
1948 2516 | );
|
1949 2517 | Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
|
1950 2518 | }
|
1951 2519 | }
|
1952 2520 |
|
1953 2521 | #[cfg(test)]
|
1954 2522 | mod test {
|
1955 2523 | use super::QueryWriter;
|
1956 2524 | use http_02x::Uri;
|
1957 2525 |
|
1958 2526 | #[test]
|
1959 2527 | fn empty_uri() {
|
1960 2528 | let uri = Uri::from_static("http://www.example.com");
|
1961 2529 | let mut query_writer = QueryWriter::new(&uri);
|
1962 2530 | query_writer.insert("key", "val%ue");
|
1963 2531 | query_writer.insert("another", "value");
|
1964 2532 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
|
1965 2533 | index f108978..df7a9fe 100644
|
1966 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
|
2534 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
|
1967 2535 | @@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
|
1968 2536 |
|
1969 2537 | [package.metadata.smithy-rs-release-tooling]
|
1970 2538 | stable = true
|
1971 2539 | [package.metadata.cargo-udeps.ignore]
|
1972 2540 | normal = ["aws-smithy-http"]
|
1973 2541 |
|
1974 2542 | [features]
|
1975 2543 | client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
|
1976 2544 | http-auth = ["aws-smithy-runtime-api/http-auth"]
|
1977 2545 | connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
|
1978 2546 | tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
|
1979 2547 | default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
|
1980 2548 | rt-tokio = ["tokio/rt"]
|
1981 2549 | test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
|
1982 2550 | legacy-test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "connector-hyper-0-14-x", "aws-smithy-http-client/legacy-test-util"]
|
1983 2551 | wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
|
1984 2552 |
|
1985 2553 | [dependencies]
|
1986 2554 | bytes = "1.10.0"
|
1987 2555 | fastrand = "2.3.0"
|
1988 2556 | pin-project-lite = "0.2.14"
|
1989 2557 | pin-utils = "0.1.0"
|
1990 2558 | tracing = "0.1.40"
|
1991 2559 |
|
1992 2560 | [dependencies.aws-smithy-async]
|
1993 2561 | path = "../aws-smithy-async"
|
1994 2562 | version = "1.2.5"
|
1995 2563 |
|
1996 2564 | [dependencies.aws-smithy-http]
|
1997 2565 | path = "../aws-smithy-http"
|
1998 - | version = "0.62.2"
|
2566 + | version = "0.62.3"
|
1999 2567 |
|
2000 2568 | [dependencies.aws-smithy-observability]
|
2001 2569 | path = "../aws-smithy-observability"
|
2002 2570 | version = "0.1.3"
|
2003 2571 |
|
2004 2572 | [dependencies.aws-smithy-runtime-api]
|
2005 2573 | path = "../aws-smithy-runtime-api"
|
2006 2574 | version = "1.8.5"
|
2007 2575 |
|
2008 2576 | [dependencies.aws-smithy-types]
|
2009 2577 | path = "../aws-smithy-types"
|
2010 2578 | features = ["http-body-0-4-x"]
|
2011 2579 | version = "1.3.2"
|
2012 2580 |
|
2013 2581 | [dependencies.aws-smithy-http-client]
|
2014 2582 | path = "../aws-smithy-http-client"
|
2015 2583 | optional = true
|
2016 2584 | version = "1.0.6"
|
2017 2585 |
|
2018 2586 | [dependencies.http-02x]
|
2019 2587 | package = "http"
|
2020 2588 | version = "0.2.9"
|
2021 2589 |
|
2022 2590 | [dependencies.http-1x]
|
2023 2591 | package = "http"
|
2024 2592 | version = "1"
|
2025 2593 |
|
2026 2594 | [dependencies.http-body-04x]
|
2027 2595 | package = "http-body"
|
2028 2596 | version = "0.4.5"
|
2029 2597 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
|
2030 2598 | index 4e050c6..f58eb1c 100644
|
2031 - | -- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
|
2599 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
|
2032 2600 | @@ -1,33 +1,33 @@
|
2033 2601 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
2034 2602 | [package]
|
2035 2603 | name = "aws-smithy-wasm"
|
2036 2604 | version = "0.1.4"
|
2037 2605 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
|
2038 2606 | description = "Smithy WebAssembly configuration for smithy-rs."
|
2039 2607 | edition = "2021"
|
2040 2608 | license = "Apache-2.0"
|
2041 2609 | repository = "https://github.com/awslabs/smithy-rs"
|
2042 2610 | [package.metadata.docs.rs]
|
2043 2611 | all-features = true
|
2044 2612 | targets = ["x86_64-unknown-linux-gnu"]
|
2045 2613 | cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
|
2046 2614 | rustdoc-args = ["--cfg", "docsrs"]
|
2047 2615 |
|
2048 2616 | [dependencies]
|
2049 2617 | bytes = "1.10.0"
|
2050 2618 | http = "1.0.0"
|
2051 2619 | tracing = "0.1.40"
|
2052 2620 | wasi = "0.12.1"
|
2053 2621 |
|
2054 2622 | [dependencies.aws-smithy-runtime-api]
|
2055 2623 | path = "../aws-smithy-runtime-api"
|
2056 2624 | features = ["http-1x"]
|
2057 2625 | version = "1.8.5"
|
2058 2626 |
|
2059 2627 | [dependencies.aws-smithy-http]
|
2060 2628 | path = "../aws-smithy-http"
|
2061 - | version = "0.62.2"
|
2629 + | version = "0.62.3"
|
2062 2630 |
|
2063 2631 | [dependencies.aws-smithy-types]
|
2064 2632 | path = "../aws-smithy-types"
|
2065 2633 | version = "1.3.2"
|
2066 2634 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
|
2067 2635 | index a880648..139e808 100644
|
2068 - | -- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
|
2636 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
|
2069 2637 | @@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
|
2070 2638 | edition = "2021"
|
2071 2639 | license = "Apache-2.0"
|
2072 2640 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
2073 2641 | rust-version = "1.86.0"
|
2074 2642 | readme = "README.md"
|
2075 2643 | [package.metadata.smithy]
|
2076 2644 | codegen-version = "ci"
|
2077 2645 | [package.metadata.docs.rs]
|
2078 2646 | all-features = true
|
2079 2647 | targets = ["x86_64-unknown-linux-gnu"]
|
2080 2648 | [dependencies.aws-credential-types]
|
2081 2649 | path = "../aws-credential-types"
|
2082 2650 | version = "1.2.4"
|
2083 2651 |
|
2084 2652 | [dependencies.aws-runtime]
|
2085 2653 | path = "../aws-runtime"
|
2086 2654 | features = ["event-stream"]
|
2087 2655 | version = "1.5.9"
|
2088 2656 |
|
2089 2657 | [dependencies.aws-smithy-async]
|
2090 2658 | path = "../aws-smithy-async"
|
2091 2659 | version = "1.2.5"
|
2092 2660 |
|
2093 2661 | [dependencies.aws-smithy-eventstream]
|
2094 2662 | path = "../aws-smithy-eventstream"
|
2095 2663 | version = "0.60.10"
|
2096 2664 |
|
2097 2665 | [dependencies.aws-smithy-http]
|
2098 2666 | path = "../aws-smithy-http"
|
2099 2667 | features = ["event-stream"]
|
2100 - | version = "0.62.2"
|
2668 + | version = "0.62.3"
|
2101 2669 |
|
2102 2670 | [dependencies.aws-smithy-json]
|
2103 2671 | path = "../aws-smithy-json"
|
2104 2672 | version = "0.61.4"
|
2105 2673 |
|
2106 2674 | [dependencies.aws-smithy-runtime]
|
2107 2675 | path = "../aws-smithy-runtime"
|
2108 2676 | features = ["client"]
|
2109 2677 | version = "1.8.5"
|
2110 2678 |
|
2111 2679 | [dependencies.aws-smithy-runtime-api]
|
2112 2680 | path = "../aws-smithy-runtime-api"
|
2113 2681 | features = ["client", "http-02x"]
|
2114 2682 | version = "1.8.5"
|
2115 2683 |
|
2116 2684 | [dependencies.aws-smithy-types]
|
2117 2685 | path = "../aws-smithy-types"
|
2118 2686 | version = "1.3.2"
|
2119 2687 |
|
2120 2688 | [dependencies.aws-types]
|
2121 2689 | path = "../aws-types"
|
2122 2690 | version = "1.3.8"
|
2123 2691 |
|
2124 2692 | [dependencies.bytes]
|
2125 2693 | version = "1.4.0"
|
2126 2694 |
|
2127 2695 | [dependencies.fastrand]
|
2128 2696 | version = "2.0.0"
|
2129 2697 |
|
2130 2698 | [dependencies.http]
|
2131 2699 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
|
2132 2700 | index 415ecc9..667d12b 100644
|
2133 - | -- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
|
2701 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
|
2134 2702 | @@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
|
2135 2703 | edition = "2021"
|
2136 2704 | license = "Apache-2.0"
|
2137 2705 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
2138 2706 | rust-version = "1.86.0"
|
2139 2707 | readme = "README.md"
|
2140 2708 | [package.metadata.smithy]
|
2141 2709 | codegen-version = "ci"
|
2142 2710 | [package.metadata.docs.rs]
|
2143 2711 | all-features = true
|
2144 2712 | targets = ["x86_64-unknown-linux-gnu"]
|
2145 2713 | [dependencies.aws-credential-types]
|
2146 2714 | path = "../aws-credential-types"
|
2147 2715 | version = "1.2.4"
|
2148 2716 |
|
2149 2717 | [dependencies.aws-runtime]
|
2150 2718 | path = "../aws-runtime"
|
2151 2719 | features = ["event-stream"]
|
2152 2720 | version = "1.5.9"
|
2153 2721 |
|
2154 2722 | [dependencies.aws-smithy-async]
|
2155 2723 | path = "../aws-smithy-async"
|
2156 2724 | version = "1.2.5"
|
2157 2725 |
|
2158 2726 | [dependencies.aws-smithy-eventstream]
|
2159 2727 | path = "../aws-smithy-eventstream"
|
2160 2728 | version = "0.60.10"
|
2161 2729 |
|
2162 2730 | [dependencies.aws-smithy-http]
|
2163 2731 | path = "../aws-smithy-http"
|
2164 2732 | features = ["event-stream"]
|
2165 - | version = "0.62.2"
|
2733 + | version = "0.62.3"
|
2166 2734 |
|
2167 2735 | [dependencies.aws-smithy-json]
|
2168 2736 | path = "../aws-smithy-json"
|
2169 2737 | version = "0.61.4"
|
2170 2738 |
|
2171 2739 | [dependencies.aws-smithy-runtime]
|
2172 2740 | path = "../aws-smithy-runtime"
|
2173 2741 | features = ["client"]
|
2174 2742 | version = "1.8.5"
|
2175 2743 |
|
2176 2744 | [dependencies.aws-smithy-runtime-api]
|
2177 2745 | path = "../aws-smithy-runtime-api"
|
2178 2746 | features = ["client", "http-02x"]
|
2179 2747 | version = "1.8.5"
|
2180 2748 |
|
2181 2749 | [dependencies.aws-smithy-types]
|
2182 2750 | path = "../aws-smithy-types"
|
2183 2751 | version = "1.3.2"
|
2184 2752 |
|
2185 2753 | [dependencies.aws-types]
|
2186 2754 | path = "../aws-types"
|
2187 2755 | version = "1.3.8"
|
2188 2756 |
|
2189 2757 | [dependencies.bytes]
|
2190 2758 | version = "1.4.0"
|
2191 2759 |
|
2192 2760 | [dependencies.fastrand]
|
2193 2761 | version = "2.0.0"
|
2194 2762 |
|
2195 2763 | [dependencies.http]
|
2196 2764 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
|
2197 2765 | index 8871cab..ed88de6 100644
|
2198 - | -- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
|
2766 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
|
2199 2767 | @@ -1,61 +1,61 @@
|
2200 2768 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
2201 2769 | [package]
|
2202 2770 | name = "aws-sdk-codecatalyst"
|
2203 2771 | version = "0.0.0-local"
|
2204 2772 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
2205 2773 | description = "AWS SDK for Amazon CodeCatalyst"
|
2206 2774 | edition = "2021"
|
2207 2775 | license = "Apache-2.0"
|
2208 2776 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
2209 2777 | rust-version = "1.86.0"
|
2210 2778 | readme = "README.md"
|
2211 2779 | [package.metadata.smithy]
|
2212 2780 | codegen-version = "ci"
|
2213 2781 | [package.metadata.docs.rs]
|
2214 2782 | all-features = true
|
2215 2783 | targets = ["x86_64-unknown-linux-gnu"]
|
2216 2784 | [dependencies.aws-credential-types]
|
2217 2785 | path = "../aws-credential-types"
|
2218 2786 | version = "1.2.4"
|
2219 2787 |
|
2220 2788 | [dependencies.aws-runtime]
|
2221 2789 | path = "../aws-runtime"
|
2222 2790 | version = "1.5.9"
|
2223 2791 |
|
2224 2792 | [dependencies.aws-smithy-async]
|
2225 2793 | path = "../aws-smithy-async"
|
2226 2794 | version = "1.2.5"
|
2227 2795 |
|
2228 2796 | [dependencies.aws-smithy-http]
|
2229 2797 | path = "../aws-smithy-http"
|
2230 - | version = "0.62.2"
|
2798 + | version = "0.62.3"
|
2231 2799 |
|
2232 2800 | [dependencies.aws-smithy-json]
|
2233 2801 | path = "../aws-smithy-json"
|
2234 2802 | version = "0.61.4"
|
2235 2803 |
|
2236 2804 | [dependencies.aws-smithy-runtime]
|
2237 2805 | path = "../aws-smithy-runtime"
|
2238 2806 | features = ["client", "http-auth"]
|
2239 2807 | version = "1.8.5"
|
2240 2808 |
|
2241 2809 | [dependencies.aws-smithy-runtime-api]
|
2242 2810 | path = "../aws-smithy-runtime-api"
|
2243 2811 | features = ["client", "http-02x", "http-auth"]
|
2244 2812 | version = "1.8.5"
|
2245 2813 |
|
2246 2814 | [dependencies.aws-smithy-types]
|
2247 2815 | path = "../aws-smithy-types"
|
2248 2816 | version = "1.3.2"
|
2249 2817 |
|
2250 2818 | [dependencies.aws-types]
|
2251 2819 | path = "../aws-types"
|
2252 2820 | version = "1.3.8"
|
2253 2821 |
|
2254 2822 | [dependencies.bytes]
|
2255 2823 | version = "1.4.0"
|
2256 2824 |
|
2257 2825 | [dependencies.fastrand]
|
2258 2826 | version = "2.0.0"
|
2259 2827 |
|
2260 2828 | [dependencies.http]
|
2261 2829 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
|
2262 2830 | index 89573ff..05238af 100644
|
2263 - | -- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
|
2831 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
|
2264 2832 | @@ -1,61 +1,61 @@
|
2265 2833 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
2266 2834 | [package]
|
2267 2835 | name = "aws-sdk-config"
|
2268 2836 | version = "0.0.0-local"
|
2269 2837 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
2270 2838 | description = "AWS SDK for AWS Config"
|
2271 2839 | edition = "2021"
|
2272 2840 | license = "Apache-2.0"
|
2273 2841 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
2274 2842 | rust-version = "1.86.0"
|
2275 2843 | readme = "README.md"
|
2276 2844 | [package.metadata.smithy]
|
2277 2845 | codegen-version = "ci"
|
2278 2846 | [package.metadata.docs.rs]
|
2279 2847 | all-features = true
|
2280 2848 | targets = ["x86_64-unknown-linux-gnu"]
|
2281 2849 | [dependencies.aws-credential-types]
|
2282 2850 | path = "../aws-credential-types"
|
2283 2851 | version = "1.2.4"
|
2284 2852 |
|
2285 2853 | [dependencies.aws-runtime]
|
2286 2854 | path = "../aws-runtime"
|
2287 2855 | version = "1.5.9"
|
2288 2856 |
|
2289 2857 | [dependencies.aws-smithy-async]
|
2290 2858 | path = "../aws-smithy-async"
|
2291 2859 | version = "1.2.5"
|
2292 2860 |
|
2293 2861 | [dependencies.aws-smithy-http]
|
2294 2862 | path = "../aws-smithy-http"
|
2295 - | version = "0.62.2"
|
2863 + | version = "0.62.3"
|
2296 2864 |
|
2297 2865 | [dependencies.aws-smithy-json]
|
2298 2866 | path = "../aws-smithy-json"
|
2299 2867 | version = "0.61.4"
|
2300 2868 |
|
2301 2869 | [dependencies.aws-smithy-runtime]
|
2302 2870 | path = "../aws-smithy-runtime"
|
2303 2871 | features = ["client"]
|
2304 2872 | version = "1.8.5"
|
2305 2873 |
|
2306 2874 | [dependencies.aws-smithy-runtime-api]
|
2307 2875 | path = "../aws-smithy-runtime-api"
|
2308 2876 | features = ["client", "http-02x"]
|
2309 2877 | version = "1.8.5"
|
2310 2878 |
|
2311 2879 | [dependencies.aws-smithy-types]
|
2312 2880 | path = "../aws-smithy-types"
|
2313 2881 | version = "1.3.2"
|
2314 2882 |
|
2315 2883 | [dependencies.aws-types]
|
2316 2884 | path = "../aws-types"
|
2317 2885 | version = "1.3.8"
|
2318 2886 |
|
2319 2887 | [dependencies.bytes]
|
2320 2888 | version = "1.4.0"
|
2321 2889 |
|
2322 2890 | [dependencies.fastrand]
|
2323 2891 | version = "2.0.0"
|
2324 2892 |
|
2325 2893 | [dependencies.http]
|
2326 2894 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
|
2327 2895 | index d397c58..2c1062b 100644
|
2328 - | -- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
|
2896 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
|
2329 2897 | @@ -1,61 +1,61 @@
|
2330 2898 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
2331 2899 | [package]
|
2332 2900 | name = "aws-sdk-dynamodb"
|
2333 2901 | version = "0.0.0-local"
|
2334 2902 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
2335 2903 | description = "AWS SDK for Amazon DynamoDB"
|
2336 2904 | edition = "2021"
|
2337 2905 | license = "Apache-2.0"
|
2338 2906 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
2339 2907 | rust-version = "1.86.0"
|
2340 2908 | readme = "README.md"
|
2341 2909 | [package.metadata.smithy]
|
2342 2910 | codegen-version = "ci"
|
2343 2911 | [package.metadata.docs.rs]
|
2344 2912 | all-features = true
|
2345 2913 | targets = ["x86_64-unknown-linux-gnu"]
|
2346 2914 | [dependencies.aws-credential-types]
|
2347 2915 | path = "../aws-credential-types"
|
2348 2916 | version = "1.2.4"
|
2349 2917 |
|
2350 2918 | [dependencies.aws-runtime]
|
2351 2919 | path = "../aws-runtime"
|
2352 2920 | version = "1.5.9"
|
2353 2921 |
|
2354 2922 | [dependencies.aws-smithy-async]
|
2355 2923 | path = "../aws-smithy-async"
|
2356 2924 | version = "1.2.5"
|
2357 2925 |
|
2358 2926 | [dependencies.aws-smithy-http]
|
2359 2927 | path = "../aws-smithy-http"
|
2360 - | version = "0.62.2"
|
2928 + | version = "0.62.3"
|
2361 2929 |
|
2362 2930 | [dependencies.aws-smithy-json]
|
2363 2931 | path = "../aws-smithy-json"
|
2364 2932 | version = "0.61.4"
|
2365 2933 |
|
2366 2934 | [dependencies.aws-smithy-runtime]
|
2367 2935 | path = "../aws-smithy-runtime"
|
2368 2936 | features = ["client"]
|
2369 2937 | version = "1.8.5"
|
2370 2938 |
|
2371 2939 | [dependencies.aws-smithy-runtime-api]
|
2372 2940 | path = "../aws-smithy-runtime-api"
|
2373 2941 | features = ["client", "http-02x"]
|
2374 2942 | version = "1.8.5"
|
2375 2943 |
|
2376 2944 | [dependencies.aws-smithy-types]
|
2377 2945 | path = "../aws-smithy-types"
|
2378 2946 | version = "1.3.2"
|
2379 2947 |
|
2380 2948 | [dependencies.aws-types]
|
2381 2949 | path = "../aws-types"
|
2382 2950 | version = "1.3.8"
|
2383 2951 |
|
2384 2952 | [dependencies.bytes]
|
2385 2953 | version = "1.4.0"
|
2386 2954 |
|
2387 2955 | [dependencies.fastrand]
|
2388 2956 | version = "2.0.0"
|
2389 2957 |
|
2390 2958 | [dependencies.http]
|
2391 2959 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
|
2392 2960 | index c0ba315..46168af 100644
|
2393 - | -- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
|
2961 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
|
2394 2962 | @@ -1,61 +1,61 @@
|
2395 2963 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
2396 2964 | [package]
|
2397 2965 | name = "aws-sdk-ec2"
|
2398 2966 | version = "0.0.0-local"
|
2399 2967 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
2400 2968 | description = "AWS SDK for Amazon Elastic Compute Cloud"
|
2401 2969 | edition = "2021"
|
2402 2970 | license = "Apache-2.0"
|
2403 2971 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
2404 2972 | rust-version = "1.86.0"
|
2405 2973 | readme = "README.md"
|
2406 2974 | [package.metadata.smithy]
|
2407 2975 | codegen-version = "ci"
|
2408 2976 | [package.metadata.docs.rs]
|
2409 2977 | all-features = true
|
2410 2978 | targets = ["x86_64-unknown-linux-gnu"]
|
2411 2979 | [dependencies.aws-credential-types]
|
2412 2980 | path = "../aws-credential-types"
|
2413 2981 | version = "1.2.4"
|
2414 2982 |
|
2415 2983 | [dependencies.aws-runtime]
|
2416 2984 | path = "../aws-runtime"
|
2417 2985 | version = "1.5.9"
|
2418 2986 |
|
2419 2987 | [dependencies.aws-smithy-async]
|
2420 2988 | path = "../aws-smithy-async"
|
2421 2989 | version = "1.2.5"
|
2422 2990 |
|
2423 2991 | [dependencies.aws-smithy-http]
|
2424 2992 | path = "../aws-smithy-http"
|
2425 - | version = "0.62.2"
|
2993 + | version = "0.62.3"
|
2426 2994 |
|
2427 2995 | [dependencies.aws-smithy-json]
|
2428 2996 | path = "../aws-smithy-json"
|
2429 2997 | version = "0.61.4"
|
2430 2998 |
|
2431 2999 | [dependencies.aws-smithy-query]
|
2432 3000 | path = "../aws-smithy-query"
|
2433 3001 | version = "0.60.7"
|
2434 3002 |
|
2435 3003 | [dependencies.aws-smithy-runtime]
|
2436 3004 | path = "../aws-smithy-runtime"
|
2437 3005 | features = ["client"]
|
2438 3006 | version = "1.8.5"
|
2439 3007 |
|
2440 3008 | [dependencies.aws-smithy-runtime-api]
|
2441 3009 | path = "../aws-smithy-runtime-api"
|
2442 3010 | features = ["client", "http-02x"]
|
2443 3011 | version = "1.8.5"
|
2444 3012 |
|
2445 3013 | [dependencies.aws-smithy-types]
|
2446 3014 | path = "../aws-smithy-types"
|
2447 3015 | version = "1.3.2"
|
2448 3016 |
|
2449 3017 | [dependencies.aws-smithy-xml]
|
2450 3018 | path = "../aws-smithy-xml"
|
2451 3019 | version = "0.60.10"
|
2452 3020 |
|
2453 3021 | [dependencies.aws-types]
|
2454 3022 | path = "../aws-types"
|
2455 3023 | version = "1.3.8"
|
2456 3024 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
|
2457 3025 | index 4474d17..095d40e 100644
|
2458 - | -- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
|
3026 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
|
2459 3027 | @@ -1,61 +1,61 @@
|
2460 3028 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
2461 3029 | [package]
|
2462 3030 | name = "aws-sdk-ecs"
|
2463 3031 | version = "0.0.0-local"
|
2464 3032 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
2465 3033 | description = "AWS SDK for Amazon EC2 Container Service"
|
2466 3034 | edition = "2021"
|
2467 3035 | license = "Apache-2.0"
|
2468 3036 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
2469 3037 | rust-version = "1.86.0"
|
2470 3038 | readme = "README.md"
|
2471 3039 | [package.metadata.smithy]
|
2472 3040 | codegen-version = "ci"
|
2473 3041 | [package.metadata.docs.rs]
|
2474 3042 | all-features = true
|
2475 3043 | targets = ["x86_64-unknown-linux-gnu"]
|
2476 3044 | [dependencies.aws-credential-types]
|
2477 3045 | path = "../aws-credential-types"
|
2478 3046 | version = "1.2.4"
|
2479 3047 |
|
2480 3048 | [dependencies.aws-runtime]
|
2481 3049 | path = "../aws-runtime"
|
2482 3050 | version = "1.5.9"
|
2483 3051 |
|
2484 3052 | [dependencies.aws-smithy-async]
|
2485 3053 | path = "../aws-smithy-async"
|
2486 3054 | version = "1.2.5"
|
2487 3055 |
|
2488 3056 | [dependencies.aws-smithy-http]
|
2489 3057 | path = "../aws-smithy-http"
|
2490 - | version = "0.62.2"
|
3058 + | version = "0.62.3"
|
2491 3059 |
|
2492 3060 | [dependencies.aws-smithy-json]
|
2493 3061 | path = "../aws-smithy-json"
|
2494 3062 | version = "0.61.4"
|
2495 3063 |
|
2496 3064 | [dependencies.aws-smithy-runtime]
|
2497 3065 | path = "../aws-smithy-runtime"
|
2498 3066 | features = ["client"]
|
2499 3067 | version = "1.8.5"
|
2500 3068 |
|
2501 3069 | [dependencies.aws-smithy-runtime-api]
|
2502 3070 | path = "../aws-smithy-runtime-api"
|
2503 3071 | features = ["client", "http-02x"]
|
2504 3072 | version = "1.8.5"
|
2505 3073 |
|
2506 3074 | [dependencies.aws-smithy-types]
|
2507 3075 | path = "../aws-smithy-types"
|
2508 3076 | version = "1.3.2"
|
2509 3077 |
|
2510 3078 | [dependencies.aws-types]
|
2511 3079 | path = "../aws-types"
|
2512 3080 | version = "1.3.8"
|
2513 3081 |
|
2514 3082 | [dependencies.bytes]
|
2515 3083 | version = "1.4.0"
|
2516 3084 |
|
2517 3085 | [dependencies.fastrand]
|
2518 3086 | version = "2.0.0"
|
2519 3087 |
|
2520 3088 | [dependencies.http]
|
2521 3089 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
|
2522 3090 | index 15b1d77..16d7d89 100644
|
2523 - | -- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
|
3091 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
|
2524 3092 | @@ -1,65 +1,65 @@
|
2525 3093 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
2526 3094 | [package]
|
2527 3095 | name = "aws-sdk-glacier"
|
2528 3096 | version = "0.0.0-local"
|
2529 3097 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
2530 3098 | description = "AWS SDK for Amazon Glacier"
|
2531 3099 | edition = "2021"
|
2532 3100 | license = "Apache-2.0"
|
2533 3101 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
2534 3102 | rust-version = "1.86.0"
|
2535 3103 | readme = "README.md"
|
2536 3104 | [package.metadata.smithy]
|
2537 3105 | codegen-version = "ci"
|
2538 3106 | [package.metadata.docs.rs]
|
2539 3107 | all-features = true
|
2540 3108 | targets = ["x86_64-unknown-linux-gnu"]
|
2541 3109 | [dependencies.aws-credential-types]
|
2542 3110 | path = "../aws-credential-types"
|
2543 3111 | version = "1.2.4"
|
2544 3112 |
|
2545 3113 | [dependencies.aws-runtime]
|
2546 3114 | path = "../aws-runtime"
|
2547 3115 | version = "1.5.9"
|
2548 3116 |
|
2549 3117 | [dependencies.aws-sigv4]
|
2550 3118 | path = "../aws-sigv4"
|
2551 - | version = "1.3.3"
|
3119 + | version = "1.3.4"
|
2552 3120 |
|
2553 3121 | [dependencies.aws-smithy-async]
|
2554 3122 | path = "../aws-smithy-async"
|
2555 3123 | version = "1.2.5"
|
2556 3124 |
|
2557 3125 | [dependencies.aws-smithy-http]
|
2558 3126 | path = "../aws-smithy-http"
|
2559 - | version = "0.62.2"
|
3127 + | version = "0.62.3"
|
2560 3128 |
|
2561 3129 | [dependencies.aws-smithy-json]
|
2562 3130 | path = "../aws-smithy-json"
|
2563 3131 | version = "0.61.4"
|
2564 3132 |
|
2565 3133 | [dependencies.aws-smithy-runtime]
|
2566 3134 | path = "../aws-smithy-runtime"
|
2567 3135 | features = ["client"]
|
2568 3136 | version = "1.8.5"
|
2569 3137 |
|
2570 3138 | [dependencies.aws-smithy-runtime-api]
|
2571 3139 | path = "../aws-smithy-runtime-api"
|
2572 3140 | features = ["client", "http-02x"]
|
2573 3141 | version = "1.8.5"
|
2574 3142 |
|
2575 3143 | [dependencies.aws-smithy-types]
|
2576 3144 | path = "../aws-smithy-types"
|
2577 3145 | version = "1.3.2"
|
2578 3146 |
|
2579 3147 | [dependencies.aws-types]
|
2580 3148 | path = "../aws-types"
|
2581 3149 | version = "1.3.8"
|
2582 3150 |
|
2583 3151 | [dependencies.bytes]
|
2584 3152 | version = "1.4.0"
|
2585 3153 |
|
2586 3154 | [dependencies.fastrand]
|
2587 3155 | version = "2.0.0"
|
2588 3156 |
|
2589 3157 | [dependencies.hex]
|
2590 3158 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
|
2591 3159 | index d718a3a..65e6f24 100644
|
2592 - | -- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
|
3160 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
|
2593 3161 | @@ -1,61 +1,61 @@
|
2594 3162 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
2595 3163 | [package]
|
2596 3164 | name = "aws-sdk-iam"
|
2597 3165 | version = "0.0.0-local"
|
2598 3166 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
2599 3167 | description = "AWS SDK for AWS Identity and Access Management"
|
2600 3168 | edition = "2021"
|
2601 3169 | license = "Apache-2.0"
|
2602 3170 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
2603 3171 | rust-version = "1.86.0"
|
2604 3172 | readme = "README.md"
|
2605 3173 | [package.metadata.smithy]
|
2606 3174 | codegen-version = "ci"
|
2607 3175 | [package.metadata.docs.rs]
|
2608 3176 | all-features = true
|
2609 3177 | targets = ["x86_64-unknown-linux-gnu"]
|
2610 3178 | [dependencies.aws-credential-types]
|
2611 3179 | path = "../aws-credential-types"
|
2612 3180 | version = "1.2.4"
|
2613 3181 |
|
2614 3182 | [dependencies.aws-runtime]
|
2615 3183 | path = "../aws-runtime"
|
2616 3184 | version = "1.5.9"
|
2617 3185 |
|
2618 3186 | [dependencies.aws-smithy-async]
|
2619 3187 | path = "../aws-smithy-async"
|
2620 3188 | version = "1.2.5"
|
2621 3189 |
|
2622 3190 | [dependencies.aws-smithy-http]
|
2623 3191 | path = "../aws-smithy-http"
|
2624 - | version = "0.62.2"
|
3192 + | version = "0.62.3"
|
2625 3193 |
|
2626 3194 | [dependencies.aws-smithy-json]
|
2627 3195 | path = "../aws-smithy-json"
|
2628 3196 | version = "0.61.4"
|
2629 3197 |
|
2630 3198 | [dependencies.aws-smithy-query]
|
2631 3199 | path = "../aws-smithy-query"
|
2632 3200 | version = "0.60.7"
|
2633 3201 |
|
2634 3202 | [dependencies.aws-smithy-runtime]
|
2635 3203 | path = "../aws-smithy-runtime"
|
2636 3204 | features = ["client"]
|
2637 3205 | version = "1.8.5"
|
2638 3206 |
|
2639 3207 | [dependencies.aws-smithy-runtime-api]
|
2640 3208 | path = "../aws-smithy-runtime-api"
|
2641 3209 | features = ["client", "http-02x"]
|
2642 3210 | version = "1.8.5"
|
2643 3211 |
|
2644 3212 | [dependencies.aws-smithy-types]
|
2645 3213 | path = "../aws-smithy-types"
|
2646 3214 | version = "1.3.2"
|
2647 3215 |
|
2648 3216 | [dependencies.aws-smithy-xml]
|
2649 3217 | path = "../aws-smithy-xml"
|
2650 3218 | version = "0.60.10"
|
2651 3219 |
|
2652 3220 | [dependencies.aws-types]
|
2653 3221 | path = "../aws-types"
|
2654 3222 | version = "1.3.8"
|
2655 3223 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
|
2656 3224 | index 0ed4302..3d828a5 100644
|
2657 - | -- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
|
3225 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
|
2658 3226 | @@ -1,61 +1,61 @@
|
2659 3227 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
2660 3228 | [package]
|
2661 3229 | name = "aws-sdk-kms"
|
2662 3230 | version = "0.0.0-local"
|
2663 3231 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
2664 3232 | description = "AWS SDK for AWS Key Management Service"
|
2665 3233 | edition = "2021"
|
2666 3234 | license = "Apache-2.0"
|
2667 3235 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
2668 3236 | rust-version = "1.86.0"
|
2669 3237 | readme = "README.md"
|
2670 3238 | [package.metadata.smithy]
|
2671 3239 | codegen-version = "ci"
|
2672 3240 | [package.metadata.docs.rs]
|
2673 3241 | all-features = true
|
2674 3242 | targets = ["x86_64-unknown-linux-gnu"]
|
2675 3243 | [dependencies.aws-credential-types]
|
2676 3244 | path = "../aws-credential-types"
|
2677 3245 | version = "1.2.4"
|
2678 3246 |
|
2679 3247 | [dependencies.aws-runtime]
|
2680 3248 | path = "../aws-runtime"
|
2681 3249 | version = "1.5.9"
|
2682 3250 |
|
2683 3251 | [dependencies.aws-smithy-async]
|
2684 3252 | path = "../aws-smithy-async"
|
2685 3253 | version = "1.2.5"
|
2686 3254 |
|
2687 3255 | [dependencies.aws-smithy-http]
|
2688 3256 | path = "../aws-smithy-http"
|
2689 - | version = "0.62.2"
|
3257 + | version = "0.62.3"
|
2690 3258 |
|
2691 3259 | [dependencies.aws-smithy-json]
|
2692 3260 | path = "../aws-smithy-json"
|
2693 3261 | version = "0.61.4"
|
2694 3262 |
|
2695 3263 | [dependencies.aws-smithy-runtime]
|
2696 3264 | path = "../aws-smithy-runtime"
|
2697 3265 | features = ["client"]
|
2698 3266 | version = "1.8.5"
|
2699 3267 |
|
2700 3268 | [dependencies.aws-smithy-runtime-api]
|
2701 3269 | path = "../aws-smithy-runtime-api"
|
2702 3270 | features = ["client", "http-02x"]
|
2703 3271 | version = "1.8.5"
|
2704 3272 |
|
2705 3273 | [dependencies.aws-smithy-types]
|
2706 3274 | path = "../aws-smithy-types"
|
2707 3275 | version = "1.3.2"
|
2708 3276 |
|
2709 3277 | [dependencies.aws-types]
|
2710 3278 | path = "../aws-types"
|
2711 3279 | version = "1.3.8"
|
2712 3280 |
|
2713 3281 | [dependencies.bytes]
|
2714 3282 | version = "1.4.0"
|
2715 3283 |
|
2716 3284 | [dependencies.fastrand]
|
2717 3285 | version = "2.0.0"
|
2718 3286 |
|
2719 3287 | [dependencies.http]
|
2720 3288 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
|
2721 3289 | index 6518dfc..6b94752 100644
|
2722 - | -- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
|
3290 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
|
2723 3291 | @@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
|
2724 3292 | edition = "2021"
|
2725 3293 | license = "Apache-2.0"
|
2726 3294 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
2727 3295 | rust-version = "1.86.0"
|
2728 3296 | readme = "README.md"
|
2729 3297 | [package.metadata.smithy]
|
2730 3298 | codegen-version = "ci"
|
2731 3299 | [package.metadata.docs.rs]
|
2732 3300 | all-features = true
|
2733 3301 | targets = ["x86_64-unknown-linux-gnu"]
|
2734 3302 | [dependencies.aws-credential-types]
|
2735 3303 | path = "../aws-credential-types"
|
2736 3304 | version = "1.2.4"
|
2737 3305 |
|
2738 3306 | [dependencies.aws-runtime]
|
2739 3307 | path = "../aws-runtime"
|
2740 3308 | features = ["event-stream"]
|
2741 3309 | version = "1.5.9"
|
2742 3310 |
|
2743 3311 | [dependencies.aws-smithy-async]
|
2744 3312 | path = "../aws-smithy-async"
|
2745 3313 | version = "1.2.5"
|
2746 3314 |
|
2747 3315 | [dependencies.aws-smithy-eventstream]
|
2748 3316 | path = "../aws-smithy-eventstream"
|
2749 3317 | version = "0.60.10"
|
2750 3318 |
|
2751 3319 | [dependencies.aws-smithy-http]
|
2752 3320 | path = "../aws-smithy-http"
|
2753 3321 | features = ["event-stream"]
|
2754 - | version = "0.62.2"
|
3322 + | version = "0.62.3"
|
2755 3323 |
|
2756 3324 | [dependencies.aws-smithy-json]
|
2757 3325 | path = "../aws-smithy-json"
|
2758 3326 | version = "0.61.4"
|
2759 3327 |
|
2760 3328 | [dependencies.aws-smithy-runtime]
|
2761 3329 | path = "../aws-smithy-runtime"
|
2762 3330 | features = ["client"]
|
2763 3331 | version = "1.8.5"
|
2764 3332 |
|
2765 3333 | [dependencies.aws-smithy-runtime-api]
|
2766 3334 | path = "../aws-smithy-runtime-api"
|
2767 3335 | features = ["client", "http-02x"]
|
2768 3336 | version = "1.8.5"
|
2769 3337 |
|
2770 3338 | [dependencies.aws-smithy-types]
|
2771 3339 | path = "../aws-smithy-types"
|
2772 3340 | version = "1.3.2"
|
2773 3341 |
|
2774 3342 | [dependencies.aws-types]
|
2775 3343 | path = "../aws-types"
|
2776 3344 | version = "1.3.8"
|
2777 3345 |
|
2778 3346 | [dependencies.bytes]
|
2779 3347 | version = "1.4.0"
|
2780 3348 |
|
2781 3349 | [dependencies.fastrand]
|
2782 3350 | version = "2.0.0"
|
2783 3351 |
|
2784 3352 | [dependencies.http]
|
2785 3353 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
|
2786 3354 | index dabb0e0..34cbc15 100644
|
2787 - | -- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
|
3355 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
|
2788 3356 | @@ -1,65 +1,65 @@
|
2789 3357 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
2790 3358 | [package]
|
2791 3359 | name = "aws-sdk-polly"
|
2792 3360 | version = "0.0.0-local"
|
2793 3361 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
2794 3362 | description = "AWS SDK for Amazon Polly"
|
2795 3363 | edition = "2021"
|
2796 3364 | license = "Apache-2.0"
|
2797 3365 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
2798 3366 | rust-version = "1.86.0"
|
2799 3367 | readme = "README.md"
|
2800 3368 | [package.metadata.smithy]
|
2801 3369 | codegen-version = "ci"
|
2802 3370 | [package.metadata.docs.rs]
|
2803 3371 | all-features = true
|
2804 3372 | targets = ["x86_64-unknown-linux-gnu"]
|
2805 3373 | [dependencies.aws-credential-types]
|
2806 3374 | path = "../aws-credential-types"
|
2807 3375 | version = "1.2.4"
|
2808 3376 |
|
2809 3377 | [dependencies.aws-runtime]
|
2810 3378 | path = "../aws-runtime"
|
2811 3379 | version = "1.5.9"
|
2812 3380 |
|
2813 3381 | [dependencies.aws-sigv4]
|
2814 3382 | path = "../aws-sigv4"
|
2815 - | version = "1.3.3"
|
3383 + | version = "1.3.4"
|
2816 3384 |
|
2817 3385 | [dependencies.aws-smithy-async]
|
2818 3386 | path = "../aws-smithy-async"
|
2819 3387 | version = "1.2.5"
|
2820 3388 |
|
2821 3389 | [dependencies.aws-smithy-http]
|
2822 3390 | path = "../aws-smithy-http"
|
2823 - | version = "0.62.2"
|
3391 + | version = "0.62.3"
|
2824 3392 |
|
2825 3393 | [dependencies.aws-smithy-json]
|
2826 3394 | path = "../aws-smithy-json"
|
2827 3395 | version = "0.61.4"
|
2828 3396 |
|
2829 3397 | [dependencies.aws-smithy-runtime]
|
2830 3398 | path = "../aws-smithy-runtime"
|
2831 3399 | features = ["client"]
|
2832 3400 | version = "1.8.5"
|
2833 3401 |
|
2834 3402 | [dependencies.aws-smithy-runtime-api]
|
2835 3403 | path = "../aws-smithy-runtime-api"
|
2836 3404 | features = ["client", "http-02x"]
|
2837 3405 | version = "1.8.5"
|
2838 3406 |
|
2839 3407 | [dependencies.aws-smithy-types]
|
2840 3408 | path = "../aws-smithy-types"
|
2841 3409 | version = "1.3.2"
|
2842 3410 |
|
2843 3411 | [dependencies.aws-types]
|
2844 3412 | path = "../aws-types"
|
2845 3413 | version = "1.3.8"
|
2846 3414 |
|
2847 3415 | [dependencies.bytes]
|
2848 3416 | version = "1.4.0"
|
2849 3417 |
|
2850 3418 | [dependencies.fastrand]
|
2851 3419 | version = "2.0.0"
|
2852 3420 |
|
2853 3421 | [dependencies.http]
|
2854 3422 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
|
2855 3423 | index a884716..f3d8713 100644
|
2856 - | -- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
|
3424 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
|
2857 3425 | @@ -1,61 +1,61 @@
|
2858 3426 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
2859 3427 | [package]
|
2860 3428 | name = "aws-sdk-qldbsession"
|
2861 3429 | version = "0.0.0-local"
|
2862 3430 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
2863 3431 | description = "AWS SDK for Amazon QLDB Session"
|
2864 3432 | edition = "2021"
|
2865 3433 | license = "Apache-2.0"
|
2866 3434 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
2867 3435 | rust-version = "1.86.0"
|
2868 3436 | readme = "README.md"
|
2869 3437 | [package.metadata.smithy]
|
2870 3438 | codegen-version = "ci"
|
2871 3439 | [package.metadata.docs.rs]
|
2872 3440 | all-features = true
|
2873 3441 | targets = ["x86_64-unknown-linux-gnu"]
|
2874 3442 | [dependencies.aws-credential-types]
|
2875 3443 | path = "../aws-credential-types"
|
2876 3444 | version = "1.2.4"
|
2877 3445 |
|
2878 3446 | [dependencies.aws-runtime]
|
2879 3447 | path = "../aws-runtime"
|
2880 3448 | version = "1.5.9"
|
2881 3449 |
|
2882 3450 | [dependencies.aws-smithy-async]
|
2883 3451 | path = "../aws-smithy-async"
|
2884 3452 | version = "1.2.5"
|
2885 3453 |
|
2886 3454 | [dependencies.aws-smithy-http]
|
2887 3455 | path = "../aws-smithy-http"
|
2888 - | version = "0.62.2"
|
3456 + | version = "0.62.3"
|
2889 3457 |
|
2890 3458 | [dependencies.aws-smithy-json]
|
2891 3459 | path = "../aws-smithy-json"
|
2892 3460 | version = "0.61.4"
|
2893 3461 |
|
2894 3462 | [dependencies.aws-smithy-runtime]
|
2895 3463 | path = "../aws-smithy-runtime"
|
2896 3464 | features = ["client"]
|
2897 3465 | version = "1.8.5"
|
2898 3466 |
|
2899 3467 | [dependencies.aws-smithy-runtime-api]
|
2900 3468 | path = "../aws-smithy-runtime-api"
|
2901 3469 | features = ["client", "http-02x"]
|
2902 3470 | version = "1.8.5"
|
2903 3471 |
|
2904 3472 | [dependencies.aws-smithy-types]
|
2905 3473 | path = "../aws-smithy-types"
|
2906 3474 | version = "1.3.2"
|
2907 3475 |
|
2908 3476 | [dependencies.aws-types]
|
2909 3477 | path = "../aws-types"
|
2910 3478 | version = "1.3.8"
|
2911 3479 |
|
2912 3480 | [dependencies.bytes]
|
2913 3481 | version = "1.4.0"
|
2914 3482 |
|
2915 3483 | [dependencies.fastrand]
|
2916 3484 | version = "2.0.0"
|
2917 3485 |
|
2918 3486 | [dependencies.http]
|
2919 3487 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
|
2920 3488 | index 32a7dc9..a2c752d 100644
|
2921 - | -- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
|
3489 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
|
2922 3490 | @@ -1,61 +1,61 @@
|
2923 3491 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
2924 3492 | [package]
|
2925 3493 | name = "aws-sdk-route53"
|
2926 3494 | version = "0.0.0-local"
|
2927 3495 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
2928 3496 | description = "AWS SDK for Amazon Route 53"
|
2929 3497 | edition = "2021"
|
2930 3498 | license = "Apache-2.0"
|
2931 3499 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
2932 3500 | rust-version = "1.86.0"
|
2933 3501 | readme = "README.md"
|
2934 3502 | [package.metadata.smithy]
|
2935 3503 | codegen-version = "ci"
|
2936 3504 | [package.metadata.docs.rs]
|
2937 3505 | all-features = true
|
2938 3506 | targets = ["x86_64-unknown-linux-gnu"]
|
2939 3507 | [dependencies.aws-credential-types]
|
2940 3508 | path = "../aws-credential-types"
|
2941 3509 | version = "1.2.4"
|
2942 3510 |
|
2943 3511 | [dependencies.aws-runtime]
|
2944 3512 | path = "../aws-runtime"
|
2945 3513 | version = "1.5.9"
|
2946 3514 |
|
2947 3515 | [dependencies.aws-smithy-async]
|
2948 3516 | path = "../aws-smithy-async"
|
2949 3517 | version = "1.2.5"
|
2950 3518 |
|
2951 3519 | [dependencies.aws-smithy-http]
|
2952 3520 | path = "../aws-smithy-http"
|
2953 - | version = "0.62.2"
|
3521 + | version = "0.62.3"
|
2954 3522 |
|
2955 3523 | [dependencies.aws-smithy-json]
|
2956 3524 | path = "../aws-smithy-json"
|
2957 3525 | version = "0.61.4"
|
2958 3526 |
|
2959 3527 | [dependencies.aws-smithy-runtime]
|
2960 3528 | path = "../aws-smithy-runtime"
|
2961 3529 | features = ["client"]
|
2962 3530 | version = "1.8.5"
|
2963 3531 |
|
2964 3532 | [dependencies.aws-smithy-runtime-api]
|
2965 3533 | path = "../aws-smithy-runtime-api"
|
2966 3534 | features = ["client", "http-02x"]
|
2967 3535 | version = "1.8.5"
|
2968 3536 |
|
2969 3537 | [dependencies.aws-smithy-types]
|
2970 3538 | path = "../aws-smithy-types"
|
2971 3539 | version = "1.3.2"
|
2972 3540 |
|
2973 3541 | [dependencies.aws-smithy-xml]
|
2974 3542 | path = "../aws-smithy-xml"
|
2975 3543 | version = "0.60.10"
|
2976 3544 |
|
2977 3545 | [dependencies.aws-types]
|
2978 3546 | path = "../aws-types"
|
2979 3547 | version = "1.3.8"
|
2980 3548 |
|
2981 3549 | [dependencies.fastrand]
|
2982 3550 | version = "2.0.0"
|
2983 3551 |
|
2984 3552 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
|
2985 3553 | index f65e261..2f6bec0 100644
|
2986 - | -- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
|
3554 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
|
2987 3555 | @@ -1,75 +1,75 @@
|
2988 3556 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
2989 3557 | [package]
|
2990 3558 | name = "aws-sdk-s3"
|
2991 3559 | version = "0.0.0-local"
|
2992 3560 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
2993 3561 | description = "AWS SDK for Amazon Simple Storage Service"
|
2994 3562 | edition = "2021"
|
2995 3563 | license = "Apache-2.0"
|
2996 3564 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
2997 3565 | rust-version = "1.86.0"
|
2998 3566 | readme = "README.md"
|
2999 3567 | [package.metadata.smithy]
|
3000 3568 | codegen-version = "ci"
|
3001 3569 | [package.metadata.docs.rs]
|
3002 3570 | all-features = true
|
3003 3571 | targets = ["x86_64-unknown-linux-gnu"]
|
3004 3572 | [dependencies.aws-credential-types]
|
3005 3573 | path = "../aws-credential-types"
|
3006 3574 | version = "1.2.4"
|
3007 3575 |
|
3008 3576 | [dependencies.aws-runtime]
|
3009 3577 | path = "../aws-runtime"
|
3010 3578 | features = ["event-stream", "http-02x"]
|
3011 3579 | version = "1.5.9"
|
3012 3580 |
|
3013 3581 | [dependencies.aws-sigv4]
|
3014 3582 | path = "../aws-sigv4"
|
3015 - | version = "1.3.3"
|
3583 + | version = "1.3.4"
|
3016 3584 |
|
3017 3585 | [dependencies.aws-smithy-async]
|
3018 3586 | path = "../aws-smithy-async"
|
3019 3587 | version = "1.2.5"
|
3020 3588 |
|
3021 3589 | [dependencies.aws-smithy-checksums]
|
3022 3590 | path = "../aws-smithy-checksums"
|
3023 3591 | version = "0.63.5"
|
3024 3592 |
|
3025 3593 | [dependencies.aws-smithy-eventstream]
|
3026 3594 | path = "../aws-smithy-eventstream"
|
3027 3595 | version = "0.60.10"
|
3028 3596 |
|
3029 3597 | [dependencies.aws-smithy-http]
|
3030 3598 | path = "../aws-smithy-http"
|
3031 3599 | features = ["event-stream"]
|
3032 - | version = "0.62.2"
|
3600 + | version = "0.62.3"
|
3033 3601 |
|
3034 3602 | [dependencies.aws-smithy-json]
|
3035 3603 | path = "../aws-smithy-json"
|
3036 3604 | version = "0.61.4"
|
3037 3605 |
|
3038 3606 | [dependencies.aws-smithy-runtime]
|
3039 3607 | path = "../aws-smithy-runtime"
|
3040 3608 | features = ["client"]
|
3041 3609 | version = "1.8.5"
|
3042 3610 |
|
3043 3611 | [dependencies.aws-smithy-runtime-api]
|
3044 3612 | path = "../aws-smithy-runtime-api"
|
3045 3613 | features = ["client", "http-02x"]
|
3046 3614 | version = "1.8.5"
|
3047 3615 |
|
3048 3616 | [dependencies.aws-smithy-types]
|
3049 3617 | path = "../aws-smithy-types"
|
3050 3618 | version = "1.3.2"
|
3051 3619 |
|
3052 3620 | [dependencies.aws-smithy-xml]
|
3053 3621 | path = "../aws-smithy-xml"
|
3054 3622 | version = "0.60.10"
|
3055 3623 |
|
3056 3624 | [dependencies.aws-types]
|
3057 3625 | path = "../aws-types"
|
3058 3626 | version = "1.3.8"
|
3059 3627 |
|
3060 3628 | [dependencies.bytes]
|
3061 3629 | version = "1.4.0"
|
3062 3630 |
|
3063 3631 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
|
3064 3632 | index b4d1cdd..861c0cc 100644
|
3065 - | -- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
|
3633 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
|
3066 3634 | @@ -1,61 +1,61 @@
|
3067 3635 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
3068 3636 | [package]
|
3069 3637 | name = "aws-sdk-s3control"
|
3070 3638 | version = "0.0.0-local"
|
3071 3639 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
3072 3640 | description = "AWS SDK for AWS S3 Control"
|
3073 3641 | edition = "2021"
|
3074 3642 | license = "Apache-2.0"
|
3075 3643 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
3076 3644 | rust-version = "1.86.0"
|
3077 3645 | readme = "README.md"
|
3078 3646 | [package.metadata.smithy]
|
3079 3647 | codegen-version = "ci"
|
3080 3648 | [package.metadata.docs.rs]
|
3081 3649 | all-features = true
|
3082 3650 | targets = ["x86_64-unknown-linux-gnu"]
|
3083 3651 | [dependencies.aws-credential-types]
|
3084 3652 | path = "../aws-credential-types"
|
3085 3653 | version = "1.2.4"
|
3086 3654 |
|
3087 3655 | [dependencies.aws-runtime]
|
3088 3656 | path = "../aws-runtime"
|
3089 3657 | version = "1.5.9"
|
3090 3658 |
|
3091 3659 | [dependencies.aws-smithy-async]
|
3092 3660 | path = "../aws-smithy-async"
|
3093 3661 | version = "1.2.5"
|
3094 3662 |
|
3095 3663 | [dependencies.aws-smithy-http]
|
3096 3664 | path = "../aws-smithy-http"
|
3097 - | version = "0.62.2"
|
3665 + | version = "0.62.3"
|
3098 3666 |
|
3099 3667 | [dependencies.aws-smithy-json]
|
3100 3668 | path = "../aws-smithy-json"
|
3101 3669 | version = "0.61.4"
|
3102 3670 |
|
3103 3671 | [dependencies.aws-smithy-runtime]
|
3104 3672 | path = "../aws-smithy-runtime"
|
3105 3673 | features = ["client"]
|
3106 3674 | version = "1.8.5"
|
3107 3675 |
|
3108 3676 | [dependencies.aws-smithy-runtime-api]
|
3109 3677 | path = "../aws-smithy-runtime-api"
|
3110 3678 | features = ["client", "http-02x"]
|
3111 3679 | version = "1.8.5"
|
3112 3680 |
|
3113 3681 | [dependencies.aws-smithy-types]
|
3114 3682 | path = "../aws-smithy-types"
|
3115 3683 | version = "1.3.2"
|
3116 3684 |
|
3117 3685 | [dependencies.aws-smithy-xml]
|
3118 3686 | path = "../aws-smithy-xml"
|
3119 3687 | version = "0.60.10"
|
3120 3688 |
|
3121 3689 | [dependencies.aws-types]
|
3122 3690 | path = "../aws-types"
|
3123 3691 | version = "1.3.8"
|
3124 3692 |
|
3125 3693 | [dependencies.fastrand]
|
3126 3694 | version = "2.0.0"
|
3127 3695 |
|
3128 3696 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
|
3129 3697 | index 2cde182..fc367f4 100644
|
3130 - | -- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
|
3698 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
|
3131 3699 | @@ -1,61 +1,61 @@
|
3132 3700 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
3133 3701 | [package]
|
3134 3702 | name = "aws-sdk-sso"
|
3135 3703 | version = "0.0.0-local"
|
3136 3704 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
3137 3705 | description = "AWS SDK for AWS Single Sign-On"
|
3138 3706 | edition = "2021"
|
3139 3707 | license = "Apache-2.0"
|
3140 3708 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
3141 3709 | rust-version = "1.86.0"
|
3142 3710 | readme = "README.md"
|
3143 3711 | [package.metadata.smithy]
|
3144 3712 | codegen-version = "ci"
|
3145 3713 | [package.metadata.docs.rs]
|
3146 3714 | all-features = true
|
3147 3715 | targets = ["x86_64-unknown-linux-gnu"]
|
3148 3716 | [dependencies.aws-credential-types]
|
3149 3717 | path = "../aws-credential-types"
|
3150 3718 | version = "1.2.4"
|
3151 3719 |
|
3152 3720 | [dependencies.aws-runtime]
|
3153 3721 | path = "../aws-runtime"
|
3154 3722 | version = "1.5.9"
|
3155 3723 |
|
3156 3724 | [dependencies.aws-smithy-async]
|
3157 3725 | path = "../aws-smithy-async"
|
3158 3726 | version = "1.2.5"
|
3159 3727 |
|
3160 3728 | [dependencies.aws-smithy-http]
|
3161 3729 | path = "../aws-smithy-http"
|
3162 - | version = "0.62.2"
|
3730 + | version = "0.62.3"
|
3163 3731 |
|
3164 3732 | [dependencies.aws-smithy-json]
|
3165 3733 | path = "../aws-smithy-json"
|
3166 3734 | version = "0.61.4"
|
3167 3735 |
|
3168 3736 | [dependencies.aws-smithy-runtime]
|
3169 3737 | path = "../aws-smithy-runtime"
|
3170 3738 | features = ["client"]
|
3171 3739 | version = "1.8.5"
|
3172 3740 |
|
3173 3741 | [dependencies.aws-smithy-runtime-api]
|
3174 3742 | path = "../aws-smithy-runtime-api"
|
3175 3743 | features = ["client", "http-02x"]
|
3176 3744 | version = "1.8.5"
|
3177 3745 |
|
3178 3746 | [dependencies.aws-smithy-types]
|
3179 3747 | path = "../aws-smithy-types"
|
3180 3748 | version = "1.3.2"
|
3181 3749 |
|
3182 3750 | [dependencies.aws-types]
|
3183 3751 | path = "../aws-types"
|
3184 3752 | version = "1.3.8"
|
3185 3753 |
|
3186 3754 | [dependencies.bytes]
|
3187 3755 | version = "1.4.0"
|
3188 3756 |
|
3189 3757 | [dependencies.fastrand]
|
3190 3758 | version = "2.0.0"
|
3191 3759 |
|
3192 3760 | [dependencies.http]
|
3193 3761 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
|
3194 3762 | index 7a34c16..588d0bd 100644
|
3195 - | -- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
|
3763 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
|
3196 3764 | @@ -1,61 +1,61 @@
|
3197 3765 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
3198 3766 | [package]
|
3199 3767 | name = "aws-sdk-ssooidc"
|
3200 3768 | version = "0.0.0-local"
|
3201 3769 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
3202 3770 | description = "AWS SDK for AWS SSO OIDC"
|
3203 3771 | edition = "2021"
|
3204 3772 | license = "Apache-2.0"
|
3205 3773 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
3206 3774 | rust-version = "1.86.0"
|
3207 3775 | readme = "README.md"
|
3208 3776 | [package.metadata.smithy]
|
3209 3777 | codegen-version = "ci"
|
3210 3778 | [package.metadata.docs.rs]
|
3211 3779 | all-features = true
|
3212 3780 | targets = ["x86_64-unknown-linux-gnu"]
|
3213 3781 | [dependencies.aws-credential-types]
|
3214 3782 | path = "../aws-credential-types"
|
3215 3783 | version = "1.2.4"
|
3216 3784 |
|
3217 3785 | [dependencies.aws-runtime]
|
3218 3786 | path = "../aws-runtime"
|
3219 3787 | version = "1.5.9"
|
3220 3788 |
|
3221 3789 | [dependencies.aws-smithy-async]
|
3222 3790 | path = "../aws-smithy-async"
|
3223 3791 | version = "1.2.5"
|
3224 3792 |
|
3225 3793 | [dependencies.aws-smithy-http]
|
3226 3794 | path = "../aws-smithy-http"
|
3227 - | version = "0.62.2"
|
3795 + | version = "0.62.3"
|
3228 3796 |
|
3229 3797 | [dependencies.aws-smithy-json]
|
3230 3798 | path = "../aws-smithy-json"
|
3231 3799 | version = "0.61.4"
|
3232 3800 |
|
3233 3801 | [dependencies.aws-smithy-runtime]
|
3234 3802 | path = "../aws-smithy-runtime"
|
3235 3803 | features = ["client"]
|
3236 3804 | version = "1.8.5"
|
3237 3805 |
|
3238 3806 | [dependencies.aws-smithy-runtime-api]
|
3239 3807 | path = "../aws-smithy-runtime-api"
|
3240 3808 | features = ["client", "http-02x"]
|
3241 3809 | version = "1.8.5"
|
3242 3810 |
|
3243 3811 | [dependencies.aws-smithy-types]
|
3244 3812 | path = "../aws-smithy-types"
|
3245 3813 | version = "1.3.2"
|
3246 3814 |
|
3247 3815 | [dependencies.aws-types]
|
3248 3816 | path = "../aws-types"
|
3249 3817 | version = "1.3.8"
|
3250 3818 |
|
3251 3819 | [dependencies.bytes]
|
3252 3820 | version = "1.4.0"
|
3253 3821 |
|
3254 3822 | [dependencies.fastrand]
|
3255 3823 | version = "2.0.0"
|
3256 3824 |
|
3257 3825 | [dependencies.http]
|
3258 3826 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
|
3259 3827 | index 895dfb3..f2ce34e 100644
|
3260 - | -- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
|
3828 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
|
3261 3829 | @@ -1,61 +1,61 @@
|
3262 3830 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
3263 3831 | [package]
|
3264 3832 | name = "aws-sdk-sts"
|
3265 3833 | version = "0.0.0-local"
|
3266 3834 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
3267 3835 | description = "AWS SDK for AWS Security Token Service"
|
3268 3836 | edition = "2021"
|
3269 3837 | license = "Apache-2.0"
|
3270 3838 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
3271 3839 | rust-version = "1.86.0"
|
3272 3840 | readme = "README.md"
|
3273 3841 | [package.metadata.smithy]
|
3274 3842 | codegen-version = "ci"
|
3275 3843 | [package.metadata.docs.rs]
|
3276 3844 | all-features = true
|
3277 3845 | targets = ["x86_64-unknown-linux-gnu"]
|
3278 3846 | [dependencies.aws-credential-types]
|
3279 3847 | path = "../aws-credential-types"
|
3280 3848 | version = "1.2.4"
|
3281 3849 |
|
3282 3850 | [dependencies.aws-runtime]
|
3283 3851 | path = "../aws-runtime"
|
3284 3852 | version = "1.5.9"
|
3285 3853 |
|
3286 3854 | [dependencies.aws-smithy-async]
|
3287 3855 | path = "../aws-smithy-async"
|
3288 3856 | version = "1.2.5"
|
3289 3857 |
|
3290 3858 | [dependencies.aws-smithy-http]
|
3291 3859 | path = "../aws-smithy-http"
|
3292 - | version = "0.62.2"
|
3860 + | version = "0.62.3"
|
3293 3861 |
|
3294 3862 | [dependencies.aws-smithy-json]
|
3295 3863 | path = "../aws-smithy-json"
|
3296 3864 | version = "0.61.4"
|
3297 3865 |
|
3298 3866 | [dependencies.aws-smithy-query]
|
3299 3867 | path = "../aws-smithy-query"
|
3300 3868 | version = "0.60.7"
|
3301 3869 |
|
3302 3870 | [dependencies.aws-smithy-runtime]
|
3303 3871 | path = "../aws-smithy-runtime"
|
3304 3872 | features = ["client"]
|
3305 3873 | version = "1.8.5"
|
3306 3874 |
|
3307 3875 | [dependencies.aws-smithy-runtime-api]
|
3308 3876 | path = "../aws-smithy-runtime-api"
|
3309 3877 | features = ["client", "http-02x"]
|
3310 3878 | version = "1.8.5"
|
3311 3879 |
|
3312 3880 | [dependencies.aws-smithy-types]
|
3313 3881 | path = "../aws-smithy-types"
|
3314 3882 | version = "1.3.2"
|
3315 3883 |
|
3316 3884 | [dependencies.aws-smithy-xml]
|
3317 3885 | path = "../aws-smithy-xml"
|
3318 3886 | version = "0.60.10"
|
3319 3887 |
|
3320 3888 | [dependencies.aws-types]
|
3321 3889 | path = "../aws-types"
|
3322 3890 | version = "1.3.8"
|
3323 3891 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
|
3324 3892 | index d556561..91178b6 100644
|
3325 - | -- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
|
3893 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
|
3326 3894 | @@ -1,61 +1,61 @@
|
3327 3895 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
3328 3896 | [package]
|
3329 3897 | name = "aws-sdk-timestreamquery"
|
3330 3898 | version = "0.0.0-local"
|
3331 3899 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
3332 3900 | description = "AWS SDK for Amazon Timestream Query"
|
3333 3901 | edition = "2021"
|
3334 3902 | license = "Apache-2.0"
|
3335 3903 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
3336 3904 | rust-version = "1.86.0"
|
3337 3905 | readme = "README.md"
|
3338 3906 | [package.metadata.smithy]
|
3339 3907 | codegen-version = "ci"
|
3340 3908 | [package.metadata.docs.rs]
|
3341 3909 | all-features = true
|
3342 3910 | targets = ["x86_64-unknown-linux-gnu"]
|
3343 3911 | [dependencies.aws-credential-types]
|
3344 3912 | path = "../aws-credential-types"
|
3345 3913 | version = "1.2.4"
|
3346 3914 |
|
3347 3915 | [dependencies.aws-runtime]
|
3348 3916 | path = "../aws-runtime"
|
3349 3917 | version = "1.5.9"
|
3350 3918 |
|
3351 3919 | [dependencies.aws-smithy-async]
|
3352 3920 | path = "../aws-smithy-async"
|
3353 3921 | version = "1.2.5"
|
3354 3922 |
|
3355 3923 | [dependencies.aws-smithy-http]
|
3356 3924 | path = "../aws-smithy-http"
|
3357 - | version = "0.62.2"
|
3925 + | version = "0.62.3"
|
3358 3926 |
|
3359 3927 | [dependencies.aws-smithy-json]
|
3360 3928 | path = "../aws-smithy-json"
|
3361 3929 | version = "0.61.4"
|
3362 3930 |
|
3363 3931 | [dependencies.aws-smithy-runtime]
|
3364 3932 | path = "../aws-smithy-runtime"
|
3365 3933 | features = ["client"]
|
3366 3934 | version = "1.8.5"
|
3367 3935 |
|
3368 3936 | [dependencies.aws-smithy-runtime-api]
|
3369 3937 | path = "../aws-smithy-runtime-api"
|
3370 3938 | features = ["client", "http-02x"]
|
3371 3939 | version = "1.8.5"
|
3372 3940 |
|
3373 3941 | [dependencies.aws-smithy-types]
|
3374 3942 | path = "../aws-smithy-types"
|
3375 3943 | version = "1.3.2"
|
3376 3944 |
|
3377 3945 | [dependencies.aws-types]
|
3378 3946 | path = "../aws-types"
|
3379 3947 | version = "1.3.8"
|
3380 3948 |
|
3381 3949 | [dependencies.bytes]
|
3382 3950 | version = "1.4.0"
|
3383 3951 |
|
3384 3952 | [dependencies.fastrand]
|
3385 3953 | version = "2.0.0"
|
3386 3954 |
|
3387 3955 | [dependencies.http]
|
3388 3956 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
|
3389 3957 | index 0c56e4c..95731e3 100644
|
3390 - | -- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
|
3958 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
|
3391 3959 | @@ -1,61 +1,61 @@
|
3392 3960 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
3393 3961 | [package]
|
3394 3962 | name = "aws-sdk-timestreamwrite"
|
3395 3963 | version = "0.0.0-local"
|
3396 3964 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
3397 3965 | description = "AWS SDK for Amazon Timestream Write"
|
3398 3966 | edition = "2021"
|
3399 3967 | license = "Apache-2.0"
|
3400 3968 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
3401 3969 | rust-version = "1.86.0"
|
3402 3970 | readme = "README.md"
|
3403 3971 | [package.metadata.smithy]
|
3404 3972 | codegen-version = "ci"
|
3405 3973 | [package.metadata.docs.rs]
|
3406 3974 | all-features = true
|
3407 3975 | targets = ["x86_64-unknown-linux-gnu"]
|
3408 3976 | [dependencies.aws-credential-types]
|
3409 3977 | path = "../aws-credential-types"
|
3410 3978 | version = "1.2.4"
|
3411 3979 |
|
3412 3980 | [dependencies.aws-runtime]
|
3413 3981 | path = "../aws-runtime"
|
3414 3982 | version = "1.5.9"
|
3415 3983 |
|
3416 3984 | [dependencies.aws-smithy-async]
|
3417 3985 | path = "../aws-smithy-async"
|
3418 3986 | version = "1.2.5"
|
3419 3987 |
|
3420 3988 | [dependencies.aws-smithy-http]
|
3421 3989 | path = "../aws-smithy-http"
|
3422 - | version = "0.62.2"
|
3990 + | version = "0.62.3"
|
3423 3991 |
|
3424 3992 | [dependencies.aws-smithy-json]
|
3425 3993 | path = "../aws-smithy-json"
|
3426 3994 | version = "0.61.4"
|
3427 3995 |
|
3428 3996 | [dependencies.aws-smithy-runtime]
|
3429 3997 | path = "../aws-smithy-runtime"
|
3430 3998 | features = ["client"]
|
3431 3999 | version = "1.8.5"
|
3432 4000 |
|
3433 4001 | [dependencies.aws-smithy-runtime-api]
|
3434 4002 | path = "../aws-smithy-runtime-api"
|
3435 4003 | features = ["client", "http-02x"]
|
3436 4004 | version = "1.8.5"
|
3437 4005 |
|
3438 4006 | [dependencies.aws-smithy-types]
|
3439 4007 | path = "../aws-smithy-types"
|
3440 4008 | version = "1.3.2"
|
3441 4009 |
|
3442 4010 | [dependencies.aws-types]
|
3443 4011 | path = "../aws-types"
|
3444 4012 | version = "1.3.8"
|
3445 4013 |
|
3446 4014 | [dependencies.bytes]
|
3447 4015 | version = "1.4.0"
|
3448 4016 |
|
3449 4017 | [dependencies.fastrand]
|
3450 4018 | version = "2.0.0"
|
3451 4019 |
|
3452 4020 | [dependencies.http]
|
3453 4021 | diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
|
3454 4022 | index 5b35037..9fb220a 100644
|
3455 - | -- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
|
4023 + | ++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
|
3456 4024 | @@ -1,71 +1,71 @@
|
3457 4025 | # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
3458 4026 | [package]
|
3459 4027 | name = "aws-sdk-transcribestreaming"
|
3460 4028 | version = "0.0.0-local"
|
3461 4029 | authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
|
3462 4030 | description = "AWS SDK for Amazon Transcribe Streaming Service"
|
3463 4031 | edition = "2021"
|
3464 4032 | license = "Apache-2.0"
|
3465 4033 | repository = "https://github.com/awslabs/aws-sdk-rust"
|
3466 4034 | rust-version = "1.86.0"
|
3467 4035 | readme = "README.md"
|
3468 4036 | [package.metadata.smithy]
|
3469 4037 | codegen-version = "ci"
|
3470 4038 | [package.metadata.docs.rs]
|
3471 4039 | all-features = true
|
3472 4040 | targets = ["x86_64-unknown-linux-gnu"]
|
3473 4041 | [dependencies.aws-credential-types]
|
3474 4042 | path = "../aws-credential-types"
|
3475 4043 | version = "1.2.4"
|
3476 4044 |
|
3477 4045 | [dependencies.aws-runtime]
|
3478 4046 | path = "../aws-runtime"
|
3479 4047 | features = ["event-stream"]
|
3480 4048 | version = "1.5.9"
|
3481 4049 |
|
3482 4050 | [dependencies.aws-sigv4]
|
3483 4051 | path = "../aws-sigv4"
|
3484 - | version = "1.3.3"
|
4052 + | version = "1.3.4"
|
3485 4053 |
|
3486 4054 | [dependencies.aws-smithy-async]
|
3487 4055 | path = "../aws-smithy-async"
|
3488 4056 | version = "1.2.5"
|
3489 4057 |
|
3490 4058 | [dependencies.aws-smithy-eventstream]
|
3491 4059 | path = "../aws-smithy-eventstream"
|
3492 4060 | version = "0.60.10"
|
3493 4061 |
|
3494 4062 | [dependencies.aws-smithy-http]
|
3495 4063 | path = "../aws-smithy-http"
|
3496 4064 | features = ["event-stream"]
|
3497 - | version = "0.62.2"
|
4065 + | version = "0.62.3"
|
3498 4066 |
|
3499 4067 | [dependencies.aws-smithy-json]
|
3500 4068 | path = "../aws-smithy-json"
|
3501 4069 | version = "0.61.4"
|
3502 4070 |
|
3503 4071 | [dependencies.aws-smithy-runtime]
|
3504 4072 | path = "../aws-smithy-runtime"
|
3505 4073 | features = ["client"]
|
3506 4074 | version = "1.8.5"
|
3507 4075 |
|