AWS SDK

AWS SDK

rev. 628eeeeeed390f5efdbfe607c18848c033debd3e (ignoring whitespace)

Files changed:

tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/readme.txt

@@ -1,0 +15,0 @@
    1         -
A note about using temporary security credentials:
    2         -

    3         -
You can use temporary security credentials provided by the AWS Security Token Service (AWS STS) to sign a request. The process is the same as using long-term credentials but requires an additional HTTP header or query string parameter for the security token. The name of the header or query string parameter is X-Amz-Security-Token, and the value is the session token (the string that you received from AWS STS when you obtained temporary security credentials).
    4         -

    5         -
When you add X-Amz-Security-Token, some services require that you include this parameter in the canonical (signed) request. For other services, you add this parameter at the end, after you calculate the signature. For details see the API reference documentation for that service.
    6         -

    7         -
The test suite has 2 examples:
    8         -

    9         -
post-sts-header-before - The X-Amz-Security-Token header is part of the canonical request.
   10         -

   11         -
post-sts-header-after - The X-Amz-Security-Token header is added to the request after you calculate the signature.
   12         -

   13         -
The test suite uses this example value for X-Amz-Security-Token:
   14         -

   15         -
AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==

tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.authz

@@ -1,0 +8062,10398 @@
    1         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
    2      0   
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.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sreq
    3      1   
deleted file mode 100644
    4      2   
index 82af150..0000000
    5         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sreq
           3  +
++ /dev/null
    6      4   
@@ -1,4 +0,0 @@
    7         -
POST /?Param1=value1 HTTP/1.1
    8         -
Host:example.amazonaws.com
    9         -
X-Amz-Date:20150830T123600Z
   10         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
   11      5   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz
   12      6   
deleted file mode 100644
   13      7   
index 44280cd..0000000
   14         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz
           8  +
++ /dev/null
   15      9   
@@ -1 +0,0 @@
   16         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
   17     10   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq
   18     11   
deleted file mode 100644
   19     12   
index 82af150..0000000
   20         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq
          13  +
++ /dev/null
   21     14   
@@ -1,4 +0,0 @@
   22         -
POST /?Param1=value1 HTTP/1.1
   23         -
Host:example.amazonaws.com
   24         -
X-Amz-Date:20150830T123600Z
   25         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
   26     15   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
   27     16   
deleted file mode 100644
   28     17   
index 89e572e..0000000
   29         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
          18  +
++ /dev/null
   30     19   
@@ -1 +0,0 @@
   31         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
   32     20   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq
   33     21   
deleted file mode 100644
   34     22   
index a5ada0d..0000000
   35         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq
          23  +
++ /dev/null
   36     24   
@@ -1,4 +0,0 @@
   37         -
POST / HTTP/1.1
   38         -
Host:example.amazonaws.com
   39         -
X-Amz-Date:20150830T123600Z
   40         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
   41     25   
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.authz b/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.authz
   42     26   
deleted file mode 100644
   43     27   
index df90ca3..0000000
   44         -
-- 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.authz
          28  +
++ /dev/null
   45     29   
@@ -1 +0,0 @@
   46         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393
              \
 No newline at end of file
   47     30   
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.creq b/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.creq
   48     31   
deleted file mode 100644
   49     32   
index 457b0d5..0000000
   50         -
-- 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.creq
          33  +
++ /dev/null
   51     34   
@@ -1,9 +0,0 @@
   52         -
POST
   53         -
/
   54         -
Param1=value1
   55         -
content-type:application/x-www-form-urlencoded; charset=utf-8
   56         -
host:example.amazonaws.com
   57         -
x-amz-date:20150830T123600Z
   58         -
   59         -
content-type;host;x-amz-date
   60         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
   61     35   
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.sreq b/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.sreq
   62     36   
deleted file mode 100644
   63     37   
index b8ecb89..0000000
   64         -
-- 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.sreq
          38  +
++ /dev/null
   65     39   
@@ -1,7 +0,0 @@
   66         -
POST / HTTP/1.1
   67         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
   68         -
Host:example.amazonaws.com
   69         -
X-Amz-Date:20150830T123600Z
   70         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393
   71         -
   72         -
Param1=value1
              \
 No newline at end of file
   73     40   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.authz
   74     41   
deleted file mode 100644
   75     42   
index 79077d2..0000000
   76         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.authz
          43  +
++ /dev/null
   77     44   
@@ -1 +0,0 @@
   78         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=0c3bc22986c53164a4755b4466c2e17db853888c5ddb98567e700a3ecdb262f6
              \
 No newline at end of file
   79     45   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.req
   80     46   
deleted file mode 100644
   81     47   
index 7852617..0000000
   82         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.req
          48  +
++ /dev/null
   83     49   
@@ -1,4 +0,0 @@
   84         -
POST / HTTP/1.1
   85         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
   86         -
Host:example.amazonaws.com
   87         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
   88     50   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sreq
   89     51   
deleted file mode 100644
   90     52   
index 3e2e571..0000000
   91         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sreq
          53  +
++ /dev/null
   92     54   
@@ -1,4 +0,0 @@
   93         -
POST / HTTP/1.1
   94         -
Host:example.amazonaws.com
   95         -
X-Amz-Date:20150830T123600Z
   96         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=0c3bc22986c53164a4755b4466c2e17db853888c5ddb98567e700a3ecdb262f6
              \
 No newline at end of file
   97     55   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sts
   98     56   
deleted file mode 100644
   99     57   
index 89ceae8..0000000
  100         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sts
          58  +
++ /dev/null
  101     59   
@@ -1,4 +0,0 @@
  102         -
AWS4-HMAC-SHA256
  103         -
20150830T123600Z
  104         -
20150830/us-east-1/service/aws4_request
  105         -
6a42edc18395dd67cc71407d4307ff29ab1646b08c1a0107edb319e08e2bc584
              \
 No newline at end of file
  106     60   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE
  107     61   
deleted file mode 100755
  108     62   
index d645695..0000000
  109         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE
          63  +
++ /dev/null
  110     64   
@@ -1,202 +0,0 @@
  111         -
  112         -
                                 Apache License
  113         -
                           Version 2.0, January 2004
  114         -
                        http://www.apache.org/licenses/
  115         -
  116         -
   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  117         -
  118         -
   1. Definitions.
  119         -
  120         -
      "License" shall mean the terms and conditions for use, reproduction,
  121         -
      and distribution as defined by Sections 1 through 9 of this document.
  122         -
  123         -
      "Licensor" shall mean the copyright owner or entity authorized by
  124         -
      the copyright owner that is granting the License.
  125         -
  126         -
      "Legal Entity" shall mean the union of the acting entity and all
  127         -
      other entities that control, are controlled by, or are under common
  128         -
      control with that entity. For the purposes of this definition,
  129         -
      "control" means (i) the power, direct or indirect, to cause the
  130         -
      direction or management of such entity, whether by contract or
  131         -
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
  132         -
      outstanding shares, or (iii) beneficial ownership of such entity.
  133         -
  134         -
      "You" (or "Your") shall mean an individual or Legal Entity
  135         -
      exercising permissions granted by this License.
  136         -
  137         -
      "Source" form shall mean the preferred form for making modifications,
  138         -
      including but not limited to software source code, documentation
  139         -
      source, and configuration files.
  140         -
  141         -
      "Object" form shall mean any form resulting from mechanical
  142         -
      transformation or translation of a Source form, including but
  143         -
      not limited to compiled object code, generated documentation,
  144         -
      and conversions to other media types.
  145         -
  146         -
      "Work" shall mean the work of authorship, whether in Source or
  147         -
      Object form, made available under the License, as indicated by a
  148         -
      copyright notice that is included in or attached to the work
  149         -
      (an example is provided in the Appendix below).
  150         -
  151         -
      "Derivative Works" shall mean any work, whether in Source or Object
  152         -
      form, that is based on (or derived from) the Work and for which the
  153         -
      editorial revisions, annotations, elaborations, or other modifications
  154         -
      represent, as a whole, an original work of authorship. For the purposes
  155         -
      of this License, Derivative Works shall not include works that remain
  156         -
      separable from, or merely link (or bind by name) to the interfaces of,
  157         -
      the Work and Derivative Works thereof.
  158         -
  159         -
      "Contribution" shall mean any work of authorship, including
  160         -
      the original version of the Work and any modifications or additions
  161         -
      to that Work or Derivative Works thereof, that is intentionally
  162         -
      submitted to Licensor for inclusion in the Work by the copyright owner
  163         -
      or by an individual or Legal Entity authorized to submit on behalf of
  164         -
      the copyright owner. For the purposes of this definition, "submitted"
  165         -
      means any form of electronic, verbal, or written communication sent
  166         -
      to the Licensor or its representatives, including but not limited to
  167         -
      communication on electronic mailing lists, source code control systems,
  168         -
      and issue tracking systems that are managed by, or on behalf of, the
  169         -
      Licensor for the purpose of discussing and improving the Work, but
  170         -
      excluding communication that is conspicuously marked or otherwise
  171         -
      designated in writing by the copyright owner as "Not a Contribution."
  172         -
  173         -
      "Contributor" shall mean Licensor and any individual or Legal Entity
  174         -
      on behalf of whom a Contribution has been received by Licensor and
  175         -
      subsequently incorporated within the Work.
  176         -
  177         -
   2. Grant of Copyright License. Subject to the terms and conditions of
  178         -
      this License, each Contributor hereby grants to You a perpetual,
  179         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  180         -
      copyright license to reproduce, prepare Derivative Works of,
  181         -
      publicly display, publicly perform, sublicense, and distribute the
  182         -
      Work and such Derivative Works in Source or Object form.
  183         -
  184         -
   3. Grant of Patent License. Subject to the terms and conditions of
  185         -
      this License, each Contributor hereby grants to You a perpetual,
  186         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  187         -
      (except as stated in this section) patent license to make, have made,
  188         -
      use, offer to sell, sell, import, and otherwise transfer the Work,
  189         -
      where such license applies only to those patent claims licensable
  190         -
      by such Contributor that are necessarily infringed by their
  191         -
      Contribution(s) alone or by combination of their Contribution(s)
  192         -
      with the Work to which such Contribution(s) was submitted. If You
  193         -
      institute patent litigation against any entity (including a
  194         -
      cross-claim or counterclaim in a lawsuit) alleging that the Work
  195         -
      or a Contribution incorporated within the Work constitutes direct
  196         -
      or contributory patent infringement, then any patent licenses
  197         -
      granted to You under this License for that Work shall terminate
  198         -
      as of the date such litigation is filed.
  199         -
  200         -
   4. Redistribution. You may reproduce and distribute copies of the
  201         -
      Work or Derivative Works thereof in any medium, with or without
  202         -
      modifications, and in Source or Object form, provided that You
  203         -
      meet the following conditions:
  204         -
  205         -
      (a) You must give any other recipients of the Work or
  206         -
          Derivative Works a copy of this License; and
  207         -
  208         -
      (b) You must cause any modified files to carry prominent notices
  209         -
          stating that You changed the files; and
  210         -
  211         -
      (c) You must retain, in the Source form of any Derivative Works
  212         -
          that You distribute, all copyright, patent, trademark, and
  213         -
          attribution notices from the Source form of the Work,
  214         -
          excluding those notices that do not pertain to any part of
  215         -
          the Derivative Works; and
  216         -
  217         -
      (d) If the Work includes a "NOTICE" text file as part of its
  218         -
          distribution, then any Derivative Works that You distribute must
  219         -
          include a readable copy of the attribution notices contained
  220         -
          within such NOTICE file, excluding those notices that do not
  221         -
          pertain to any part of the Derivative Works, in at least one
  222         -
          of the following places: within a NOTICE text file distributed
  223         -
          as part of the Derivative Works; within the Source form or
  224         -
          documentation, if provided along with the Derivative Works; or,
  225         -
          within a display generated by the Derivative Works, if and
  226         -
          wherever such third-party notices normally appear. The contents
  227         -
          of the NOTICE file are for informational purposes only and
  228         -
          do not modify the License. You may add Your own attribution
  229         -
          notices within Derivative Works that You distribute, alongside
  230         -
          or as an addendum to the NOTICE text from the Work, provided
  231         -
          that such additional attribution notices cannot be construed
  232         -
          as modifying the License.
  233         -
  234         -
      You may add Your own copyright statement to Your modifications and
  235         -
      may provide additional or different license terms and conditions
  236         -
      for use, reproduction, or distribution of Your modifications, or
  237         -
      for any such Derivative Works as a whole, provided Your use,
  238         -
      reproduction, and distribution of the Work otherwise complies with
  239         -
      the conditions stated in this License.
  240         -
  241         -
   5. Submission of Contributions. Unless You explicitly state otherwise,
  242         -
      any Contribution intentionally submitted for inclusion in the Work
  243         -
      by You to the Licensor shall be under the terms and conditions of
  244         -
      this License, without any additional terms or conditions.
  245         -
      Notwithstanding the above, nothing herein shall supersede or modify
  246         -
      the terms of any separate license agreement you may have executed
  247         -
      with Licensor regarding such Contributions.
  248         -
  249         -
   6. Trademarks. This License does not grant permission to use the trade
  250         -
      names, trademarks, service marks, or product names of the Licensor,
  251         -
      except as required for reasonable and customary use in describing the
  252         -
      origin of the Work and reproducing the content of the NOTICE file.
  253         -
  254         -
   7. Disclaimer of Warranty. Unless required by applicable law or
  255         -
      agreed to in writing, Licensor provides the Work (and each
  256         -
      Contributor provides its Contributions) on an "AS IS" BASIS,
  257         -
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  258         -
      implied, including, without limitation, any warranties or conditions
  259         -
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  260         -
      PARTICULAR PURPOSE. You are solely responsible for determining the
  261         -
      appropriateness of using or redistributing the Work and assume any
  262         -
      risks associated with Your exercise of permissions under this License.
  263         -
  264         -
   8. Limitation of Liability. In no event and under no legal theory,
  265         -
      whether in tort (including negligence), contract, or otherwise,
  266         -
      unless required by applicable law (such as deliberate and grossly
  267         -
      negligent acts) or agreed to in writing, shall any Contributor be
  268         -
      liable to You for damages, including any direct, indirect, special,
  269         -
      incidental, or consequential damages of any character arising as a
  270         -
      result of this License or out of the use or inability to use the
  271         -
      Work (including but not limited to damages for loss of goodwill,
  272         -
      work stoppage, computer failure or malfunction, or any and all
  273         -
      other commercial damages or losses), even if such Contributor
  274         -
      has been advised of the possibility of such damages.
  275         -
  276         -
   9. Accepting Warranty or Additional Liability. While redistributing
  277         -
      the Work or Derivative Works thereof, You may choose to offer,
  278         -
      and charge a fee for, acceptance of support, warranty, indemnity,
  279         -
      or other liability obligations and/or rights consistent with this
  280         -
      License. However, in accepting such obligations, You may act only
  281         -
      on Your own behalf and on Your sole responsibility, not on behalf
  282         -
      of any other Contributor, and only if You agree to indemnify,
  283         -
      defend, and hold each Contributor harmless for any liability
  284         -
      incurred by, or claims asserted against, such Contributor by reason
  285         -
      of your accepting any such warranty or additional liability.
  286         -
  287         -
   END OF TERMS AND CONDITIONS
  288         -
  289         -
   APPENDIX: How to apply the Apache License to your work.
  290         -
  291         -
      To apply the Apache License to your work, attach the following
  292         -
      boilerplate notice, with the fields enclosed by brackets "[]"
  293         -
      replaced with your own identifying information. (Don't include
  294         -
      the brackets!)  The text should be enclosed in the appropriate
  295         -
      comment syntax for the file format. We also recommend that a
  296         -
      file or class name and description of purpose be included on the
  297         -
      same "printed page" as the copyright notice for easier
  298         -
      identification within third-party archives.
  299         -
  300         -
   Copyright [yyyy] [name of copyright owner]
  301         -
  302         -
   Licensed under the Apache License, Version 2.0 (the "License");
  303         -
   you may not use this file except in compliance with the License.
  304         -
   You may obtain a copy of the License at
  305         -
  306         -
       http://www.apache.org/licenses/LICENSE-2.0
  307         -
  308         -
   Unless required by applicable law or agreed to in writing, software
  309         -
   distributed under the License is distributed on an "AS IS" BASIS,
  310         -
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  311         -
   See the License for the specific language governing permissions and
  312         -
   limitations under the License.
  313     65   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE
  314     66   
deleted file mode 100755
  315     67   
index d85f69e..0000000
  316         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE
          68  +
++ /dev/null
  317     69   
@@ -1,2 +0,0 @@
  318         -
AWS Signature Version 4a Test Suite
  319         -
Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  320     70   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md
  321     71   
deleted file mode 100644
  322     72   
index c716622..0000000
  323         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md
          73  +
++ /dev/null
  324     74   
@@ -1,24 +0,0 @@
  325         -
Where did the files in this directory come from?
  326         -
================================================
  327         -
  328         -
These test files were taken from the [aws-c-auth](https://github.com/awslabs/aws-c-auth/tree/main/tests/aws-signing-test-suite/v4a) project.
  329         -
  330         -
Signature Version 4A Test Suite
  331         -
------------------------------
  332         -
  333         -
To assist you in the development of an AWS client that supports Signature Version 4A, you can use the
  334         -
files in the test suite to ensure your code is performing each step of the signing process correctly.
  335         -
  336         -
Each test group contains several files that you can use to validate most of the tasks described in
  337         -
Signature Version 4A Signing Process. The following list describes the contents of each file.
  338         -
  339         -
- context.json - Credentials and signer options to use when signing test requests
  340         -
- request.txt - The web request to be signed.
  341         -
- header-canonical-request.txt - The resulting canonical request in header-signature mode.
  342         -
- header-string-to-sign.txt - The resulting string to sign in header-signature mode.
  343         -
- query-canonical-request.txt - The resulting canonical request in query-signature mode.
  344         -
- query-string-to-sign.txt - The resulting string to sign in header-query mode.
  345         -
  346         -
Sigv4A signature generation isn't deterministic, so generated signatures can't be tested against known good ones.
  347         -
Instead, tests generate a signature, derive a verification key from the signing key, and verify the signature and
  348         -
the string to sign. This mirrors what AWS services do when verifying Sigv4A-signed requests.
  349     75   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json
  350     76   
deleted file mode 100644
  351     77   
index 45771c7..0000000
  352         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json
          78  +
++ /dev/null
  353     79   
@@ -1,12 +0,0 @@
  354         -
{
  355         -
    "credentials": {
  356         -
        "access_key_id": "AKIDEXAMPLE",
  357         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  358         -
    },
  359         -
    "expiration_in_seconds": 3600,
  360         -
    "normalize": true,
  361         -
    "region": "us-east-1",
  362         -
    "service": "service",
  363         -
    "sign_body": false,
  364         -
    "timestamp": "2015-08-30T12:36:00Z"
  365         -
}
  366     80   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json
  367     81   
deleted file mode 100644
  368     82   
index 45771c7..0000000
  369         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json
          83  +
++ /dev/null
  370     84   
@@ -1,12 +0,0 @@
  371         -
{
  372         -
    "credentials": {
  373         -
        "access_key_id": "AKIDEXAMPLE",
  374         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  375         -
    },
  376         -
    "expiration_in_seconds": 3600,
  377         -
    "normalize": true,
  378         -
    "region": "us-east-1",
  379         -
    "service": "service",
  380         -
    "sign_body": false,
  381         -
    "timestamp": "2015-08-30T12:36:00Z"
  382         -
}
  383     85   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json
  384     86   
deleted file mode 100644
  385     87   
index 45771c7..0000000
  386         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json
          88  +
++ /dev/null
  387     89   
@@ -1,12 +0,0 @@
  388         -
{
  389         -
    "credentials": {
  390         -
        "access_key_id": "AKIDEXAMPLE",
  391         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  392         -
    },
  393         -
    "expiration_in_seconds": 3600,
  394         -
    "normalize": true,
  395         -
    "region": "us-east-1",
  396         -
    "service": "service",
  397         -
    "sign_body": false,
  398         -
    "timestamp": "2015-08-30T12:36:00Z"
  399         -
}
  400     90   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json
  401     91   
deleted file mode 100644
  402     92   
index 45771c7..0000000
  403         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json
          93  +
++ /dev/null
  404     94   
@@ -1,12 +0,0 @@
  405         -
{
  406         -
    "credentials": {
  407         -
        "access_key_id": "AKIDEXAMPLE",
  408         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  409         -
    },
  410         -
    "expiration_in_seconds": 3600,
  411         -
    "normalize": true,
  412         -
    "region": "us-east-1",
  413         -
    "service": "service",
  414         -
    "sign_body": false,
  415         -
    "timestamp": "2015-08-30T12:36:00Z"
  416         -
}
  417     95   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json
  418     96   
deleted file mode 100644
  419     97   
index afe367b..0000000
  420         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json
          98  +
++ /dev/null
  421     99   
@@ -1,12 +0,0 @@
  422         -
{
  423         -
    "credentials": {
  424         -
        "access_key_id": "AKIDEXAMPLE",
  425         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  426         -
    },
  427         -
    "expiration_in_seconds": 3600,
  428         -
    "normalize": false,
  429         -
    "region": "us-east-1",
  430         -
    "service": "service",
  431         -
    "sign_body": false,
  432         -
    "timestamp": "2015-08-30T12:36:00Z"
  433         -
}
  434    100   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json
  435    101   
deleted file mode 100644
  436    102   
index 45771c7..0000000
  437         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json
         103  +
++ /dev/null
  438    104   
@@ -1,12 +0,0 @@
  439         -
{
  440         -
    "credentials": {
  441         -
        "access_key_id": "AKIDEXAMPLE",
  442         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  443         -
    },
  444         -
    "expiration_in_seconds": 3600,
  445         -
    "normalize": true,
  446         -
    "region": "us-east-1",
  447         -
    "service": "service",
  448         -
    "sign_body": false,
  449         -
    "timestamp": "2015-08-30T12:36:00Z"
  450         -
}
  451    105   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json
  452    106   
deleted file mode 100644
  453    107   
index afe367b..0000000
  454         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json
         108  +
++ /dev/null
  455    109   
@@ -1,12 +0,0 @@
  456         -
{
  457         -
    "credentials": {
  458         -
        "access_key_id": "AKIDEXAMPLE",
  459         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  460         -
    },
  461         -
    "expiration_in_seconds": 3600,
  462         -
    "normalize": false,
  463         -
    "region": "us-east-1",
  464         -
    "service": "service",
  465         -
    "sign_body": false,
  466         -
    "timestamp": "2015-08-30T12:36:00Z"
  467         -
}
  468    110   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json
  469    111   
deleted file mode 100644
  470    112   
index 45771c7..0000000
  471         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json
         113  +
++ /dev/null
  472    114   
@@ -1,12 +0,0 @@
  473         -
{
  474         -
    "credentials": {
  475         -
        "access_key_id": "AKIDEXAMPLE",
  476         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  477         -
    },
  478         -
    "expiration_in_seconds": 3600,
  479         -
    "normalize": true,
  480         -
    "region": "us-east-1",
  481         -
    "service": "service",
  482         -
    "sign_body": false,
  483         -
    "timestamp": "2015-08-30T12:36:00Z"
  484         -
}
  485    115   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json
  486    116   
deleted file mode 100644
  487    117   
index 45771c7..0000000
  488         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json
         118  +
++ /dev/null
  489    119   
@@ -1,12 +0,0 @@
  490         -
{
  491         -
    "credentials": {
  492         -
        "access_key_id": "AKIDEXAMPLE",
  493         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  494         -
    },
  495         -
    "expiration_in_seconds": 3600,
  496         -
    "normalize": true,
  497         -
    "region": "us-east-1",
  498         -
    "service": "service",
  499         -
    "sign_body": false,
  500         -
    "timestamp": "2015-08-30T12:36:00Z"
  501         -
}
  502    120   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json
  503    121   
deleted file mode 100644
  504    122   
index 45771c7..0000000
  505         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json
         123  +
++ /dev/null
  506    124   
@@ -1,12 +0,0 @@
  507         -
{
  508         -
    "credentials": {
  509         -
        "access_key_id": "AKIDEXAMPLE",
  510         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  511         -
    },
  512         -
    "expiration_in_seconds": 3600,
  513         -
    "normalize": true,
  514         -
    "region": "us-east-1",
  515         -
    "service": "service",
  516         -
    "sign_body": false,
  517         -
    "timestamp": "2015-08-30T12:36:00Z"
  518         -
}
  519    125   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json
  520    126   
deleted file mode 100644
  521    127   
index 45771c7..0000000
  522         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json
         128  +
++ /dev/null
  523    129   
@@ -1,12 +0,0 @@
  524         -
{
  525         -
    "credentials": {
  526         -
        "access_key_id": "AKIDEXAMPLE",
  527         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  528         -
    },
  529         -
    "expiration_in_seconds": 3600,
  530         -
    "normalize": true,
  531         -
    "region": "us-east-1",
  532         -
    "service": "service",
  533         -
    "sign_body": false,
  534         -
    "timestamp": "2015-08-30T12:36:00Z"
  535         -
}
  536    130   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json
  537    131   
deleted file mode 100644
  538    132   
index 45771c7..0000000
  539         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json
         133  +
++ /dev/null
  540    134   
@@ -1,12 +0,0 @@
  541         -
{
  542         -
    "credentials": {
  543         -
        "access_key_id": "AKIDEXAMPLE",
  544         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  545         -
    },
  546         -
    "expiration_in_seconds": 3600,
  547         -
    "normalize": true,
  548         -
    "region": "us-east-1",
  549         -
    "service": "service",
  550         -
    "sign_body": false,
  551         -
    "timestamp": "2015-08-30T12:36:00Z"
  552         -
}
  553    135   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt
  554    136   
deleted file mode 100644
  555    137   
index 47e7128..0000000
  556         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt
         138  +
++ /dev/null
  557    139   
@@ -1,9 +0,0 @@
  558         -
GET
  559         -
/
  560         -
  561         -
host:example.amazonaws.com
  562         -
x-amz-date:20150830T123600Z
  563         -
x-amz-region-set:us-east-1
  564         -
  565         -
host;x-amz-date;x-amz-region-set
  566         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  567    140   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt
  568    141   
deleted file mode 100644
  569    142   
index 95d7219..0000000
  570         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt
         143  +
++ /dev/null
  571    144   
@@ -1,4 +0,0 @@
  572         -
AWS4-ECDSA-P256-SHA256
  573         -
20150830T123600Z
  574         -
20150830/service/aws4_request
  575         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  576    145   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt
  577    146   
deleted file mode 100644
  578    147   
index a34ea26..0000000
  579         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt
         148  +
++ /dev/null
  580    149   
@@ -1,7 +0,0 @@
  581         -
GET
  582         -
/
  583         -
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=host
  584         -
host:example.amazonaws.com
  585         -
  586         -
host
  587         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  588    150   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt
  589    151   
deleted file mode 100644
  590    152   
index 48f855c..0000000
  591         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt
         153  +
++ /dev/null
  592    154   
@@ -1,4 +0,0 @@
  593         -
AWS4-ECDSA-P256-SHA256
  594         -
20150830T123600Z
  595         -
20150830/service/aws4_request
  596         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  597    155   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json
  598    156   
deleted file mode 100644
  599    157   
index 45771c7..0000000
  600         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json
         158  +
++ /dev/null
  601    159   
@@ -1,12 +0,0 @@
  602         -
{
  603         -
    "credentials": {
  604         -
        "access_key_id": "AKIDEXAMPLE",
  605         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  606         -
    },
  607         -
    "expiration_in_seconds": 3600,
  608         -
    "normalize": true,
  609         -
    "region": "us-east-1",
  610         -
    "service": "service",
  611         -
    "sign_body": false,
  612         -
    "timestamp": "2015-08-30T12:36:00Z"
  613         -
}
  614    160   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt
  615    161   
deleted file mode 100644
  616    162   
index 47e7128..0000000
  617         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt
         163  +
++ /dev/null
  618    164   
@@ -1,9 +0,0 @@
  619         -
GET
  620         -
/
  621         -
  622         -
host:example.amazonaws.com
  623         -
x-amz-date:20150830T123600Z
  624         -
x-amz-region-set:us-east-1
  625         -
  626         -
host;x-amz-date;x-amz-region-set
  627         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  628    165   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt
  629    166   
deleted file mode 100644
  630    167   
index 95d7219..0000000
  631         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt
         168  +
++ /dev/null
  632    169   
@@ -1,4 +0,0 @@
  633         -
AWS4-ECDSA-P256-SHA256
  634         -
20150830T123600Z
  635         -
20150830/service/aws4_request
  636         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  637    170   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt
  638    171   
deleted file mode 100644
  639    172   
index a34ea26..0000000
  640         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt
         173  +
++ /dev/null
  641    174   
@@ -1,7 +0,0 @@
  642         -
GET
  643         -
/
  644         -
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=host
  645         -
host:example.amazonaws.com
  646         -
  647         -
host
  648         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  649    175   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt
  650    176   
deleted file mode 100644
  651    177   
index 48f855c..0000000
  652         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt
         178  +
++ /dev/null
  653    179   
@@ -1,4 +0,0 @@
  654         -
AWS4-ECDSA-P256-SHA256
  655         -
20150830T123600Z
  656         -
20150830/service/aws4_request
  657         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  658    180   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json
  659    181   
deleted file mode 100644
  660    182   
index 45771c7..0000000
  661         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json
         183  +
++ /dev/null
  662    184   
@@ -1,12 +0,0 @@
  663         -
{
  664         -
    "credentials": {
  665         -
        "access_key_id": "AKIDEXAMPLE",
  666         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  667         -
    },
  668         -
    "expiration_in_seconds": 3600,
  669         -
    "normalize": true,
  670         -
    "region": "us-east-1",
  671         -
    "service": "service",
  672         -
    "sign_body": false,
  673         -
    "timestamp": "2015-08-30T12:36:00Z"
  674         -
}
  675    185   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json
  676    186   
deleted file mode 100644
  677    187   
index 45771c7..0000000
  678         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json
         188  +
++ /dev/null
  679    189   
@@ -1,12 +0,0 @@
  680         -
{
  681         -
    "credentials": {
  682         -
        "access_key_id": "AKIDEXAMPLE",
  683         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  684         -
    },
  685         -
    "expiration_in_seconds": 3600,
  686         -
    "normalize": true,
  687         -
    "region": "us-east-1",
  688         -
    "service": "service",
  689         -
    "sign_body": false,
  690         -
    "timestamp": "2015-08-30T12:36:00Z"
  691         -
}
  692    190   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json
  693    191   
deleted file mode 100644
  694    192   
index 45771c7..0000000
  695         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json
         193  +
++ /dev/null
  696    194   
@@ -1,12 +0,0 @@
  697         -
{
  698         -
    "credentials": {
  699         -
        "access_key_id": "AKIDEXAMPLE",
  700         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  701         -
    },
  702         -
    "expiration_in_seconds": 3600,
  703         -
    "normalize": true,
  704         -
    "region": "us-east-1",
  705         -
    "service": "service",
  706         -
    "sign_body": false,
  707         -
    "timestamp": "2015-08-30T12:36:00Z"
  708         -
}
  709    195   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json
  710    196   
deleted file mode 100644
  711    197   
index 45771c7..0000000
  712         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json
         198  +
++ /dev/null
  713    199   
@@ -1,12 +0,0 @@
  714         -
{
  715         -
    "credentials": {
  716         -
        "access_key_id": "AKIDEXAMPLE",
  717         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  718         -
    },
  719         -
    "expiration_in_seconds": 3600,
  720         -
    "normalize": true,
  721         -
    "region": "us-east-1",
  722         -
    "service": "service",
  723         -
    "sign_body": false,
  724         -
    "timestamp": "2015-08-30T12:36:00Z"
  725         -
}
  726    200   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json
  727    201   
deleted file mode 100644
  728    202   
index 45771c7..0000000
  729         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json
         203  +
++ /dev/null
  730    204   
@@ -1,12 +0,0 @@
  731         -
{
  732         -
    "credentials": {
  733         -
        "access_key_id": "AKIDEXAMPLE",
  734         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  735         -
    },
  736         -
    "expiration_in_seconds": 3600,
  737         -
    "normalize": true,
  738         -
    "region": "us-east-1",
  739         -
    "service": "service",
  740         -
    "sign_body": false,
  741         -
    "timestamp": "2015-08-30T12:36:00Z"
  742         -
}
  743    205   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json
  744    206   
deleted file mode 100644
  745    207   
index 45771c7..0000000
  746         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json
         208  +
++ /dev/null
  747    209   
@@ -1,12 +0,0 @@
  748         -
{
  749         -
    "credentials": {
  750         -
        "access_key_id": "AKIDEXAMPLE",
  751         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  752         -
    },
  753         -
    "expiration_in_seconds": 3600,
  754         -
    "normalize": true,
  755         -
    "region": "us-east-1",
  756         -
    "service": "service",
  757         -
    "sign_body": false,
  758         -
    "timestamp": "2015-08-30T12:36:00Z"
  759         -
}
  760    210   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-string-to-sign.txt
  761    211   
deleted file mode 100644
  762    212   
index b6fdecf..0000000
  763         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-string-to-sign.txt
         213  +
++ /dev/null
  764    214   
@@ -1,4 +0,0 @@
  765         -
AWS4-ECDSA-P256-SHA256
  766         -
20150830T123600Z
  767         -
20150830/service/aws4_request
  768         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  769    215   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-string-to-sign.txt
  770    216   
deleted file mode 100644
  771    217   
index a300bea..0000000
  772         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-string-to-sign.txt
         218  +
++ /dev/null
  773    219   
@@ -1,4 +0,0 @@
  774         -
AWS4-ECDSA-P256-SHA256
  775         -
20150830T123600Z
  776         -
20150830/service/aws4_request
  777         -
ab426c74406d082ad98929df8969624e6ed5cb7f4e8501fbbe7d8c20e9c3b417
  778    220   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt
  779    221   
deleted file mode 100644
  780    222   
index b6fdecf..0000000
  781         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt
         223  +
++ /dev/null
  782    224   
@@ -1,4 +0,0 @@
  783         -
AWS4-ECDSA-P256-SHA256
  784         -
20150830T123600Z
  785         -
20150830/service/aws4_request
  786         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  787    225   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md
  788    226   
new file mode 100644
  789    227   
index 0000000..a674243
  790         -
-- /dev/null
         228  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md
  791    229   
@@ -0,0 +1,7 @@
         230  +
# AWS SigV4 and SigV4A Signing Test Suite
         231  +
         232  +
This test suite is taken from the [CRT test suite](https://github.com/awslabs/aws-c-auth/tree/v0.9.0/tests/aws-signing-test-suite).
         233  +
         234  +
We added the following changes:
         235  +
         236  +
* Migrated old format tests `double-url-encode` and `double-encode-path` not in the new suite as we use these in many tests.
              \
 No newline at end of file
  792    237   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-canonical-request.txt
  793    238   
similarity index 100%
  794    239   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.creq
  795    240   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-canonical-request.txt
  796    241   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-signed-request.txt
  797    242   
similarity index 100%
  798    243   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.sreq
  799    244   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-signed-request.txt
  800    245   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/request.txt
  801    246   
similarity index 100%
  802    247   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.req
  803    248   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/request.txt
  804    249   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-canonical-request.txt
  805    250   
similarity index 100%
  806    251   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq
  807    252   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-canonical-request.txt
  808    253   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-signed-request.txt
  809    254   
similarity index 100%
  810    255   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq
  811    256   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-signed-request.txt
  812    257   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-string-to-sign.txt
  813    258   
similarity index 100%
  814    259   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts
  815    260   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-string-to-sign.txt
  816    261   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/request.txt
  817    262   
similarity index 100%
  818    263   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req
  819    264   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/request.txt
  820    265   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
  821    266   
similarity index 99%
  822    267   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
  823    268   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
  824    269   
index 45771c7..0468d80 100644
  825    270   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
  826    271   
similarity index 100%
  827    272   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq
  828    273   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
  829    274   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
  830    275   
new file mode 100644
  831    276   
index 0000000..7fc5d7a
  832         -
-- /dev/null
         277  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
  833    278   
@@ -0,0 +1 @@
         279  +
c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
              \
 No newline at end of file
  834    280   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
  835    281   
new file mode 100644
  836    282   
index 0000000..36a1205
  837         -
-- /dev/null
         283  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
  838    284   
@@ -0,0 +1,8 @@
         285  +
GET / HTTP/1.1
         286  +
Host:example.amazonaws.com
         287  +
My-Header1:value2
         288  +
My-Header1:value2
         289  +
My-Header1:value1
         290  +
X-Amz-Date:20150830T123600Z
         291  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
         292  +
  839    293   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
  840    294   
similarity index 100%
  841    295   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts
  842    296   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
  843    297   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
  844    298   
new file mode 100644
  845    299   
index 0000000..f9f4190
  846         -
-- /dev/null
         300  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
  847    301   
@@ -0,0 +1,8 @@
         302  +
GET
         303  +
/
         304  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host%3Bmy-header1
         305  +
host:example.amazonaws.com
         306  +
my-header1:value2,value2,value1
         307  +
         308  +
host;my-header1
         309  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  848    310   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
  849    311   
new file mode 100644
  850    312   
index 0000000..5d0d87f
  851         -
-- /dev/null
         313  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
  852    314   
@@ -0,0 +1 @@
         315  +
3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97
              \
 No newline at end of file
  853    316   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
  854    317   
new file mode 100644
  855    318   
index 0000000..c1dfcf4
  856         -
-- /dev/null
         319  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
  857    320   
@@ -0,0 +1,6 @@
         321  +
GET /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1&X-Amz-Expires=3600&X-Amz-Signature=3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97 HTTP/1.1
         322  +
Host:example.amazonaws.com
         323  +
My-Header1:value2
         324  +
My-Header1:value2
         325  +
My-Header1:value1
         326  +
  858    327   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
  859    328   
similarity index 53%
  860    329   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
  861    330   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
  862    331   
index 0a3350a..077c1bb 100644
  863         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
         332  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
  864    333   
@@ -1,4 +1,4 @@
  865    334   
AWS4-HMAC-SHA256
  866    335   
20150830T123600Z
  867    336   
20150830/us-east-1/service/aws4_request
  868         -
b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55
              \
 No newline at end of file
         337  +
fe8b58fb44117d598520befc07c144a5699c661a8db78f9ce4caee1655dec813
              \
 No newline at end of file
  869    338   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
  870    339   
similarity index 100%
  871    340   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt
  872    341   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
  873    342   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
  874    343   
similarity index 99%
  875    344   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
  876    345   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
  877    346   
index 45771c7..0468d80 100644
  878    347   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
  879    348   
similarity index 82%
  880    349   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
  881    350   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
  882    351   
index 721a39f..8cb5476 100644
  883         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
         352  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
  884    353   
@@ -1,9 +1,9 @@
  885    354   
GET
  886    355   
/
  887    356   
  888    357   
host:example.amazonaws.com
  889         -
my-header1:value1,value2,value3
         358  +
my-header1:value1 value2 value3
  890    359   
x-amz-date:20150830T123600Z
  891    360   
  892    361   
host;my-header1;x-amz-date
  893    362   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  894    363   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
  895    364   
new file mode 100644
  896    365   
index 0000000..e6ff7a9
  897         -
-- /dev/null
         366  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
  898    367   
@@ -0,0 +1 @@
         368  +
cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
              \
 No newline at end of file
  899    369   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
  900    370   
new file mode 100644
  901    371   
index 0000000..b5ef6a0
  902         -
-- /dev/null
         372  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
  903    373   
@@ -0,0 +1,8 @@
         374  +
GET / HTTP/1.1
         375  +
Host:example.amazonaws.com
         376  +
My-Header1:value1
         377  +
  value2
         378  +
     value3
         379  +
X-Amz-Date:20150830T123600Z
         380  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
         381  +
  904    382   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
  905    383   
similarity index 53%
  906    384   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.sts
  907    385   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
  908    386   
index fd43a41..97c7430 100644
  909         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.sts
         387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
  910    388   
@@ -1,4 +1,4 @@
  911    389   
AWS4-HMAC-SHA256
  912    390   
20150830T123600Z
  913    391   
20150830/us-east-1/service/aws4_request
  914         -
704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89
              \
 No newline at end of file
         392  +
e99419459a677bc11de234014be3c4e72c1ea5b454ceb58b613061f5d7a162e8
              \
 No newline at end of file
  915    393   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
  916    394   
new file mode 100644
  917    395   
index 0000000..aac46de
  918         -
-- /dev/null
         396  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
  919    397   
@@ -0,0 +1,8 @@
         398  +
GET
         399  +
/
         400  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host%3Bmy-header1
         401  +
host:example.amazonaws.com
         402  +
my-header1:value1 value2 value3
         403  +
         404  +
host;my-header1
         405  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  920    406   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
  921    407   
new file mode 100644
  922    408   
index 0000000..205732d
  923         -
-- /dev/null
         409  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
  924    410   
@@ -0,0 +1 @@
         411  +
e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56
              \
 No newline at end of file
  925    412   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
  926    413   
new file mode 100644
  927    414   
index 0000000..a891b87
  928         -
-- /dev/null
         415  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
  929    416   
@@ -0,0 +1,6 @@
         417  +
GET /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1&X-Amz-Expires=3600&X-Amz-Signature=e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56 HTTP/1.1
         418  +
Host:example.amazonaws.com
         419  +
My-Header1:value1
         420  +
  value2
         421  +
     value3
         422  +
  930    423   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
  931    424   
similarity index 53%
  932    425   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.sts
  933    426   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
  934    427   
index 90e66b8..ec3fe45 100644
  935         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.sts
         428  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
  936    429   
@@ -1,4 +1,4 @@
  937    430   
AWS4-HMAC-SHA256
  938    431   
20150830T123600Z
  939    432   
20150830/us-east-1/service/aws4_request
  940         -
c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606
              \
 No newline at end of file
         433  +
0e73c10e35324b4d215da4bb70be61d13a3d30d569be4ed6e8fd8948965341ca
              \
 No newline at end of file
  941    434   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
  942    435   
similarity index 75%
  943    436   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
  944    437   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
  945    438   
index 7caa6ac..b5026cd 100644
  946         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
         439  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
  947    440   
@@ -1,6 +1,5 @@
  948    441   
GET / HTTP/1.1
  949    442   
Host:example.amazonaws.com
  950    443   
My-Header1:value1
  951    444   
  value2
  952    445   
     value3
  953         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
  954    446   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
  955    447   
similarity index 99%
  956    448   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
  957    449   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
  958    450   
index 45771c7..0468d80 100644
  959    451   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
  960    452   
similarity index 100%
  961    453   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq
  962    454   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
  963    455   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
  964    456   
new file mode 100644
  965    457   
index 0000000..8ef0494
  966         -
-- /dev/null
         458  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
  967    459   
@@ -0,0 +1 @@
         460  +
08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
  968    461   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
  969    462   
new file mode 100644
  970    463   
index 0000000..b786dc9
  971         -
-- /dev/null
         464  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
  972    465   
@@ -0,0 +1,9 @@
         466  +
GET / HTTP/1.1
         467  +
Host:example.amazonaws.com
         468  +
My-Header1:value4
         469  +
My-Header1:value1
         470  +
My-Header1:value3
         471  +
My-Header1:value2
         472  +
X-Amz-Date:20150830T123600Z
         473  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
         474  +
  973    475   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
  974    476   
similarity index 100%
  975    477   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts
  976    478   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
  977    479   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
  978    480   
new file mode 100644
  979    481   
index 0000000..a211cc5
  980         -
-- /dev/null
         482  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
  981    483   
@@ -0,0 +1,8 @@
         484  +
GET
         485  +
/
         486  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host%3Bmy-header1
         487  +
host:example.amazonaws.com
         488  +
my-header1:value4,value1,value3,value2
         489  +
         490  +
host;my-header1
         491  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  982    492   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
  983    493   
new file mode 100644
  984    494   
index 0000000..417b0fa
  985         -
-- /dev/null
         495  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
  986    496   
@@ -0,0 +1 @@
         497  +
313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e
              \
 No newline at end of file
  987    498   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
  988    499   
new file mode 100644
  989    500   
index 0000000..b615e5d
  990         -
-- /dev/null
         501  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
  991    502   
@@ -0,0 +1,7 @@
         503  +
GET /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1&X-Amz-Expires=3600&X-Amz-Signature=313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e HTTP/1.1
         504  +
Host:example.amazonaws.com
         505  +
My-Header1:value4
         506  +
My-Header1:value1
         507  +
My-Header1:value3
         508  +
My-Header1:value2
         509  +
  992    510   
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.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
  993    511   
similarity index 53%
  994    512   
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.sts
  995    513   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
  996    514   
index f7e615e..dcaaa1b 100644
  997         -
-- 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.sts
         515  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
  998    516   
@@ -1,4 +1,4 @@
  999    517   
AWS4-HMAC-SHA256
 1000    518   
20150830T123600Z
 1001    519   
20150830/us-east-1/service/aws4_request
 1002         -
5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9
              \
 No newline at end of file
         520  +
f4d3f13084ba7664111670ce26458291d3e0c620acd9384f8cd6b60d8e83423e
              \
 No newline at end of file
 1003    521   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1004    522   
similarity index 100%
 1005    523   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt
 1006    524   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1007    525   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1008    526   
similarity index 99%
 1009    527   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
 1010    528   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1011    529   
index 45771c7..0468d80 100644
 1012    530   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1013    531   
similarity index 100%
 1014    532   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq
 1015    533   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1016    534   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1017    535   
new file mode 100644
 1018    536   
index 0000000..36081a9
 1019         -
-- /dev/null
         537  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1020    538   
@@ -0,0 +1 @@
         539  +
acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
 1021    540   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1022    541   
new file mode 100644
 1023    542   
index 0000000..6331d16
 1024         -
-- /dev/null
         543  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1025    544   
@@ -0,0 +1,7 @@
         545  +
GET / HTTP/1.1
         546  +
Host:example.amazonaws.com
         547  +
My-Header1: value1
         548  +
My-Header2: "a   b   c"
         549  +
X-Amz-Date:20150830T123600Z
         550  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
         551  +
 1026    552   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1027    553   
similarity index 100%
 1028    554   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts
 1029    555   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1030    556   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1031    557   
new file mode 100644
 1032    558   
index 0000000..125c1f9
 1033         -
-- /dev/null
         559  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1034    560   
@@ -0,0 +1,9 @@
         561  +
GET
         562  +
/
         563  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host%3Bmy-header1%3Bmy-header2
         564  +
host:example.amazonaws.com
         565  +
my-header1:value1
         566  +
my-header2:"a b c"
         567  +
         568  +
host;my-header1;my-header2
         569  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1035    570   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1036    571   
new file mode 100644
 1037    572   
index 0000000..17007a8
 1038         -
-- /dev/null
         573  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1039    574   
@@ -0,0 +1 @@
         575  +
e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4
              \
 No newline at end of file
 1040    576   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1041    577   
new file mode 100644
 1042    578   
index 0000000..e519fd9
 1043         -
-- /dev/null
         579  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1044    580   
@@ -0,0 +1,5 @@
         581  +
GET /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1%3Bmy-header2&X-Amz-Expires=3600&X-Amz-Signature=e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4 HTTP/1.1
         582  +
Host:example.amazonaws.com
         583  +
My-Header1: value1
         584  +
My-Header2: "a   b   c"
         585  +
 1045    586   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1046    587   
new file mode 100644
 1047    588   
index 0000000..6b4b781
 1048         -
-- /dev/null
         589  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1049    590   
@@ -0,0 +1,4 @@
         591  +
AWS4-HMAC-SHA256
         592  +
20150830T123600Z
         593  +
20150830/us-east-1/service/aws4_request
         594  +
84c9e353b6161b689210977f93b93e6a7182f9ecb2ceae8af8c3d86b080a88ae
              \
 No newline at end of file
 1050    595   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1051    596   
similarity index 100%
 1052    597   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt
 1053    598   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1054    599   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1055    600   
new file mode 100644
 1056    601   
index 0000000..0468d80
 1057         -
-- /dev/null
         602  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1058    603   
@@ -0,0 +1,12 @@
         604  +
{
         605  +
    "credentials": {
         606  +
        "access_key_id": "AKIDEXAMPLE",
         607  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         608  +
    },
         609  +
    "expiration_in_seconds": 3600,
         610  +
    "normalize": true,
         611  +
    "region": "us-east-1",
         612  +
    "service": "service",
         613  +
    "sign_body": false,
         614  +
    "timestamp": "2015-08-30T12:36:00Z"
         615  +
}
              \
 No newline at end of file
 1059    616   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1060    617   
similarity index 100%
 1061    618   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq
 1062    619   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1063    620   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1064    621   
new file mode 100644
 1065    622   
index 0000000..87f295f
 1066         -
-- /dev/null
         623  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1067    624   
@@ -0,0 +1 @@
         625  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1068    626   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1069    627   
new file mode 100644
 1070    628   
index 0000000..0de8327
 1071         -
-- /dev/null
         629  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1072    630   
@@ -0,0 +1,5 @@
         631  +
GET /example/.. HTTP/1.1
         632  +
Host:example.amazonaws.com
         633  +
X-Amz-Date:20150830T123600Z
         634  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         635  +
 1073    636   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1074    637   
similarity index 100%
 1075    638   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts
 1076    639   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1077    640   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1078    641   
new file mode 100644
 1079    642   
index 0000000..fb2420d
 1080         -
-- /dev/null
         643  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1081    644   
@@ -0,0 +1,7 @@
         645  +
GET
         646  +
/
         647  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
         648  +
host:example.amazonaws.com
         649  +
         650  +
host
         651  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1082    652   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1083    653   
new file mode 100644
 1084    654   
index 0000000..da5c905
 1085         -
-- /dev/null
         655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1086    656   
@@ -0,0 +1 @@
         657  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1087    658   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1088    659   
new file mode 100644
 1089    660   
index 0000000..4329c98
 1090         -
-- /dev/null
         661  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1091    662   
@@ -0,0 +1,3 @@
         663  +
GET /example/..?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d HTTP/1.1
         664  +
Host:example.amazonaws.com
         665  +
 1092    666   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1093    667   
new file mode 100644
 1094    668   
index 0000000..d837e67
 1095         -
-- /dev/null
         669  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1096    670   
@@ -0,0 +1,4 @@
         671  +
AWS4-HMAC-SHA256
         672  +
20150830T123600Z
         673  +
20150830/us-east-1/service/aws4_request
         674  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1097    675   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1098    676   
similarity index 100%
 1099    677   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt
 1100    678   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1101    679   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1102    680   
new file mode 100644
 1103    681   
index 0000000..0468d80
 1104         -
-- /dev/null
         682  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1105    683   
@@ -0,0 +1,12 @@
         684  +
{
         685  +
    "credentials": {
         686  +
        "access_key_id": "AKIDEXAMPLE",
         687  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         688  +
    },
         689  +
    "expiration_in_seconds": 3600,
         690  +
    "normalize": true,
         691  +
    "region": "us-east-1",
         692  +
    "service": "service",
         693  +
    "sign_body": false,
         694  +
    "timestamp": "2015-08-30T12:36:00Z"
         695  +
}
              \
 No newline at end of file
 1106    696   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1107    697   
similarity index 100%
 1108    698   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq
 1109    699   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1110    700   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1111    701   
new file mode 100644
 1112    702   
index 0000000..87f295f
 1113         -
-- /dev/null
         703  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1114    704   
@@ -0,0 +1 @@
         705  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1115    706   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1116    707   
new file mode 100644
 1117    708   
index 0000000..f9b3815
 1118         -
-- /dev/null
         709  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1119    710   
@@ -0,0 +1,5 @@
         711  +
GET /example1/example2/../.. HTTP/1.1
         712  +
Host:example.amazonaws.com
         713  +
X-Amz-Date:20150830T123600Z
         714  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         715  +
 1120    716   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1121    717   
similarity index 100%
 1122    718   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts
 1123    719   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1124    720   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1125    721   
new file mode 100644
 1126    722   
index 0000000..fb2420d
 1127         -
-- /dev/null
         723  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1128    724   
@@ -0,0 +1,7 @@
         725  +
GET
         726  +
/
         727  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
         728  +
host:example.amazonaws.com
         729  +
         730  +
host
         731  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1129    732   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1130    733   
new file mode 100644
 1131    734   
index 0000000..da5c905
 1132         -
-- /dev/null
         735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1133    736   
@@ -0,0 +1 @@
         737  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1134    738   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1135    739   
new file mode 100644
 1136    740   
index 0000000..b2988b7
 1137         -
-- /dev/null
         741  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1138    742   
@@ -0,0 +1,3 @@
         743  +
GET /example1/example2/../..?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d HTTP/1.1
         744  +
Host:example.amazonaws.com
         745  +
 1139    746   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1140    747   
new file mode 100644
 1141    748   
index 0000000..d837e67
 1142         -
-- /dev/null
         749  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1143    750   
@@ -0,0 +1,4 @@
         751  +
AWS4-HMAC-SHA256
         752  +
20150830T123600Z
         753  +
20150830/us-east-1/service/aws4_request
         754  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1144    755   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1145    756   
similarity index 100%
 1146    757   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt
 1147    758   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1148    759   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1149    760   
similarity index 99%
 1150    761   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
 1151    762   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1152    763   
index afe367b..7bee5c7 100644
 1153    764   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1154    765   
similarity index 82%
 1155    766   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.creq
 1156    767   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1157    768   
index 36c3cdf..6919c44 100644
 1158         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.creq
         769  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1159    770   
@@ -1,8 +1,8 @@
 1160    771   
GET
 1161         -
/
 1162         -
Param1=Value1&Param1=value2
         772  +
/example1/example2/../..
         773  +
 1163    774   
host:example.amazonaws.com
 1164    775   
x-amz-date:20150830T123600Z
 1165    776   
 1166    777   
host;x-amz-date
 1167    778   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1168    779   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1169    780   
new file mode 100644
 1170    781   
index 0000000..4092d83
 1171         -
-- /dev/null
         782  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1172    783   
@@ -0,0 +1 @@
         784  +
dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
              \
 No newline at end of file
 1173    785   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1174    786   
new file mode 100644
 1175    787   
index 0000000..e731b35
 1176         -
-- /dev/null
         788  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1177    789   
@@ -0,0 +1,5 @@
         790  +
GET /example1/example2/../.. HTTP/1.1
         791  +
Host:example.amazonaws.com
         792  +
X-Amz-Date:20150830T123600Z
         793  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
         794  +
 1178    795   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1179    796   
new file mode 100644
 1180    797   
index 0000000..4f45752
 1181         -
-- /dev/null
         798  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1182    799   
@@ -0,0 +1,4 @@
         800  +
AWS4-HMAC-SHA256
         801  +
20150830T123600Z
         802  +
20150830/us-east-1/service/aws4_request
         803  +
76115030c0f3ff06c20fdff5ceb6d5e0b835a1743e00b94fea7c7f381269437b
              \
 No newline at end of file
 1183    804   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1184    805   
new file mode 100644
 1185    806   
index 0000000..e1fb07d
 1186         -
-- /dev/null
         807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1187    808   
@@ -0,0 +1,7 @@
         809  +
GET
         810  +
/example1/example2/../..
         811  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
         812  +
host:example.amazonaws.com
         813  +
         814  +
host
         815  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1188    816   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1189    817   
new file mode 100644
 1190    818   
index 0000000..8ac31d7
 1191         -
-- /dev/null
         819  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1192    820   
@@ -0,0 +1 @@
         821  +
b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16
              \
 No newline at end of file
 1193    822   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1194    823   
new file mode 100644
 1195    824   
index 0000000..ac074f9
 1196         -
-- /dev/null
         825  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1197    826   
@@ -0,0 +1,3 @@
         827  +
GET /example1/example2/../..?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16 HTTP/1.1
         828  +
Host:example.amazonaws.com
         829  +
 1198    830   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1199    831   
new file mode 100644
 1200    832   
index 0000000..8dcb6ff
 1201         -
-- /dev/null
         833  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1202    834   
@@ -0,0 +1,4 @@
         835  +
AWS4-HMAC-SHA256
         836  +
20150830T123600Z
         837  +
20150830/us-east-1/service/aws4_request
         838  +
13b7758115ec070fe36a7ae9d754154ad73f6ee9a5eac022494857d0e7effc18
              \
 No newline at end of file
 1203    839   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1204    840   
similarity index 100%
 1205    841   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt
 1206    842   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1207    843   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1208    844   
similarity index 99%
 1209    845   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
 1210    846   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1211    847   
index afe367b..7bee5c7 100644
 1212    848   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1213    849   
similarity index 82%
 1214    850   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.creq
 1215    851   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1216    852   
index 26898eb..f640bc2 100644
 1217         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.creq
         853  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1218    854   
@@ -1,8 +1,8 @@
 1219    855   
GET
 1220         -
/
 1221         -
Param1=value1&Param1=value2
         856  +
/example/..
         857  +
 1222    858   
host:example.amazonaws.com
 1223    859   
x-amz-date:20150830T123600Z
 1224    860   
 1225    861   
host;x-amz-date
 1226    862   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1227    863   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1228    864   
new file mode 100644
 1229    865   
index 0000000..d957303
 1230         -
-- /dev/null
         866  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1231    867   
@@ -0,0 +1 @@
         868  +
eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
              \
 No newline at end of file
 1232    869   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1233    870   
new file mode 100644
 1234    871   
index 0000000..4f42ffc
 1235         -
-- /dev/null
         872  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1236    873   
@@ -0,0 +1,5 @@
         874  +
GET /example/.. HTTP/1.1
         875  +
Host:example.amazonaws.com
         876  +
X-Amz-Date:20150830T123600Z
         877  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
         878  +
 1237    879   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1238    880   
new file mode 100644
 1239    881   
index 0000000..ca54bda
 1240         -
-- /dev/null
         882  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1241    883   
@@ -0,0 +1,4 @@
         884  +
AWS4-HMAC-SHA256
         885  +
20150830T123600Z
         886  +
20150830/us-east-1/service/aws4_request
         887  +
0511f456aa502b456d135fcb9d749374a55228f9dbeedda1eacf659e05b0615b
              \
 No newline at end of file
 1242    888   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1243    889   
new file mode 100644
 1244    890   
index 0000000..dc80036
 1245         -
-- /dev/null
         891  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1246    892   
@@ -0,0 +1,7 @@
         893  +
GET
         894  +
/example/..
         895  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
         896  +
host:example.amazonaws.com
         897  +
         898  +
host
         899  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1247    900   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1248    901   
new file mode 100644
 1249    902   
index 0000000..dfa0437
 1250         -
-- /dev/null
         903  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1251    904   
@@ -0,0 +1 @@
         905  +
cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee
              \
 No newline at end of file
 1252    906   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1253    907   
new file mode 100644
 1254    908   
index 0000000..98367b1
 1255         -
-- /dev/null
         909  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1256    910   
@@ -0,0 +1,3 @@
         911  +
GET /example/..?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee HTTP/1.1
         912  +
Host:example.amazonaws.com
         913  +
 1257    914   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1258    915   
new file mode 100644
 1259    916   
index 0000000..f65dd66
 1260         -
-- /dev/null
         917  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1261    918   
@@ -0,0 +1,4 @@
         919  +
AWS4-HMAC-SHA256
         920  +
20150830T123600Z
         921  +
20150830/us-east-1/service/aws4_request
         922  +
6e02e2dba21d6f269bae339b86ff27a4b7bbc9d88c482abccbfbf8a49d602482
              \
 No newline at end of file
 1262    923   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1263    924   
similarity index 100%
 1264    925   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt
 1265    926   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1266    927   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1267    928   
new file mode 100644
 1268    929   
index 0000000..0468d80
 1269         -
-- /dev/null
         930  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1270    931   
@@ -0,0 +1,12 @@
         932  +
{
         933  +
    "credentials": {
         934  +
        "access_key_id": "AKIDEXAMPLE",
         935  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         936  +
    },
         937  +
    "expiration_in_seconds": 3600,
         938  +
    "normalize": true,
         939  +
    "region": "us-east-1",
         940  +
    "service": "service",
         941  +
    "sign_body": false,
         942  +
    "timestamp": "2015-08-30T12:36:00Z"
         943  +
}
              \
 No newline at end of file
 1271    944   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1272    945   
similarity index 100%
 1273    946   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq
 1274    947   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1275    948   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1276    949   
new file mode 100644
 1277    950   
index 0000000..87f295f
 1278         -
-- /dev/null
         951  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1279    952   
@@ -0,0 +1 @@
         953  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1280    954   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1281    955   
new file mode 100644
 1282    956   
index 0000000..99c8eeb
 1283         -
-- /dev/null
         957  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1284    958   
@@ -0,0 +1,5 @@
         959  +
GET /./ HTTP/1.1
         960  +
Host:example.amazonaws.com
         961  +
X-Amz-Date:20150830T123600Z
         962  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         963  +
 1285    964   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-string-to-sign.txt
 1286    965   
similarity index 100%
 1287    966   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts
 1288    967   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-string-to-sign.txt
 1289    968   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1290    969   
new file mode 100644
 1291    970   
index 0000000..fb2420d
 1292         -
-- /dev/null
         971  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1293    972   
@@ -0,0 +1,7 @@
         973  +
GET
         974  +
/
         975  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
         976  +
host:example.amazonaws.com
         977  +
         978  +
host
         979  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1294    980   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1295    981   
new file mode 100644
 1296    982   
index 0000000..da5c905
 1297         -
-- /dev/null
         983  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1298    984   
@@ -0,0 +1 @@
         985  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1299    986   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1300    987   
new file mode 100644
 1301    988   
index 0000000..2e47f69
 1302         -
-- /dev/null
         989  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1303    990   
@@ -0,0 +1,3 @@
         991  +
GET /./?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d HTTP/1.1
         992  +
Host:example.amazonaws.com
         993  +
 1304    994   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1305    995   
new file mode 100644
 1306    996   
index 0000000..d837e67
 1307         -
-- /dev/null
         997  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1308    998   
@@ -0,0 +1,4 @@
         999  +
AWS4-HMAC-SHA256
        1000  +
20150830T123600Z
        1001  +
20150830/us-east-1/service/aws4_request
        1002  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1309   1003   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1310   1004   
similarity index 100%
 1311   1005   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt
 1312   1006   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1313   1007   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1314   1008   
similarity index 99%
 1315   1009   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
 1316   1010   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1317   1011   
index afe367b..7bee5c7 100644
 1318   1012   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1319   1013   
new file mode 100644
 1320   1014   
index 0000000..5159048
 1321         -
-- /dev/null
        1015  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1322   1016   
@@ -0,0 +1,8 @@
        1017  +
GET
        1018  +
/./
        1019  +
        1020  +
host:example.amazonaws.com
        1021  +
x-amz-date:20150830T123600Z
        1022  +
        1023  +
host;x-amz-date
        1024  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1323   1025   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1324   1026   
new file mode 100644
 1325   1027   
index 0000000..b49ff0e
 1326         -
-- /dev/null
        1028  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1327   1029   
@@ -0,0 +1 @@
        1030  +
68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
              \
 No newline at end of file
 1328   1031   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1329   1032   
new file mode 100644
 1330   1033   
index 0000000..aeb1ffa
 1331         -
-- /dev/null
        1034  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1332   1035   
@@ -0,0 +1,5 @@
        1036  +
GET /./ HTTP/1.1
        1037  +
Host:example.amazonaws.com
        1038  +
X-Amz-Date:20150830T123600Z
        1039  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
        1040  +
 1333   1041   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1334   1042   
new file mode 100644
 1335   1043   
index 0000000..b7d8caf
 1336         -
-- /dev/null
        1044  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1337   1045   
@@ -0,0 +1,4 @@
        1046  +
AWS4-HMAC-SHA256
        1047  +
20150830T123600Z
        1048  +
20150830/us-east-1/service/aws4_request
        1049  +
d67825e2268bd77a97c7688b8d72c31a3c1855b309808505ba0a9747d2465aa7
              \
 No newline at end of file
 1338   1050   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1339   1051   
new file mode 100644
 1340   1052   
index 0000000..d4e029e
 1341         -
-- /dev/null
        1053  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1342   1054   
@@ -0,0 +1,7 @@
        1055  +
GET
        1056  +
/./
        1057  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1058  +
host:example.amazonaws.com
        1059  +
        1060  +
host
        1061  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1343   1062   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1344   1063   
new file mode 100644
 1345   1064   
index 0000000..fe8f4cc
 1346         -
-- /dev/null
        1065  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1347   1066   
@@ -0,0 +1 @@
        1067  +
a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c
              \
 No newline at end of file
 1348   1068   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1349   1069   
new file mode 100644
 1350   1070   
index 0000000..dcc4fc4
 1351         -
-- /dev/null
        1071  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1352   1072   
@@ -0,0 +1,3 @@
        1073  +
GET /./?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c HTTP/1.1
        1074  +
Host:example.amazonaws.com
        1075  +
 1353   1076   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1354   1077   
new file mode 100644
 1355   1078   
index 0000000..5fb3ada
 1356         -
-- /dev/null
        1079  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1357   1080   
@@ -0,0 +1,4 @@
        1081  +
AWS4-HMAC-SHA256
        1082  +
20150830T123600Z
        1083  +
20150830/us-east-1/service/aws4_request
        1084  +
21b2da17873f30c1a7410efdc271738b318ccc2c9c6fbe1289fc242aeb1a8ae1
              \
 No newline at end of file
 1358   1085   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1359   1086   
similarity index 100%
 1360   1087   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt
 1361   1088   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1362   1089   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1363   1090   
new file mode 100644
 1364   1091   
index 0000000..0468d80
 1365         -
-- /dev/null
        1092  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1366   1093   
@@ -0,0 +1,12 @@
        1094  +
{
        1095  +
    "credentials": {
        1096  +
        "access_key_id": "AKIDEXAMPLE",
        1097  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1098  +
    },
        1099  +
    "expiration_in_seconds": 3600,
        1100  +
    "normalize": true,
        1101  +
    "region": "us-east-1",
        1102  +
    "service": "service",
        1103  +
    "sign_body": false,
        1104  +
    "timestamp": "2015-08-30T12:36:00Z"
        1105  +
}
              \
 No newline at end of file
 1367   1106   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1368   1107   
similarity index 100%
 1369   1108   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq
 1370   1109   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1371   1110   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1372   1111   
new file mode 100644
 1373   1112   
index 0000000..87f295f
 1374         -
-- /dev/null
        1113  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1375   1114   
@@ -0,0 +1 @@
        1115  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1376   1116   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1377   1117   
new file mode 100644
 1378   1118   
index 0000000..b91087b
 1379         -
-- /dev/null
        1119  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1380   1120   
@@ -0,0 +1,5 @@
        1121  +
GET // HTTP/1.1
        1122  +
Host:example.amazonaws.com
        1123  +
X-Amz-Date:20150830T123600Z
        1124  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1125  +
 1381   1126   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1382   1127   
similarity index 100%
 1383   1128   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts
 1384   1129   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1385   1130   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1386   1131   
new file mode 100644
 1387   1132   
index 0000000..fb2420d
 1388         -
-- /dev/null
        1133  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1389   1134   
@@ -0,0 +1,7 @@
        1135  +
GET
        1136  +
/
        1137  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1138  +
host:example.amazonaws.com
        1139  +
        1140  +
host
        1141  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1390   1142   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1391   1143   
new file mode 100644
 1392   1144   
index 0000000..da5c905
 1393         -
-- /dev/null
        1145  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1394   1146   
@@ -0,0 +1 @@
        1147  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1395   1148   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1396   1149   
new file mode 100644
 1397   1150   
index 0000000..0290ba4
 1398         -
-- /dev/null
        1151  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1399   1152   
@@ -0,0 +1,3 @@
        1153  +
GET //?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d HTTP/1.1
        1154  +
Host:example.amazonaws.com
        1155  +
 1400   1156   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1401   1157   
new file mode 100644
 1402   1158   
index 0000000..d837e67
 1403         -
-- /dev/null
        1159  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1404   1160   
@@ -0,0 +1,4 @@
        1161  +
AWS4-HMAC-SHA256
        1162  +
20150830T123600Z
        1163  +
20150830/us-east-1/service/aws4_request
        1164  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1405   1165   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1406   1166   
similarity index 100%
 1407   1167   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt
 1408   1168   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1409   1169   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1410   1170   
new file mode 100644
 1411   1171   
index 0000000..0468d80
 1412         -
-- /dev/null
        1172  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1413   1173   
@@ -0,0 +1,12 @@
        1174  +
{
        1175  +
    "credentials": {
        1176  +
        "access_key_id": "AKIDEXAMPLE",
        1177  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1178  +
    },
        1179  +
    "expiration_in_seconds": 3600,
        1180  +
    "normalize": true,
        1181  +
    "region": "us-east-1",
        1182  +
    "service": "service",
        1183  +
    "sign_body": false,
        1184  +
    "timestamp": "2015-08-30T12:36:00Z"
        1185  +
}
              \
 No newline at end of file
 1414   1186   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1415   1187   
similarity index 100%
 1416   1188   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.creq
 1417   1189   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1418   1190   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1419   1191   
new file mode 100644
 1420   1192   
index 0000000..8f892bf
 1421         -
-- /dev/null
        1193  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1422   1194   
@@ -0,0 +1 @@
        1195  +
ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
 1423   1196   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1424   1197   
new file mode 100644
 1425   1198   
index 0000000..2a1895c
 1426         -
-- /dev/null
        1199  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1427   1200   
@@ -0,0 +1,5 @@
        1201  +
GET /./example HTTP/1.1
        1202  +
Host:example.amazonaws.com
        1203  +
X-Amz-Date:20150830T123600Z
        1204  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
        1205  +
 1428   1206   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-string-to-sign.txt
 1429   1207   
similarity index 100%
 1430   1208   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.sts
 1431   1209   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-string-to-sign.txt
 1432   1210   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1433   1211   
new file mode 100644
 1434   1212   
index 0000000..99dfc2a
 1435         -
-- /dev/null
        1213  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1436   1214   
@@ -0,0 +1,7 @@
        1215  +
GET
        1216  +
/example
        1217  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1218  +
host:example.amazonaws.com
        1219  +
        1220  +
host
        1221  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1437   1222   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1438   1223   
new file mode 100644
 1439   1224   
index 0000000..fcd7a17
 1440         -
-- /dev/null
        1225  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1441   1226   
@@ -0,0 +1 @@
        1227  +
35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de
              \
 No newline at end of file
 1442   1228   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1443   1229   
new file mode 100644
 1444   1230   
index 0000000..f671de2
 1445         -
-- /dev/null
        1231  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1446   1232   
@@ -0,0 +1,3 @@
        1233  +
GET /./example?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de HTTP/1.1
        1234  +
Host:example.amazonaws.com
        1235  +
 1447   1236   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1448   1237   
new file mode 100644
 1449   1238   
index 0000000..f8456dc
 1450         -
-- /dev/null
        1239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1451   1240   
@@ -0,0 +1,4 @@
        1241  +
AWS4-HMAC-SHA256
        1242  +
20150830T123600Z
        1243  +
20150830/us-east-1/service/aws4_request
        1244  +
88dd73bb06de69cb042dbb82cadbb4fce1a2623615d94520c271614abf94e738
              \
 No newline at end of file
 1452   1245   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1453   1246   
similarity index 100%
 1454   1247   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt
 1455   1248   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1456   1249   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1457   1250   
similarity index 99%
 1458   1251   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
 1459   1252   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1460   1253   
index afe367b..7bee5c7 100644
 1461   1254   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1462   1255   
new file mode 100644
 1463   1256   
index 0000000..36698c7
 1464         -
-- /dev/null
        1257  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1465   1258   
@@ -0,0 +1,8 @@
        1259  +
GET
        1260  +
/./example
        1261  +
        1262  +
host:example.amazonaws.com
        1263  +
x-amz-date:20150830T123600Z
        1264  +
        1265  +
host;x-amz-date
        1266  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1466   1267   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1467   1268   
new file mode 100644
 1468   1269   
index 0000000..4a4b8f2
 1469         -
-- /dev/null
        1270  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1470   1271   
@@ -0,0 +1 @@
        1272  +
beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
              \
 No newline at end of file
 1471   1273   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1472   1274   
new file mode 100644
 1473   1275   
index 0000000..d462bcd
 1474         -
-- /dev/null
        1276  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1475   1277   
@@ -0,0 +1,5 @@
        1278  +
GET /./example HTTP/1.1
        1279  +
Host:example.amazonaws.com
        1280  +
X-Amz-Date:20150830T123600Z
        1281  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
        1282  +
 1476   1283   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1477   1284   
new file mode 100644
 1478   1285   
index 0000000..8be78c9
 1479         -
-- /dev/null
        1286  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1480   1287   
@@ -0,0 +1,4 @@
        1288  +
AWS4-HMAC-SHA256
        1289  +
20150830T123600Z
        1290  +
20150830/us-east-1/service/aws4_request
        1291  +
73895e0e829507e28e39fd24669aedc2434a8e179e547e3c075b42921f952cdb
              \
 No newline at end of file
 1481   1292   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1482   1293   
new file mode 100644
 1483   1294   
index 0000000..fe1103c
 1484         -
-- /dev/null
        1295  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1485   1296   
@@ -0,0 +1,7 @@
        1297  +
GET
        1298  +
/./example
        1299  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1300  +
host:example.amazonaws.com
        1301  +
        1302  +
host
        1303  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1486   1304   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1487   1305   
new file mode 100644
 1488   1306   
index 0000000..ce80762
 1489         -
-- /dev/null
        1307  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1490   1308   
@@ -0,0 +1 @@
        1309  +
72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10
              \
 No newline at end of file
 1491   1310   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1492   1311   
new file mode 100644
 1493   1312   
index 0000000..30841a6
 1494         -
-- /dev/null
        1313  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1495   1314   
@@ -0,0 +1,3 @@
        1315  +
GET /./example?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10 HTTP/1.1
        1316  +
Host:example.amazonaws.com
        1317  +
 1496   1318   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1497   1319   
new file mode 100644
 1498   1320   
index 0000000..5c66509
 1499         -
-- /dev/null
        1321  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1500   1322   
@@ -0,0 +1,4 @@
        1323  +
AWS4-HMAC-SHA256
        1324  +
20150830T123600Z
        1325  +
20150830/us-east-1/service/aws4_request
        1326  +
cb23444939471187ac1f0fb25d437337af0d5f48b5ae0ede5baa3727c8c6af92
              \
 No newline at end of file
 1501   1327   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1502   1328   
similarity index 100%
 1503   1329   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt
 1504   1330   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1505   1331   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1506   1332   
new file mode 100644
 1507   1333   
index 0000000..7bee5c7
 1508         -
-- /dev/null
        1334  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1509   1335   
@@ -0,0 +1,12 @@
        1336  +
{
        1337  +
    "credentials": {
        1338  +
        "access_key_id": "AKIDEXAMPLE",
        1339  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1340  +
    },
        1341  +
    "expiration_in_seconds": 3600,
        1342  +
    "normalize": false,
        1343  +
    "region": "us-east-1",
        1344  +
    "service": "service",
        1345  +
    "sign_body": false,
        1346  +
    "timestamp": "2015-08-30T12:36:00Z"
        1347  +
}
              \
 No newline at end of file
 1510   1348   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1511   1349   
new file mode 100644
 1512   1350   
index 0000000..5860c8a
 1513         -
-- /dev/null
        1351  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1514   1352   
@@ -0,0 +1,8 @@
        1353  +
GET
        1354  +
//
        1355  +
        1356  +
host:example.amazonaws.com
        1357  +
x-amz-date:20150830T123600Z
        1358  +
        1359  +
host;x-amz-date
        1360  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1515   1361   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1516   1362   
new file mode 100644
 1517   1363   
index 0000000..8310471
 1518         -
-- /dev/null
        1364  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1519   1365   
@@ -0,0 +1 @@
        1366  +
c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
              \
 No newline at end of file
 1520   1367   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1521   1368   
new file mode 100644
 1522   1369   
index 0000000..2a7afef
 1523         -
-- /dev/null
        1370  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1524   1371   
@@ -0,0 +1,5 @@
        1372  +
GET // HTTP/1.1
        1373  +
Host:example.amazonaws.com
        1374  +
X-Amz-Date:20150830T123600Z
        1375  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
        1376  +
 1525   1377   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1526   1378   
new file mode 100644
 1527   1379   
index 0000000..06059dd
 1528         -
-- /dev/null
        1380  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1529   1381   
@@ -0,0 +1,4 @@
        1382  +
AWS4-HMAC-SHA256
        1383  +
20150830T123600Z
        1384  +
20150830/us-east-1/service/aws4_request
        1385  +
80cb39203d058af815de2b79250ff56e1b73eb9b4718c86556cdc6f150c5d209
              \
 No newline at end of file
 1530   1386   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1531   1387   
new file mode 100644
 1532   1388   
index 0000000..6d63aef
 1533         -
-- /dev/null
        1389  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1534   1390   
@@ -0,0 +1,7 @@
        1391  +
GET
        1392  +
//
        1393  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1394  +
host:example.amazonaws.com
        1395  +
        1396  +
host
        1397  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1535   1398   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1536   1399   
new file mode 100644
 1537   1400   
index 0000000..e5b7b6c
 1538         -
-- /dev/null
        1401  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1539   1402   
@@ -0,0 +1 @@
        1403  +
b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd
              \
 No newline at end of file
 1540   1404   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1541   1405   
new file mode 100644
 1542   1406   
index 0000000..46fe3fd
 1543         -
-- /dev/null
        1407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1544   1408   
@@ -0,0 +1,3 @@
        1409  +
GET //?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd HTTP/1.1
        1410  +
Host:example.amazonaws.com
        1411  +
 1545   1412   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1546   1413   
new file mode 100644
 1547   1414   
index 0000000..ea79940
 1548         -
-- /dev/null
        1415  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1549   1416   
@@ -0,0 +1,4 @@
        1417  +
AWS4-HMAC-SHA256
        1418  +
20150830T123600Z
        1419  +
20150830/us-east-1/service/aws4_request
        1420  +
e10a01494cafa1f2207c4de80c69b7a36d6f2d282aa63ee64a5ca50e175cf730
              \
 No newline at end of file
 1550   1421   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1551   1422   
similarity index 100%
 1552   1423   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt
 1553   1424   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1554   1425   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1555   1426   
new file mode 100644
 1556   1427   
index 0000000..0468d80
 1557         -
-- /dev/null
        1428  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1558   1429   
@@ -0,0 +1,12 @@
        1430  +
{
        1431  +
    "credentials": {
        1432  +
        "access_key_id": "AKIDEXAMPLE",
        1433  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1434  +
    },
        1435  +
    "expiration_in_seconds": 3600,
        1436  +
    "normalize": true,
        1437  +
    "region": "us-east-1",
        1438  +
    "service": "service",
        1439  +
    "sign_body": false,
        1440  +
    "timestamp": "2015-08-30T12:36:00Z"
        1441  +
}
              \
 No newline at end of file
 1559   1442   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1560   1443   
similarity index 100%
 1561   1444   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq
 1562   1445   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1563   1446   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1564   1447   
new file mode 100644
 1565   1448   
index 0000000..71c7bac
 1566         -
-- /dev/null
        1449  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1567   1450   
@@ -0,0 +1 @@
        1451  +
9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
 1568   1452   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1569   1453   
new file mode 100644
 1570   1454   
index 0000000..0add1f1
 1571         -
-- /dev/null
        1455  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1572   1456   
@@ -0,0 +1,5 @@
        1457  +
GET //example// HTTP/1.1
        1458  +
Host:example.amazonaws.com
        1459  +
X-Amz-Date:20150830T123600Z
        1460  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
        1461  +
 1573   1462   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1574   1463   
similarity index 100%
 1575   1464   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts
 1576   1465   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1577   1466   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1578   1467   
new file mode 100644
 1579   1468   
index 0000000..ce72510
 1580         -
-- /dev/null
        1469  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1581   1470   
@@ -0,0 +1,7 @@
        1471  +
GET
        1472  +
/example/
        1473  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1474  +
host:example.amazonaws.com
        1475  +
        1476  +
host
        1477  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1582   1478   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1583   1479   
new file mode 100644
 1584   1480   
index 0000000..265f387
 1585         -
-- /dev/null
        1481  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1586   1482   
@@ -0,0 +1 @@
        1483  +
c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082
              \
 No newline at end of file
 1587   1484   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1588   1485   
new file mode 100644
 1589   1486   
index 0000000..e1fcb2e
 1590         -
-- /dev/null
        1487  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1591   1488   
@@ -0,0 +1,3 @@
        1489  +
GET //example//?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082 HTTP/1.1
        1490  +
Host:example.amazonaws.com
        1491  +
 1592   1492   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1593   1493   
new file mode 100644
 1594   1494   
index 0000000..a14de61
 1595         -
-- /dev/null
        1495  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1596   1496   
@@ -0,0 +1,4 @@
        1497  +
AWS4-HMAC-SHA256
        1498  +
20150830T123600Z
        1499  +
20150830/us-east-1/service/aws4_request
        1500  +
1a3e3fe19998c62136ed2ff9c8531973a46d4a21b336f58e8fcad185ec64d642
              \
 No newline at end of file
 1597   1501   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1598   1502   
similarity index 100%
 1599   1503   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt
 1600   1504   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1601   1505   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1602   1506   
new file mode 100644
 1603   1507   
index 0000000..7bee5c7
 1604         -
-- /dev/null
        1508  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1605   1509   
@@ -0,0 +1,12 @@
        1510  +
{
        1511  +
    "credentials": {
        1512  +
        "access_key_id": "AKIDEXAMPLE",
        1513  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1514  +
    },
        1515  +
    "expiration_in_seconds": 3600,
        1516  +
    "normalize": false,
        1517  +
    "region": "us-east-1",
        1518  +
    "service": "service",
        1519  +
    "sign_body": false,
        1520  +
    "timestamp": "2015-08-30T12:36:00Z"
        1521  +
}
              \
 No newline at end of file
 1606   1522   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1607   1523   
new file mode 100644
 1608   1524   
index 0000000..dfffaaf
 1609         -
-- /dev/null
        1525  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1610   1526   
@@ -0,0 +1,8 @@
        1527  +
GET
        1528  +
//example//
        1529  +
        1530  +
host:example.amazonaws.com
        1531  +
x-amz-date:20150830T123600Z
        1532  +
        1533  +
host;x-amz-date
        1534  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1611   1535   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1612   1536   
new file mode 100644
 1613   1537   
index 0000000..edbcc0d
 1614         -
-- /dev/null
        1538  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1615   1539   
@@ -0,0 +1 @@
        1540  +
87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
              \
 No newline at end of file
 1616   1541   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1617   1542   
new file mode 100644
 1618   1543   
index 0000000..4cc12dd
 1619         -
-- /dev/null
        1544  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1620   1545   
@@ -0,0 +1,5 @@
        1546  +
GET //example// HTTP/1.1
        1547  +
Host:example.amazonaws.com
        1548  +
X-Amz-Date:20150830T123600Z
        1549  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
        1550  +
 1621   1551   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1622   1552   
new file mode 100644
 1623   1553   
index 0000000..3eba390
 1624         -
-- /dev/null
        1554  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1625   1555   
@@ -0,0 +1,4 @@
        1556  +
AWS4-HMAC-SHA256
        1557  +
20150830T123600Z
        1558  +
20150830/us-east-1/service/aws4_request
        1559  +
528ec3105ee1f34ab014bb0a1a45da0ed2742a4fea3555149e5b4d5d201eb240
              \
 No newline at end of file
 1626   1560   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1627   1561   
new file mode 100644
 1628   1562   
index 0000000..f7844e3
 1629         -
-- /dev/null
        1563  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1630   1564   
@@ -0,0 +1,7 @@
        1565  +
GET
        1566  +
//example//
        1567  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1568  +
host:example.amazonaws.com
        1569  +
        1570  +
host
        1571  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1631   1572   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1632   1573   
new file mode 100644
 1633   1574   
index 0000000..a8d6b96
 1634         -
-- /dev/null
        1575  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1635   1576   
@@ -0,0 +1 @@
        1577  +
822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2
              \
 No newline at end of file
 1636   1578   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1637   1579   
new file mode 100644
 1638   1580   
index 0000000..a8322c6
 1639         -
-- /dev/null
        1581  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1640   1582   
@@ -0,0 +1,3 @@
        1583  +
GET //example//?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2 HTTP/1.1
        1584  +
Host:example.amazonaws.com
        1585  +
 1641   1586   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1642   1587   
new file mode 100644
 1643   1588   
index 0000000..068724d
 1644         -
-- /dev/null
        1589  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1645   1590   
@@ -0,0 +1,4 @@
        1591  +
AWS4-HMAC-SHA256
        1592  +
20150830T123600Z
        1593  +
20150830/us-east-1/service/aws4_request
        1594  +
82241114f9a6320f054333c890952474aa7a0069d28a4326c3a8d95bbecc69ee
              \
 No newline at end of file
 1646   1595   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1647   1596   
similarity index 100%
 1648   1597   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt
 1649   1598   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1650   1599   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1651   1600   
new file mode 100644
 1652   1601   
index 0000000..0468d80
 1653         -
-- /dev/null
        1602  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1654   1603   
@@ -0,0 +1,12 @@
        1604  +
{
        1605  +
    "credentials": {
        1606  +
        "access_key_id": "AKIDEXAMPLE",
        1607  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1608  +
    },
        1609  +
    "expiration_in_seconds": 3600,
        1610  +
    "normalize": true,
        1611  +
    "region": "us-east-1",
        1612  +
    "service": "service",
        1613  +
    "sign_body": false,
        1614  +
    "timestamp": "2015-08-30T12:36:00Z"
        1615  +
}
              \
 No newline at end of file
 1655   1616   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1656   1617   
similarity index 100%
 1657   1618   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq
 1658   1619   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1659   1620   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1660   1621   
new file mode 100644
 1661   1622   
index 0000000..f63892b
 1662         -
-- /dev/null
        1623  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1663   1624   
@@ -0,0 +1 @@
        1625  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1664   1626   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 1665   1627   
new file mode 100644
 1666   1628   
index 0000000..19cd5cb
 1667         -
-- /dev/null
        1629  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 1668   1630   
@@ -0,0 +1,5 @@
        1631  +
GET /example space/ HTTP/1.1
        1632  +
Host:example.amazonaws.com
        1633  +
X-Amz-Date:20150830T123600Z
        1634  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1635  +
 1669   1636   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 1670   1637   
similarity index 100%
 1671   1638   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts
 1672   1639   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 1673   1640   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 1674   1641   
new file mode 100644
 1675   1642   
index 0000000..fa3d3e2
 1676         -
-- /dev/null
        1643  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 1677   1644   
@@ -0,0 +1,7 @@
        1645  +
GET
        1646  +
/example%20space/
        1647  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1648  +
host:example.amazonaws.com
        1649  +
        1650  +
host
        1651  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1678   1652   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 1679   1653   
new file mode 100644
 1680   1654   
index 0000000..5b2e204
 1681         -
-- /dev/null
        1655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 1682   1656   
@@ -0,0 +1 @@
        1657  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1683   1658   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 1684   1659   
new file mode 100644
 1685   1660   
index 0000000..93ca1d0
 1686         -
-- /dev/null
        1661  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 1687   1662   
@@ -0,0 +1,3 @@
        1663  +
GET /example space/?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6 HTTP/1.1
        1664  +
Host:example.amazonaws.com
        1665  +
 1688   1666   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 1689   1667   
new file mode 100644
 1690   1668   
index 0000000..b4cb789
 1691         -
-- /dev/null
        1669  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 1692   1670   
@@ -0,0 +1,4 @@
        1671  +
AWS4-HMAC-SHA256
        1672  +
20150830T123600Z
        1673  +
20150830/us-east-1/service/aws4_request
        1674  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1693   1675   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 1694   1676   
new file mode 100644
 1695   1677   
index 0000000..860a277
 1696         -
-- /dev/null
        1678  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 1697   1679   
@@ -0,0 +1,2 @@
        1680  +
GET /example%20space/ HTTP/1.1
        1681  +
Host:example.amazonaws.com
 1698   1682   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 1699   1683   
new file mode 100644
 1700   1684   
index 0000000..7bee5c7
 1701         -
-- /dev/null
        1685  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 1702   1686   
@@ -0,0 +1,12 @@
        1687  +
{
        1688  +
    "credentials": {
        1689  +
        "access_key_id": "AKIDEXAMPLE",
        1690  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1691  +
    },
        1692  +
    "expiration_in_seconds": 3600,
        1693  +
    "normalize": false,
        1694  +
    "region": "us-east-1",
        1695  +
    "service": "service",
        1696  +
    "sign_body": false,
        1697  +
    "timestamp": "2015-08-30T12:36:00Z"
        1698  +
}
              \
 No newline at end of file
 1703   1699   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1704   1700   
similarity index 66%
 1705   1701   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.creq
 1706   1702   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1707   1703   
index 71dc981..124a709 100644
 1708         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.creq
        1704  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1709   1705   
@@ -1,9 +1,8 @@
 1710         -
POST
 1711         -
/
        1706  +
GET
        1707  +
/example%20space/
 1712   1708   
 1713         -
content-type:application/x-www-form-urlencoded; charset=utf-8
 1714   1709   
host:example.amazonaws.com
 1715   1710   
x-amz-date:20150830T123600Z
 1716   1711   
 1717   1712   
host;x-amz-date
 1718   1713   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1719   1714   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 1720   1715   
new file mode 100644
 1721   1716   
index 0000000..f63892b
 1722         -
-- /dev/null
        1717  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 1723   1718   
@@ -0,0 +1 @@
        1719  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1724   1720   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 1725   1721   
new file mode 100644
 1726   1722   
index 0000000..19cd5cb
 1727         -
-- /dev/null
        1723  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 1728   1724   
@@ -0,0 +1,5 @@
        1725  +
GET /example space/ HTTP/1.1
        1726  +
Host:example.amazonaws.com
        1727  +
X-Amz-Date:20150830T123600Z
        1728  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1729  +
 1729   1730   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 1730   1731   
new file mode 100644
 1731   1732   
index 0000000..a633f0c
 1732         -
-- /dev/null
        1733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 1733   1734   
@@ -0,0 +1,4 @@
        1735  +
AWS4-HMAC-SHA256
        1736  +
20150830T123600Z
        1737  +
20150830/us-east-1/service/aws4_request
        1738  +
63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86
              \
 No newline at end of file
 1734   1739   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 1735   1740   
new file mode 100644
 1736   1741   
index 0000000..fa3d3e2
 1737         -
-- /dev/null
        1742  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 1738   1743   
@@ -0,0 +1,7 @@
        1744  +
GET
        1745  +
/example%20space/
        1746  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1747  +
host:example.amazonaws.com
        1748  +
        1749  +
host
        1750  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1739   1751   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 1740   1752   
new file mode 100644
 1741   1753   
index 0000000..5b2e204
 1742         -
-- /dev/null
        1754  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 1743   1755   
@@ -0,0 +1 @@
        1756  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1744   1757   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 1745   1758   
new file mode 100644
 1746   1759   
index 0000000..93ca1d0
 1747         -
-- /dev/null
        1760  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 1748   1761   
@@ -0,0 +1,3 @@
        1762  +
GET /example space/?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6 HTTP/1.1
        1763  +
Host:example.amazonaws.com
        1764  +
 1749   1765   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 1750   1766   
new file mode 100644
 1751   1767   
index 0000000..b4cb789
 1752         -
-- /dev/null
        1768  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 1753   1769   
@@ -0,0 +1,4 @@
        1770  +
AWS4-HMAC-SHA256
        1771  +
20150830T123600Z
        1772  +
20150830/us-east-1/service/aws4_request
        1773  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1754   1774   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1755   1775   
similarity index 67%
 1756   1776   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
 1757   1777   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1758   1778   
index b7d5e8b..ab509ab 100644
 1759         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
        1779  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1760   1780   
@@ -1,3 +1,2 @@
 1761   1781   
GET /example space/ HTTP/1.1
 1762   1782   
Host:example.amazonaws.com
 1763         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1764   1783   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 1765   1784   
new file mode 100644
 1766   1785   
index 0000000..0468d80
 1767         -
-- /dev/null
        1786  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 1768   1787   
@@ -0,0 +1,12 @@
        1788  +
{
        1789  +
    "credentials": {
        1790  +
        "access_key_id": "AKIDEXAMPLE",
        1791  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1792  +
    },
        1793  +
    "expiration_in_seconds": 3600,
        1794  +
    "normalize": true,
        1795  +
    "region": "us-east-1",
        1796  +
    "service": "service",
        1797  +
    "sign_body": false,
        1798  +
    "timestamp": "2015-08-30T12:36:00Z"
        1799  +
}
              \
 No newline at end of file
 1769   1800   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 1770   1801   
similarity index 100%
 1771   1802   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq
 1772   1803   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 1773   1804   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 1774   1805   
new file mode 100644
 1775   1806   
index 0000000..e503354
 1776         -
-- /dev/null
        1807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 1777   1808   
@@ -0,0 +1 @@
        1809  +
07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
 1778   1810   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 1779   1811   
new file mode 100644
 1780   1812   
index 0000000..4367892
 1781         -
-- /dev/null
        1813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 1782   1814   
@@ -0,0 +1,5 @@
        1815  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        1816  +
Host:example.amazonaws.com
        1817  +
X-Amz-Date:20150830T123600Z
        1818  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
        1819  +
 1783   1820   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 1784   1821   
similarity index 100%
 1785   1822   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts
 1786   1823   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 1787   1824   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 1788   1825   
new file mode 100644
 1789   1826   
index 0000000..d7f0696
 1790         -
-- /dev/null
        1827  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 1791   1828   
@@ -0,0 +1,7 @@
        1829  +
GET
        1830  +
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
        1831  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1832  +
host:example.amazonaws.com
        1833  +
        1834  +
host
        1835  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1792   1836   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 1793   1837   
new file mode 100644
 1794   1838   
index 0000000..509e972
 1795         -
-- /dev/null
        1839  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 1796   1840   
@@ -0,0 +1 @@
        1841  +
95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005
              \
 No newline at end of file
 1797   1842   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 1798   1843   
new file mode 100644
 1799   1844   
index 0000000..79aad36
 1800         -
-- /dev/null
        1845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 1801   1846   
@@ -0,0 +1,3 @@
        1847  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005 HTTP/1.1
        1848  +
Host:example.amazonaws.com
        1849  +
 1802   1850   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 1803   1851   
new file mode 100644
 1804   1852   
index 0000000..e8068b3
 1805         -
-- /dev/null
        1853  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 1806   1854   
@@ -0,0 +1,4 @@
        1855  +
AWS4-HMAC-SHA256
        1856  +
20150830T123600Z
        1857  +
20150830/us-east-1/service/aws4_request
        1858  +
3134f2fbc6ef58f34b74b01643a159bfccbc121ea4288a4b75e65bc805d08219
              \
 No newline at end of file
 1807   1859   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 1808   1860   
similarity index 100%
 1809   1861   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt
 1810   1862   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 1811   1863   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 1812   1864   
new file mode 100644
 1813   1865   
index 0000000..0468d80
 1814         -
-- /dev/null
        1866  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 1815   1867   
@@ -0,0 +1,12 @@
        1868  +
{
        1869  +
    "credentials": {
        1870  +
        "access_key_id": "AKIDEXAMPLE",
        1871  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1872  +
    },
        1873  +
    "expiration_in_seconds": 3600,
        1874  +
    "normalize": true,
        1875  +
    "region": "us-east-1",
        1876  +
    "service": "service",
        1877  +
    "sign_body": false,
        1878  +
    "timestamp": "2015-08-30T12:36:00Z"
        1879  +
}
              \
 No newline at end of file
 1816   1880   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 1817   1881   
similarity index 100%
 1818   1882   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq
 1819   1883   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 1820   1884   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 1821   1885   
new file mode 100644
 1822   1886   
index 0000000..9a13676
 1823         -
-- /dev/null
        1887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 1824   1888   
@@ -0,0 +1 @@
        1889  +
8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
 1825   1890   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 1826   1891   
new file mode 100644
 1827   1892   
index 0000000..5aaf47c
 1828         -
-- /dev/null
        1893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 1829   1894   
@@ -0,0 +1,5 @@
        1895  +
GET /ሴ HTTP/1.1
        1896  +
Host:example.amazonaws.com
        1897  +
X-Amz-Date:20150830T123600Z
        1898  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
        1899  +
 1830   1900   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 1831   1901   
similarity index 100%
 1832   1902   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts
 1833   1903   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 1834   1904   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 1835   1905   
new file mode 100644
 1836   1906   
index 0000000..bdb77c9
 1837         -
-- /dev/null
        1907  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 1838   1908   
@@ -0,0 +1,7 @@
        1909  +
GET
        1910  +
/%E1%88%B4
        1911  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1912  +
host:example.amazonaws.com
        1913  +
        1914  +
host
        1915  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1839   1916   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 1840   1917   
new file mode 100644
 1841   1918   
index 0000000..21342b3
 1842         -
-- /dev/null
        1919  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 1843   1920   
@@ -0,0 +1 @@
        1921  +
10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44
              \
 No newline at end of file
 1844   1922   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 1845   1923   
new file mode 100644
 1846   1924   
index 0000000..368c2ff
 1847         -
-- /dev/null
        1925  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 1848   1926   
@@ -0,0 +1,3 @@
        1927  +
GET /ሴ?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44 HTTP/1.1
        1928  +
Host:example.amazonaws.com
        1929  +
 1849   1930   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 1850   1931   
new file mode 100644
 1851   1932   
index 0000000..56b8fbf
 1852         -
-- /dev/null
        1933  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 1853   1934   
@@ -0,0 +1,4 @@
        1935  +
AWS4-HMAC-SHA256
        1936  +
20150830T123600Z
        1937  +
20150830/us-east-1/service/aws4_request
        1938  +
d8f78e05d0d9bb1c16ae1e60ed405de76cfb8fdcd3e414ffe65fad563b996d66
              \
 No newline at end of file
 1854   1939   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 1855   1940   
similarity index 62%
 1856   1941   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
 1857   1942   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 1858   1943   
index da4808d..9e273f6 100644
 1859         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
        1944  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 1860   1945   
@@ -1,3 +1,2 @@
 1861   1946   
GET /ሴ HTTP/1.1
 1862   1947   
Host:example.amazonaws.com
 1863         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1864   1948   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 1865   1949   
new file mode 100644
 1866   1950   
index 0000000..0468d80
 1867         -
-- /dev/null
        1951  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 1868   1952   
@@ -0,0 +1,12 @@
        1953  +
{
        1954  +
    "credentials": {
        1955  +
        "access_key_id": "AKIDEXAMPLE",
        1956  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1957  +
    },
        1958  +
    "expiration_in_seconds": 3600,
        1959  +
    "normalize": true,
        1960  +
    "region": "us-east-1",
        1961  +
    "service": "service",
        1962  +
    "sign_body": false,
        1963  +
    "timestamp": "2015-08-30T12:36:00Z"
        1964  +
}
              \
 No newline at end of file
 1869   1965   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 1870   1966   
similarity index 100%
 1871   1967   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.creq
 1872   1968   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 1873   1969   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 1874   1970   
new file mode 100644
 1875   1971   
index 0000000..d7f1c1c
 1876         -
-- /dev/null
        1972  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 1877   1973   
@@ -0,0 +1 @@
        1974  +
a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
 1878   1975   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 1879   1976   
new file mode 100644
 1880   1977   
index 0000000..1c60790
 1881         -
-- /dev/null
        1978  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 1882   1979   
@@ -0,0 +1,5 @@
        1980  +
GET /?Param1=value1 HTTP/1.1
        1981  +
Host:example.amazonaws.com
        1982  +
X-Amz-Date:20150830T123600Z
        1983  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
        1984  +
 1883   1985   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-string-to-sign.txt
 1884   1986   
similarity index 100%
 1885   1987   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.sts
 1886   1988   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-string-to-sign.txt
 1887   1989   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 1888   1990   
new file mode 100644
 1889   1991   
index 0000000..6a823ed
 1890         -
-- /dev/null
        1992  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 1891   1993   
@@ -0,0 +1,7 @@
        1994  +
GET
        1995  +
/
        1996  +
Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1997  +
host:example.amazonaws.com
        1998  +
        1999  +
host
        2000  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1892   2001   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 1893   2002   
new file mode 100644
 1894   2003   
index 0000000..8c77136
 1895         -
-- /dev/null
        2004  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 1896   2005   
@@ -0,0 +1 @@
        2006  +
49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de
              \
 No newline at end of file
 1897   2007   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 1898   2008   
new file mode 100644
 1899   2009   
index 0000000..2d337d8
 1900         -
-- /dev/null
        2010  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 1901   2011   
@@ -0,0 +1,3 @@
        2012  +
GET /?Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de HTTP/1.1
        2013  +
Host:example.amazonaws.com
        2014  +
 1902   2015   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 1903   2016   
new file mode 100644
 1904   2017   
index 0000000..191a484
 1905         -
-- /dev/null
        2018  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 1906   2019   
@@ -0,0 +1,4 @@
        2020  +
AWS4-HMAC-SHA256
        2021  +
20150830T123600Z
        2022  +
20150830/us-east-1/service/aws4_request
        2023  +
74828b608f939673ed5a839190452a943b0178760f258da766209b21f8ca3f86
              \
 No newline at end of file
 1907   2024   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 1908   2025   
similarity index 100%
 1909   2026   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt
 1910   2027   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 1911   2028   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 1912   2029   
new file mode 100644
 1913   2030   
index 0000000..0468d80
 1914         -
-- /dev/null
        2031  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 1915   2032   
@@ -0,0 +1,12 @@
        2033  +
{
        2034  +
    "credentials": {
        2035  +
        "access_key_id": "AKIDEXAMPLE",
        2036  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2037  +
    },
        2038  +
    "expiration_in_seconds": 3600,
        2039  +
    "normalize": true,
        2040  +
    "region": "us-east-1",
        2041  +
    "service": "service",
        2042  +
    "sign_body": false,
        2043  +
    "timestamp": "2015-08-30T12:36:00Z"
        2044  +
}
              \
 No newline at end of file
 1916   2045   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 1917   2046   
new file mode 100644
 1918   2047   
index 0000000..0c8ba21
 1919         -
-- /dev/null
        2048  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 1920   2049   
@@ -0,0 +1,8 @@
        2050  +
GET
        2051  +
/
        2052  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        2053  +
host:example.amazonaws.com
        2054  +
x-amz-date:20150830T123600Z
        2055  +
        2056  +
host;x-amz-date
        2057  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1921   2058   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 1922   2059   
new file mode 100644
 1923   2060   
index 0000000..9ab65ed
 1924         -
-- /dev/null
        2061  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 1925   2062   
@@ -0,0 +1 @@
        2063  +
371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
              \
 No newline at end of file
 1926   2064   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 1927   2065   
new file mode 100644
 1928   2066   
index 0000000..0bcdf98
 1929         -
-- /dev/null
        2067  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 1930   2068   
@@ -0,0 +1,5 @@
        2069  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2070  +
Host:example.amazonaws.com
        2071  +
X-Amz-Date:20150830T123600Z
        2072  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
        2073  +
 1931   2074   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 1932   2075   
new file mode 100644
 1933   2076   
index 0000000..bf674ad
 1934         -
-- /dev/null
        2077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 1935   2078   
@@ -0,0 +1,4 @@
        2079  +
AWS4-HMAC-SHA256
        2080  +
20150830T123600Z
        2081  +
20150830/us-east-1/service/aws4_request
        2082  +
868294f5c38bd141c4972a373a76654f1418a8e4fc18b2e7903ae45e8ae0ec71
              \
 No newline at end of file
 1936   2083   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 1937   2084   
new file mode 100644
 1938   2085   
index 0000000..3f590a4
 1939         -
-- /dev/null
        2086  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 1940   2087   
@@ -0,0 +1,7 @@
        2088  +
GET
        2089  +
/
        2090  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2091  +
host:example.amazonaws.com
        2092  +
        2093  +
host
        2094  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1941   2095   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 1942   2096   
new file mode 100644
 1943   2097   
index 0000000..e225eab
 1944         -
-- /dev/null
        2098  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 1945   2099   
@@ -0,0 +1 @@
        2100  +
c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787
              \
 No newline at end of file
 1946   2101   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 1947   2102   
new file mode 100644
 1948   2103   
index 0000000..6206719
 1949         -
-- /dev/null
        2104  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 1950   2105   
@@ -0,0 +1,3 @@
        2106  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787 HTTP/1.1
        2107  +
Host:example.amazonaws.com
        2108  +
 1951   2109   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 1952   2110   
new file mode 100644
 1953   2111   
index 0000000..81a4210
 1954         -
-- /dev/null
        2112  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 1955   2113   
@@ -0,0 +1,4 @@
        2114  +
AWS4-HMAC-SHA256
        2115  +
20150830T123600Z
        2116  +
20150830/us-east-1/service/aws4_request
        2117  +
9808d6cdc8245c74e705c68350fc6a62b91778cdd613890e5d177998c02c6f53
              \
 No newline at end of file
 1956   2118   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 1957   2119   
new file mode 100644
 1958   2120   
index 0000000..368c6e3
 1959         -
-- /dev/null
        2121  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 1960   2122   
@@ -0,0 +1,2 @@
        2123  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2124  +
Host:example.amazonaws.com
 1961   2125   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 1962   2126   
new file mode 100644
 1963   2127   
index 0000000..0468d80
 1964         -
-- /dev/null
        2128  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 1965   2129   
@@ -0,0 +1,12 @@
        2130  +
{
        2131  +
    "credentials": {
        2132  +
        "access_key_id": "AKIDEXAMPLE",
        2133  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2134  +
    },
        2135  +
    "expiration_in_seconds": 3600,
        2136  +
    "normalize": true,
        2137  +
    "region": "us-east-1",
        2138  +
    "service": "service",
        2139  +
    "sign_body": false,
        2140  +
    "timestamp": "2015-08-30T12:36:00Z"
        2141  +
}
              \
 No newline at end of file
 1966   2142   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-canonical-request.txt
 1967   2143   
similarity index 100%
 1968   2144   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.creq
 1969   2145   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-canonical-request.txt
 1970   2146   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 1971   2147   
new file mode 100644
 1972   2148   
index 0000000..6a8cb9d
 1973         -
-- /dev/null
        2149  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 1974   2150   
@@ -0,0 +1 @@
        2151  +
b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
 1975   2152   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 1976   2153   
new file mode 100644
 1977   2154   
index 0000000..f78a9d2
 1978         -
-- /dev/null
        2155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 1979   2156   
@@ -0,0 +1,5 @@
        2157  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        2158  +
Host:example.amazonaws.com
        2159  +
X-Amz-Date:20150830T123600Z
        2160  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
        2161  +
 1980   2162   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-string-to-sign.txt
 1981   2163   
similarity index 100%
 1982   2164   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.sts
 1983   2165   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-string-to-sign.txt
 1984   2166   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 1985   2167   
new file mode 100644
 1986   2168   
index 0000000..a6e1bc7
 1987         -
-- /dev/null
        2169  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 1988   2170   
@@ -0,0 +1,7 @@
        2171  +
GET
        2172  +
/
        2173  +
Param1=value1&Param2=value2&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2174  +
host:example.amazonaws.com
        2175  +
        2176  +
host
        2177  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1989   2178   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 1990   2179   
new file mode 100644
 1991   2180   
index 0000000..d6e6a88
 1992         -
-- /dev/null
        2181  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 1993   2182   
@@ -0,0 +1 @@
        2183  +
86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5
              \
 No newline at end of file
 1994   2184   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 1995   2185   
new file mode 100644
 1996   2186   
index 0000000..538e2f0
 1997         -
-- /dev/null
        2187  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 1998   2188   
@@ -0,0 +1,3 @@
        2189  +
GET /?Param2=value2&Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5 HTTP/1.1
        2190  +
Host:example.amazonaws.com
        2191  +
 1999   2192   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-string-to-sign.txt
 2000   2193   
new file mode 100644
 2001   2194   
index 0000000..e696085
 2002         -
-- /dev/null
        2195  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-string-to-sign.txt
 2003   2196   
@@ -0,0 +1,4 @@
        2197  +
AWS4-HMAC-SHA256
        2198  +
20150830T123600Z
        2199  +
20150830/us-east-1/service/aws4_request
        2200  +
b82878ecb2ab7ad194b9fe79b2946c2a36ee1627a219408089b2d774c1a0cedb
              \
 No newline at end of file
 2004   2201   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2005   2202   
similarity index 100%
 2006   2203   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt
 2007   2204   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2008   2205   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2009   2206   
new file mode 100644
 2010   2207   
index 0000000..0468d80
 2011         -
-- /dev/null
        2208  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2012   2209   
@@ -0,0 +1,12 @@
        2210  +
{
        2211  +
    "credentials": {
        2212  +
        "access_key_id": "AKIDEXAMPLE",
        2213  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2214  +
    },
        2215  +
    "expiration_in_seconds": 3600,
        2216  +
    "normalize": true,
        2217  +
    "region": "us-east-1",
        2218  +
    "service": "service",
        2219  +
    "sign_body": false,
        2220  +
    "timestamp": "2015-08-30T12:36:00Z"
        2221  +
}
              \
 No newline at end of file
 2013   2222   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2014   2223   
similarity index 100%
 2015   2224   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq
 2016   2225   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2017   2226   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2018   2227   
new file mode 100644
 2019   2228   
index 0000000..876a64b
 2020         -
-- /dev/null
        2229  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2021   2230   
@@ -0,0 +1 @@
        2231  +
9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
 2022   2232   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2023   2233   
similarity index 50%
 2024   2234   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
 2025   2235   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2026   2236   
index ba1ef40..9d0d993 100644
 2027         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
        2237  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2028   2238   
@@ -1,4 +1,5 @@
 2029   2239   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 2030   2240   
Host:example.amazonaws.com
 2031   2241   
X-Amz-Date:20150830T123600Z
 2032         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
        2242  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
        2243  +
 2033   2244   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2034   2245   
similarity index 100%
 2035   2246   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts
 2036   2247   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2037   2248   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2038   2249   
new file mode 100644
 2039   2250   
index 0000000..a1bac59
 2040         -
-- /dev/null
        2251  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2041   2252   
@@ -0,0 +1,7 @@
        2253  +
GET
        2254  +
/
        2255  +
-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2256  +
host:example.amazonaws.com
        2257  +
        2258  +
host
        2259  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2042   2260   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2043   2261   
new file mode 100644
 2044   2262   
index 0000000..41881e9
 2045         -
-- /dev/null
        2263  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2046   2264   
@@ -0,0 +1 @@
        2265  +
8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf
              \
 No newline at end of file
 2047   2266   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2048   2267   
new file mode 100644
 2049   2268   
index 0000000..3179076
 2050         -
-- /dev/null
        2269  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2051   2270   
@@ -0,0 +1,3 @@
        2271  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf HTTP/1.1
        2272  +
Host:example.amazonaws.com
        2273  +
 2052   2274   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2053   2275   
new file mode 100644
 2054   2276   
index 0000000..6d675fc
 2055         -
-- /dev/null
        2277  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2056   2278   
@@ -0,0 +1,4 @@
        2279  +
AWS4-HMAC-SHA256
        2280  +
20150830T123600Z
        2281  +
20150830/us-east-1/service/aws4_request
        2282  +
c77f27ef2b499fbfee3f0b3c88bba7057b2b31ee9b62047078a5e0d6be91fd58
              \
 No newline at end of file
 2057   2283   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2058   2284   
similarity index 100%
 2059   2285   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt
 2060   2286   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2061   2287   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2062   2288   
new file mode 100644
 2063   2289   
index 0000000..0468d80
 2064         -
-- /dev/null
        2290  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2065   2291   
@@ -0,0 +1,12 @@
        2292  +
{
        2293  +
    "credentials": {
        2294  +
        "access_key_id": "AKIDEXAMPLE",
        2295  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2296  +
    },
        2297  +
    "expiration_in_seconds": 3600,
        2298  +
    "normalize": true,
        2299  +
    "region": "us-east-1",
        2300  +
    "service": "service",
        2301  +
    "sign_body": false,
        2302  +
    "timestamp": "2015-08-30T12:36:00Z"
        2303  +
}
              \
 No newline at end of file
 2066   2304   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2067   2305   
similarity index 100%
 2068   2306   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.creq
 2069   2307   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2070   2308   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2071   2309   
new file mode 100644
 2072   2310   
index 0000000..87f295f
 2073         -
-- /dev/null
        2311  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2074   2312   
@@ -0,0 +1 @@
        2313  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2075   2314   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2076   2315   
new file mode 100644
 2077   2316   
index 0000000..36b86e7
 2078         -
-- /dev/null
        2317  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2079   2318   
@@ -0,0 +1,5 @@
        2319  +
GET / HTTP/1.1
        2320  +
Host:example.amazonaws.com
        2321  +
X-Amz-Date:20150830T123600Z
        2322  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2323  +
 2080   2324   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2081   2325   
similarity index 100%
 2082   2326   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sts
 2083   2327   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2084   2328   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2085   2329   
new file mode 100644
 2086   2330   
index 0000000..fb2420d
 2087         -
-- /dev/null
        2331  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2088   2332   
@@ -0,0 +1,7 @@
        2333  +
GET
        2334  +
/
        2335  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2336  +
host:example.amazonaws.com
        2337  +
        2338  +
host
        2339  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2089   2340   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2090   2341   
new file mode 100644
 2091   2342   
index 0000000..da5c905
 2092         -
-- /dev/null
        2343  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2093   2344   
@@ -0,0 +1 @@
        2345  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2094   2346   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2095   2347   
new file mode 100644
 2096   2348   
index 0000000..eeb7a8f
 2097         -
-- /dev/null
        2349  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2098   2350   
@@ -0,0 +1,3 @@
        2351  +
GET /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d HTTP/1.1
        2352  +
Host:example.amazonaws.com
        2353  +
 2099   2354   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2100   2355   
new file mode 100644
 2101   2356   
index 0000000..d837e67
 2102         -
-- /dev/null
        2357  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2103   2358   
@@ -0,0 +1,4 @@
        2359  +
AWS4-HMAC-SHA256
        2360  +
20150830T123600Z
        2361  +
20150830/us-east-1/service/aws4_request
        2362  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2104   2363   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2105   2364   
similarity index 100%
 2106   2365   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt
 2107   2366   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2108   2367   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2109   2368   
new file mode 100644
 2110   2369   
index 0000000..0468d80
 2111         -
-- /dev/null
        2370  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2112   2371   
@@ -0,0 +1,12 @@
        2372  +
{
        2373  +
    "credentials": {
        2374  +
        "access_key_id": "AKIDEXAMPLE",
        2375  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2376  +
    },
        2377  +
    "expiration_in_seconds": 3600,
        2378  +
    "normalize": true,
        2379  +
    "region": "us-east-1",
        2380  +
    "service": "service",
        2381  +
    "sign_body": false,
        2382  +
    "timestamp": "2015-08-30T12:36:00Z"
        2383  +
}
              \
 No newline at end of file
 2113   2384   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2114   2385   
similarity index 100%
 2115   2386   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq
 2116   2387   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2117   2388   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2118   2389   
new file mode 100644
 2119   2390   
index 0000000..19a2cc9
 2120         -
-- /dev/null
        2391  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2121   2392   
@@ -0,0 +1 @@
        2393  +
2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
 2122   2394   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2123   2395   
new file mode 100644
 2124   2396   
index 0000000..acb13ee
 2125         -
-- /dev/null
        2397  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2126   2398   
@@ -0,0 +1,5 @@
        2399  +
GET /?ሴ=bar HTTP/1.1
        2400  +
Host:example.amazonaws.com
        2401  +
X-Amz-Date:20150830T123600Z
        2402  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
        2403  +
 2127   2404   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2128   2405   
similarity index 100%
 2129   2406   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts
 2130   2407   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2131   2408   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2132   2409   
new file mode 100644
 2133   2410   
index 0000000..92cee62
 2134         -
-- /dev/null
        2411  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2135   2412   
@@ -0,0 +1,7 @@
        2413  +
GET
        2414  +
/
        2415  +
%E1%88%B4=bar&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2416  +
host:example.amazonaws.com
        2417  +
        2418  +
host
        2419  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2136   2420   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2137   2421   
new file mode 100644
 2138   2422   
index 0000000..c9e49de
 2139         -
-- /dev/null
        2423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2140   2424   
@@ -0,0 +1 @@
        2425  +
0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600
              \
 No newline at end of file
 2141   2426   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2142   2427   
new file mode 100644
 2143   2428   
index 0000000..8f4d8d0
 2144         -
-- /dev/null
        2429  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2145   2430   
@@ -0,0 +1,3 @@
        2431  +
GET /?ሴ=bar&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600 HTTP/1.1
        2432  +
Host:example.amazonaws.com
        2433  +
 2146   2434   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2147   2435   
new file mode 100644
 2148   2436   
index 0000000..a6181dc
 2149         -
-- /dev/null
        2437  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2150   2438   
@@ -0,0 +1,4 @@
        2439  +
AWS4-HMAC-SHA256
        2440  +
20150830T123600Z
        2441  +
20150830/us-east-1/service/aws4_request
        2442  +
b2e8ae8e48ec880defebc6f6dc1d9fbc9f1856b33146f2943060ca71a50a7a77
              \
 No newline at end of file
 2151   2443   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2152   2444   
similarity index 64%
 2153   2445   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
 2154   2446   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2155   2447   
index cc2757e..aff333a 100644
 2156         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
        2448  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2157   2449   
@@ -1,3 +1,2 @@
 2158   2450   
GET /?ሴ=bar HTTP/1.1
 2159   2451   
Host:example.amazonaws.com
 2160         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2161   2452   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2162   2453   
similarity index 99%
 2163   2454   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
 2164   2455   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2165   2456   
index a457c8a..a334e18 100644
 2166   2457   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2167   2458   
new file mode 100644
 2168   2459   
index 0000000..ccacdeb
 2169         -
-- /dev/null
        2460  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2170   2461   
@@ -0,0 +1,9 @@
        2462  +
GET
        2463  +
/
        2464  +
        2465  +
host:example.amazonaws.com
        2466  +
x-amz-date:20150830T123600Z
        2467  +
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2468  +
        2469  +
host;x-amz-date;x-amz-security-token
        2470  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2171   2471   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2172   2472   
new file mode 100644
 2173   2473   
index 0000000..083e30d
 2174         -
-- /dev/null
        2474  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2175   2475   
@@ -0,0 +1 @@
        2476  +
07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
              \
 No newline at end of file
 2176   2477   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2177   2478   
new file mode 100644
 2178   2479   
index 0000000..5287932
 2179         -
-- /dev/null
        2480  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2180   2481   
@@ -0,0 +1,6 @@
        2482  +
GET / HTTP/1.1
        2483  +
Host:example.amazonaws.com
        2484  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2485  +
X-Amz-Date:20150830T123600Z
        2486  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
        2487  +
 2181   2488   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2182   2489   
new file mode 100644
 2183   2490   
index 0000000..742b880
 2184         -
-- /dev/null
        2491  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2185   2492   
@@ -0,0 +1,4 @@
        2493  +
AWS4-HMAC-SHA256
        2494  +
20150830T123600Z
        2495  +
20150830/us-east-1/service/aws4_request
        2496  +
067b36aa60031588cea4a4cde1f21215227a047690c72247f1d70b32fbbfad2b
              \
 No newline at end of file
 2186   2497   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2187   2498   
new file mode 100644
 2188   2499   
index 0000000..5e75179
 2189         -
-- /dev/null
        2500  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2190   2501   
@@ -0,0 +1,7 @@
        2502  +
GET
        2503  +
/
        2504  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Security-Token=6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267&X-Amz-SignedHeaders=host
        2505  +
host:example.amazonaws.com
        2506  +
        2507  +
host
        2508  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2191   2509   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2192   2510   
new file mode 100644
 2193   2511   
index 0000000..50b947f
 2194         -
-- /dev/null
        2512  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2195   2513   
@@ -0,0 +1 @@
        2514  +
7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c
              \
 No newline at end of file
 2196   2515   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2197   2516   
new file mode 100644
 2198   2517   
index 0000000..aee910b
 2199         -
-- /dev/null
        2518  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2200   2519   
@@ -0,0 +1,3 @@
        2520  +
GET /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Security-Token=6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267&X-Amz-Signature=7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c HTTP/1.1
        2521  +
Host:example.amazonaws.com
        2522  +
 2201   2523   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2202   2524   
new file mode 100644
 2203   2525   
index 0000000..04a6c17
 2204         -
-- /dev/null
        2526  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2205   2527   
@@ -0,0 +1,4 @@
        2528  +
AWS4-HMAC-SHA256
        2529  +
20150830T123600Z
        2530  +
20150830/us-east-1/service/aws4_request
        2531  +
cb30434103085aa9e73780fc60dc9a9df818fd2a7b1de12a9f6f4d791f898761
              \
 No newline at end of file
 2206   2532   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2207   2533   
similarity index 100%
 2208   2534   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt
 2209   2535   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2210   2536   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2211   2537   
new file mode 100644
 2212   2538   
index 0000000..0468d80
 2213         -
-- /dev/null
        2539  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2214   2540   
@@ -0,0 +1,12 @@
        2541  +
{
        2542  +
    "credentials": {
        2543  +
        "access_key_id": "AKIDEXAMPLE",
        2544  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2545  +
    },
        2546  +
    "expiration_in_seconds": 3600,
        2547  +
    "normalize": true,
        2548  +
    "region": "us-east-1",
        2549  +
    "service": "service",
        2550  +
    "sign_body": false,
        2551  +
    "timestamp": "2015-08-30T12:36:00Z"
        2552  +
}
              \
 No newline at end of file
 2215   2553   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2216   2554   
similarity index 100%
 2217   2555   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq
 2218   2556   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2219   2557   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2220   2558   
new file mode 100644
 2221   2559   
index 0000000..87f295f
 2222         -
-- /dev/null
        2560  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2223   2561   
@@ -0,0 +1 @@
        2562  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2224   2563   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2225   2564   
new file mode 100644
 2226   2565   
index 0000000..36b86e7
 2227         -
-- /dev/null
        2566  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2228   2567   
@@ -0,0 +1,5 @@
        2568  +
GET / HTTP/1.1
        2569  +
Host:example.amazonaws.com
        2570  +
X-Amz-Date:20150830T123600Z
        2571  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2572  +
 2229   2573   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2230   2574   
similarity index 100%
 2231   2575   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts
 2232   2576   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2233   2577   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2234   2578   
new file mode 100644
 2235   2579   
index 0000000..fb2420d
 2236         -
-- /dev/null
        2580  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2237   2581   
@@ -0,0 +1,7 @@
        2582  +
GET
        2583  +
/
        2584  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2585  +
host:example.amazonaws.com
        2586  +
        2587  +
host
        2588  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2238   2589   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2239   2590   
new file mode 100644
 2240   2591   
index 0000000..da5c905
 2241         -
-- /dev/null
        2592  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2242   2593   
@@ -0,0 +1 @@
        2594  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2243   2595   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2244   2596   
new file mode 100644
 2245   2597   
index 0000000..eeb7a8f
 2246         -
-- /dev/null
        2598  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2247   2599   
@@ -0,0 +1,3 @@
        2600  +
GET /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d HTTP/1.1
        2601  +
Host:example.amazonaws.com
        2602  +
 2248   2603   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2249   2604   
new file mode 100644
 2250   2605   
index 0000000..d837e67
 2251         -
-- /dev/null
        2606  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2252   2607   
@@ -0,0 +1,4 @@
        2608  +
AWS4-HMAC-SHA256
        2609  +
20150830T123600Z
        2610  +
20150830/us-east-1/service/aws4_request
        2611  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2253   2612   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2254   2613   
similarity index 100%
 2255   2614   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt
 2256   2615   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2257   2616   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2258   2617   
new file mode 100644
 2259   2618   
index 0000000..0468d80
 2260         -
-- /dev/null
        2619  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2261   2620   
@@ -0,0 +1,12 @@
        2621  +
{
        2622  +
    "credentials": {
        2623  +
        "access_key_id": "AKIDEXAMPLE",
        2624  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2625  +
    },
        2626  +
    "expiration_in_seconds": 3600,
        2627  +
    "normalize": true,
        2628  +
    "region": "us-east-1",
        2629  +
    "service": "service",
        2630  +
    "sign_body": false,
        2631  +
    "timestamp": "2015-08-30T12:36:00Z"
        2632  +
}
              \
 No newline at end of file
 2262   2633   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2263   2634   
similarity index 100%
 2264   2635   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq
 2265   2636   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2266   2637   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2267   2638   
new file mode 100644
 2268   2639   
index 0000000..629487f
 2269         -
-- /dev/null
        2640  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2270   2641   
@@ -0,0 +1 @@
        2642  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2271   2643   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2272   2644   
new file mode 100644
 2273   2645   
index 0000000..0d99b1c
 2274         -
-- /dev/null
        2646  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2275   2647   
@@ -0,0 +1,5 @@
        2648  +
POST / HTTP/1.1
        2649  +
Host:example.amazonaws.com
        2650  +
X-Amz-Date:20150830T123600Z
        2651  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2652  +
 2276   2653   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2277   2654   
similarity index 100%
 2278   2655   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts
 2279   2656   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2280   2657   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2281   2658   
new file mode 100644
 2282   2659   
index 0000000..d3341e7
 2283         -
-- /dev/null
        2660  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2284   2661   
@@ -0,0 +1,7 @@
        2662  +
POST
        2663  +
/
        2664  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2665  +
host:example.amazonaws.com
        2666  +
        2667  +
host
        2668  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2285   2669   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2286   2670   
new file mode 100644
 2287   2671   
index 0000000..79f7e0d
 2288         -
-- /dev/null
        2672  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2289   2673   
@@ -0,0 +1 @@
        2674  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2290   2675   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2291   2676   
new file mode 100644
 2292   2677   
index 0000000..94f1b21
 2293         -
-- /dev/null
        2678  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2294   2679   
@@ -0,0 +1,3 @@
        2680  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b HTTP/1.1
        2681  +
Host:example.amazonaws.com
        2682  +
 2295   2683   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2296   2684   
new file mode 100644
 2297   2685   
index 0000000..e8f335b
 2298         -
-- /dev/null
        2686  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2299   2687   
@@ -0,0 +1,4 @@
        2688  +
AWS4-HMAC-SHA256
        2689  +
20150830T123600Z
        2690  +
20150830/us-east-1/service/aws4_request
        2691  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2300   2692   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2301   2693   
similarity index 100%
 2302   2694   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt
 2303   2695   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2304   2696   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2305   2697   
new file mode 100644
 2306   2698   
index 0000000..0468d80
 2307         -
-- /dev/null
        2699  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2308   2700   
@@ -0,0 +1,12 @@
        2701  +
{
        2702  +
    "credentials": {
        2703  +
        "access_key_id": "AKIDEXAMPLE",
        2704  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2705  +
    },
        2706  +
    "expiration_in_seconds": 3600,
        2707  +
    "normalize": true,
        2708  +
    "region": "us-east-1",
        2709  +
    "service": "service",
        2710  +
    "sign_body": false,
        2711  +
    "timestamp": "2015-08-30T12:36:00Z"
        2712  +
}
              \
 No newline at end of file
 2309   2713   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2310   2714   
similarity index 100%
 2311   2715   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq
 2312   2716   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2313   2717   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2314   2718   
new file mode 100644
 2315   2719   
index 0000000..e4e6428
 2316         -
-- /dev/null
        2720  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2317   2721   
@@ -0,0 +1 @@
        2722  +
c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
 2318   2723   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2319   2724   
new file mode 100644
 2320   2725   
index 0000000..e3778f5
 2321         -
-- /dev/null
        2726  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2322   2727   
@@ -0,0 +1,6 @@
        2728  +
POST / HTTP/1.1
        2729  +
Host:example.amazonaws.com
        2730  +
My-Header1:value1
        2731  +
X-Amz-Date:20150830T123600Z
        2732  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
        2733  +
 2323   2734   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2324   2735   
similarity index 100%
 2325   2736   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts
 2326   2737   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2327   2738   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2328   2739   
new file mode 100644
 2329   2740   
index 0000000..bd7c937
 2330         -
-- /dev/null
        2741  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2331   2742   
@@ -0,0 +1,8 @@
        2743  +
POST
        2744  +
/
        2745  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host%3Bmy-header1
        2746  +
host:example.amazonaws.com
        2747  +
my-header1:value1
        2748  +
        2749  +
host;my-header1
        2750  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2332   2751   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2333   2752   
new file mode 100644
 2334   2753   
index 0000000..0416f13
 2335         -
-- /dev/null
        2754  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2336   2755   
@@ -0,0 +1 @@
        2756  +
c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7
              \
 No newline at end of file
 2337   2757   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2338   2758   
new file mode 100644
 2339   2759   
index 0000000..5e6522f
 2340         -
-- /dev/null
        2760  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2341   2761   
@@ -0,0 +1,4 @@
        2762  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1&X-Amz-Expires=3600&X-Amz-Signature=c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7 HTTP/1.1
        2763  +
Host:example.amazonaws.com
        2764  +
My-Header1:value1
        2765  +
 2342   2766   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2343   2767   
new file mode 100644
 2344   2768   
index 0000000..d06d1df
 2345         -
-- /dev/null
        2769  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2346   2770   
@@ -0,0 +1,4 @@
        2771  +
AWS4-HMAC-SHA256
        2772  +
20150830T123600Z
        2773  +
20150830/us-east-1/service/aws4_request
        2774  +
1295ed77e4ef8b18b32815e493e0b0f78ee47615c0ecbebfec7c75709eb58c88
              \
 No newline at end of file
 2347   2775   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2348   2776   
similarity index 100%
 2349   2777   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt
 2350   2778   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2351   2779   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2352   2780   
new file mode 100644
 2353   2781   
index 0000000..0468d80
 2354         -
-- /dev/null
        2782  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2355   2783   
@@ -0,0 +1,12 @@
        2784  +
{
        2785  +
    "credentials": {
        2786  +
        "access_key_id": "AKIDEXAMPLE",
        2787  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2788  +
    },
        2789  +
    "expiration_in_seconds": 3600,
        2790  +
    "normalize": true,
        2791  +
    "region": "us-east-1",
        2792  +
    "service": "service",
        2793  +
    "sign_body": false,
        2794  +
    "timestamp": "2015-08-30T12:36:00Z"
        2795  +
}
              \
 No newline at end of file
 2356   2796   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2357   2797   
similarity index 100%
 2358   2798   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq
 2359   2799   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2360   2800   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2361   2801   
new file mode 100644
 2362   2802   
index 0000000..bb3809c
 2363         -
-- /dev/null
        2803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2364   2804   
@@ -0,0 +1 @@
        2805  +
cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
 2365   2806   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2366   2807   
new file mode 100644
 2367   2808   
index 0000000..10f6761
 2368         -
-- /dev/null
        2809  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2369   2810   
@@ -0,0 +1,6 @@
        2811  +
POST / HTTP/1.1
        2812  +
Host:example.amazonaws.com
        2813  +
My-Header1:VALUE1
        2814  +
X-Amz-Date:20150830T123600Z
        2815  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
        2816  +
 2370   2817   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2371   2818   
similarity index 100%
 2372   2819   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts
 2373   2820   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2374   2821   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2375   2822   
new file mode 100644
 2376   2823   
index 0000000..f84856f
 2377         -
-- /dev/null
        2824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2378   2825   
@@ -0,0 +1,8 @@
        2826  +
POST
        2827  +
/
        2828  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host%3Bmy-header1
        2829  +
host:example.amazonaws.com
        2830  +
my-header1:VALUE1
        2831  +
        2832  +
host;my-header1
        2833  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2379   2834   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2380   2835   
new file mode 100644
 2381   2836   
index 0000000..a9d3cac
 2382         -
-- /dev/null
        2837  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2383   2838   
@@ -0,0 +1 @@
        2839  +
0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed
              \
 No newline at end of file
 2384   2840   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2385   2841   
new file mode 100644
 2386   2842   
index 0000000..cf96c7c
 2387         -
-- /dev/null
        2843  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2388   2844   
@@ -0,0 +1,4 @@
        2845  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1&X-Amz-Expires=3600&X-Amz-Signature=0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed HTTP/1.1
        2846  +
Host:example.amazonaws.com
        2847  +
My-Header1:VALUE1
        2848  +
 2389   2849   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2390   2850   
new file mode 100644
 2391   2851   
index 0000000..47ef566
 2392         -
-- /dev/null
        2852  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2393   2853   
@@ -0,0 +1,4 @@
        2854  +
AWS4-HMAC-SHA256
        2855  +
20150830T123600Z
        2856  +
20150830/us-east-1/service/aws4_request
        2857  +
9d4d1de88f0149695a91a01275fc72dc00fb50bdc78e424f012ec860d5f8c41d
              \
 No newline at end of file
 2394   2858   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2395   2859   
similarity index 100%
 2396   2860   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt
 2397   2861   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2398   2862   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2399   2863   
similarity index 100%
 2400   2864   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json
 2401   2865   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2402   2866   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2403   2867   
similarity index 100%
 2404   2868   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.creq
 2405   2869   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2406   2870   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2407   2871   
new file mode 100644
 2408   2872   
index 0000000..629487f
 2409         -
-- /dev/null
        2873  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2410   2874   
@@ -0,0 +1 @@
        2875  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2411   2876   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2412   2877   
similarity index 67%
 2413   2878   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sreq
 2414   2879   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2415   2880   
index 291ed07..f96ff9e 100644
 2416         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sreq
        2881  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2417   2882   
@@ -1,5 +1,6 @@
 2418   2883   
POST / HTTP/1.1
 2419   2884   
Host:example.amazonaws.com
 2420         -
X-Amz-Date:20150830T123600Z
 2421   2885   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2422         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
        2886  +
X-Amz-Date:20150830T123600Z
        2887  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2888  +
 2423   2889   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2424   2890   
similarity index 100%
 2425   2891   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sts
 2426   2892   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2427   2893   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2428   2894   
new file mode 100644
 2429   2895   
index 0000000..d3341e7
 2430         -
-- /dev/null
        2896  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2431   2897   
@@ -0,0 +1,7 @@
        2898  +
POST
        2899  +
/
        2900  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2901  +
host:example.amazonaws.com
        2902  +
        2903  +
host
        2904  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2432   2905   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2433   2906   
new file mode 100644
 2434   2907   
index 0000000..79f7e0d
 2435         -
-- /dev/null
        2908  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2436   2909   
@@ -0,0 +1 @@
        2910  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2437   2911   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2438   2912   
new file mode 100644
 2439   2913   
index 0000000..4983268
 2440         -
-- /dev/null
        2914  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2441   2915   
@@ -0,0 +1,3 @@
        2916  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%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-Signature=2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b HTTP/1.1
        2917  +
Host:example.amazonaws.com
        2918  +
 2442   2919   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2443   2920   
new file mode 100644
 2444   2921   
index 0000000..e8f335b
 2445         -
-- /dev/null
        2922  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2446   2923   
@@ -0,0 +1,4 @@
        2924  +
AWS4-HMAC-SHA256
        2925  +
20150830T123600Z
        2926  +
20150830/us-east-1/service/aws4_request
        2927  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2447   2928   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2448   2929   
similarity index 100%
 2449   2930   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt
 2450   2931   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2451   2932   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2452   2933   
similarity index 100%
 2453   2934   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json
 2454   2935   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2455   2936   
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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2456   2937   
similarity index 100%
 2457   2938   
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.creq
 2458   2939   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2459   2940   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2460   2941   
new file mode 100644
 2461   2942   
index 0000000..85a7c29
 2462         -
-- /dev/null
        2943  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2463   2944   
@@ -0,0 +1 @@
        2945  +
85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
 2464   2946   
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.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2465   2947   
similarity index 65%
 2466   2948   
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.sreq
 2467   2949   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2468   2950   
index 37b2f04..4d0b143 100644
 2469         -
-- 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.sreq
        2951  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2470   2952   
@@ -1,5 +1,6 @@
 2471   2953   
POST / HTTP/1.1
 2472   2954   
Host:example.amazonaws.com
 2473         -
X-Amz-Date:20150830T123600Z
 2474   2955   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2475         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
        2956  +
X-Amz-Date:20150830T123600Z
        2957  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
        2958  +
 2476   2959   
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.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2477   2960   
similarity index 100%
 2478   2961   
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.sts
 2479   2962   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2480   2963   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2481   2964   
new file mode 100644
 2482   2965   
index 0000000..57a7bc3
 2483         -
-- /dev/null
        2966  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2484   2967   
@@ -0,0 +1,7 @@
        2968  +
POST
        2969  +
/
        2970  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&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-SignedHeaders=host
        2971  +
host:example.amazonaws.com
        2972  +
        2973  +
host
        2974  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2485   2975   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2486   2976   
new file mode 100644
 2487   2977   
index 0000000..eb905d2
 2488         -
-- /dev/null
        2978  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2489   2979   
@@ -0,0 +1 @@
        2980  +
46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c
              \
 No newline at end of file
 2490   2981   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2491   2982   
new file mode 100644
 2492   2983   
index 0000000..1d80ec0
 2493         -
-- /dev/null
        2984  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2494   2985   
@@ -0,0 +1,3 @@
        2986  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%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-Signature=46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c HTTP/1.1
        2987  +
Host:example.amazonaws.com
        2988  +
 2495   2989   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2496   2990   
new file mode 100644
 2497   2991   
index 0000000..bd0239a
 2498         -
-- /dev/null
        2992  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2499   2993   
@@ -0,0 +1,4 @@
        2994  +
AWS4-HMAC-SHA256
        2995  +
20150830T123600Z
        2996  +
20150830/us-east-1/service/aws4_request
        2997  +
37f7ba7a2ec89e8b29a0d637bcc70d8e8d0fdba854ddfc5bc06a12398cfe8605
              \
 No newline at end of file
 2500   2998   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2501   2999   
similarity index 100%
 2502   3000   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt
 2503   3001   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2504   3002   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2505   3003   
new file mode 100644
 2506   3004   
index 0000000..0468d80
 2507         -
-- /dev/null
        3005  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2508   3006   
@@ -0,0 +1,12 @@
        3007  +
{
        3008  +
    "credentials": {
        3009  +
        "access_key_id": "AKIDEXAMPLE",
        3010  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3011  +
    },
        3012  +
    "expiration_in_seconds": 3600,
        3013  +
    "normalize": true,
        3014  +
    "region": "us-east-1",
        3015  +
    "service": "service",
        3016  +
    "sign_body": false,
        3017  +
    "timestamp": "2015-08-30T12:36:00Z"
        3018  +
}
              \
 No newline at end of file
 2509   3019   
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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2510   3020   
similarity index 100%
 2511   3021   
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.creq
 2512   3022   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2513   3023   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2514   3024   
new file mode 100644
 2515   3025   
index 0000000..80ed433
 2516         -
-- /dev/null
        3026  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2517   3027   
@@ -0,0 +1 @@
        3028  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2518   3029   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2519   3030   
new file mode 100644
 2520   3031   
index 0000000..4e614f8
 2521         -
-- /dev/null
        3032  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2522   3033   
@@ -0,0 +1,5 @@
        3034  +
POST /?Param1=value1 HTTP/1.1
        3035  +
Host:example.amazonaws.com
        3036  +
X-Amz-Date:20150830T123600Z
        3037  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3038  +
 2523   3039   
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.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-string-to-sign.txt
 2524   3040   
similarity index 100%
 2525   3041   
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.sts
 2526   3042   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-string-to-sign.txt
 2527   3043   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2528   3044   
new file mode 100644
 2529   3045   
index 0000000..be66403
 2530         -
-- /dev/null
        3046  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2531   3047   
@@ -0,0 +1,7 @@
        3048  +
POST
        3049  +
/
        3050  +
Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        3051  +
host:example.amazonaws.com
        3052  +
        3053  +
host
        3054  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2532   3055   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2533   3056   
new file mode 100644
 2534   3057   
index 0000000..20fd32b
 2535         -
-- /dev/null
        3058  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2536   3059   
@@ -0,0 +1 @@
        3060  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2537   3061   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2538   3062   
new file mode 100644
 2539   3063   
index 0000000..d1148d0
 2540         -
-- /dev/null
        3064  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2541   3065   
@@ -0,0 +1,3 @@
        3066  +
POST /?Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682 HTTP/1.1
        3067  +
Host:example.amazonaws.com
        3068  +
 2542   3069   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2543   3070   
new file mode 100644
 2544   3071   
index 0000000..1a77103
 2545         -
-- /dev/null
        3072  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2546   3073   
@@ -0,0 +1,4 @@
        3074  +
AWS4-HMAC-SHA256
        3075  +
20150830T123600Z
        3076  +
20150830/us-east-1/service/aws4_request
        3077  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2547   3078   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2548   3079   
similarity index 100%
 2549   3080   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt
 2550   3081   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2551   3082   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2552   3083   
new file mode 100644
 2553   3084   
index 0000000..0468d80
 2554         -
-- /dev/null
        3085  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2555   3086   
@@ -0,0 +1,12 @@
        3087  +
{
        3088  +
    "credentials": {
        3089  +
        "access_key_id": "AKIDEXAMPLE",
        3090  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3091  +
    },
        3092  +
    "expiration_in_seconds": 3600,
        3093  +
    "normalize": true,
        3094  +
    "region": "us-east-1",
        3095  +
    "service": "service",
        3096  +
    "sign_body": false,
        3097  +
    "timestamp": "2015-08-30T12:36:00Z"
        3098  +
}
              \
 No newline at end of file
 2556   3099   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2557   3100   
similarity index 100%
 2558   3101   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq
 2559   3102   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2560   3103   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2561   3104   
new file mode 100644
 2562   3105   
index 0000000..80ed433
 2563         -
-- /dev/null
        3106  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2564   3107   
@@ -0,0 +1 @@
        3108  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2565   3109   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2566   3110   
new file mode 100644
 2567   3111   
index 0000000..4e614f8
 2568         -
-- /dev/null
        3112  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2569   3113   
@@ -0,0 +1,5 @@
        3114  +
POST /?Param1=value1 HTTP/1.1
        3115  +
Host:example.amazonaws.com
        3116  +
X-Amz-Date:20150830T123600Z
        3117  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3118  +
 2570   3119   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2571   3120   
similarity index 100%
 2572   3121   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts
 2573   3122   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2574   3123   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2575   3124   
new file mode 100644
 2576   3125   
index 0000000..be66403
 2577         -
-- /dev/null
        3126  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2578   3127   
@@ -0,0 +1,7 @@
        3128  +
POST
        3129  +
/
        3130  +
Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        3131  +
host:example.amazonaws.com
        3132  +
        3133  +
host
        3134  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2579   3135   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2580   3136   
new file mode 100644
 2581   3137   
index 0000000..20fd32b
 2582         -
-- /dev/null
        3138  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2583   3139   
@@ -0,0 +1 @@
        3140  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2584   3141   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2585   3142   
new file mode 100644
 2586   3143   
index 0000000..d1148d0
 2587         -
-- /dev/null
        3144  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2588   3145   
@@ -0,0 +1,3 @@
        3146  +
POST /?Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682 HTTP/1.1
        3147  +
Host:example.amazonaws.com
        3148  +
 2589   3149   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2590   3150   
new file mode 100644
 2591   3151   
index 0000000..1a77103
 2592         -
-- /dev/null
        3152  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2593   3153   
@@ -0,0 +1,4 @@
        3154  +
AWS4-HMAC-SHA256
        3155  +
20150830T123600Z
        3156  +
20150830/us-east-1/service/aws4_request
        3157  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2594   3158   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2595   3159   
similarity index 100%
 2596   3160   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt
 2597   3161   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2598   3162   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2599   3163   
new file mode 100644
 2600   3164   
index 0000000..0468d80
 2601         -
-- /dev/null
        3165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2602   3166   
@@ -0,0 +1,12 @@
        3167  +
{
        3168  +
    "credentials": {
        3169  +
        "access_key_id": "AKIDEXAMPLE",
        3170  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3171  +
    },
        3172  +
    "expiration_in_seconds": 3600,
        3173  +
    "normalize": true,
        3174  +
    "region": "us-east-1",
        3175  +
    "service": "service",
        3176  +
    "sign_body": false,
        3177  +
    "timestamp": "2015-08-30T12:36:00Z"
        3178  +
}
              \
 No newline at end of file
 2603   3179   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2604   3180   
similarity index 100%
 2605   3181   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq
 2606   3182   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2607   3183   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2608   3184   
new file mode 100644
 2609   3185   
index 0000000..629487f
 2610         -
-- /dev/null
        3186  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2611   3187   
@@ -0,0 +1 @@
        3188  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2612   3189   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2613   3190   
new file mode 100644
 2614   3191   
index 0000000..0d99b1c
 2615         -
-- /dev/null
        3192  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2616   3193   
@@ -0,0 +1,5 @@
        3194  +
POST / HTTP/1.1
        3195  +
Host:example.amazonaws.com
        3196  +
X-Amz-Date:20150830T123600Z
        3197  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3198  +
 2617   3199   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2618   3200   
similarity index 100%
 2619   3201   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts
 2620   3202   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2621   3203   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2622   3204   
new file mode 100644
 2623   3205   
index 0000000..d3341e7
 2624         -
-- /dev/null
        3206  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2625   3207   
@@ -0,0 +1,7 @@
        3208  +
POST
        3209  +
/
        3210  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        3211  +
host:example.amazonaws.com
        3212  +
        3213  +
host
        3214  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2626   3215   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2627   3216   
new file mode 100644
 2628   3217   
index 0000000..79f7e0d
 2629         -
-- /dev/null
        3218  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2630   3219   
@@ -0,0 +1 @@
        3220  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2631   3221   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2632   3222   
new file mode 100644
 2633   3223   
index 0000000..94f1b21
 2634         -
-- /dev/null
        3224  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2635   3225   
@@ -0,0 +1,3 @@
        3226  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b HTTP/1.1
        3227  +
Host:example.amazonaws.com
        3228  +
 2636   3229   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2637   3230   
new file mode 100644
 2638   3231   
index 0000000..e8f335b
 2639         -
-- /dev/null
        3232  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2640   3233   
@@ -0,0 +1,4 @@
        3234  +
AWS4-HMAC-SHA256
        3235  +
20150830T123600Z
        3236  +
20150830/us-east-1/service/aws4_request
        3237  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2641   3238   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2642   3239   
similarity index 100%
 2643   3240   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt
 2644   3241   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2645   3242   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2646   3243   
similarity index 99%
 2647   3244   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
 2648   3245   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2649   3246   
index fc4bce6..0db1df1 100644
 2650   3247   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2651   3248   
new file mode 100644
 2652   3249   
index 0000000..c218fdf
 2653         -
-- /dev/null
        3250  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2654   3251   
@@ -0,0 +1,11 @@
        3252  +
POST
        3253  +
/
        3254  +
        3255  +
content-length:13
        3256  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3257  +
host:example.amazonaws.com
        3258  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3259  +
x-amz-date:20150830T123600Z
        3260  +
        3261  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3262  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2655   3263   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2656   3264   
new file mode 100644
 2657   3265   
index 0000000..836aa8b
 2658         -
-- /dev/null
        3266  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2659   3267   
@@ -0,0 +1 @@
        3268  +
328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
              \
 No newline at end of file
 2660   3269   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2661   3270   
new file mode 100644
 2662   3271   
index 0000000..9262d53
 2663         -
-- /dev/null
        3272  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2664   3273   
@@ -0,0 +1,9 @@
        3274  +
POST / HTTP/1.1
        3275  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3276  +
Host:example.amazonaws.com
        3277  +
Content-Length:13
        3278  +
X-Amz-Date:20150830T123600Z
        3279  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3280  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date, Signature=328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
        3281  +
        3282  +
Param1=value1
              \
 No newline at end of file
 2665   3283   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-string-to-sign.txt
 2666   3284   
new file mode 100644
 2667   3285   
index 0000000..ddbdccc
 2668         -
-- /dev/null
        3286  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-string-to-sign.txt
 2669   3287   
@@ -0,0 +1,4 @@
        3288  +
AWS4-HMAC-SHA256
        3289  +
20150830T123600Z
        3290  +
20150830/us-east-1/service/aws4_request
        3291  +
a89f1a5b53e37702ee6363ce1da3ce8f54386f3c8f352ae652153c2982a0bc4d
              \
 No newline at end of file
 2670   3292   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 2671   3293   
new file mode 100644
 2672   3294   
index 0000000..596a579
 2673         -
-- /dev/null
        3295  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 2674   3296   
@@ -0,0 +1,9 @@
        3297  +
POST
        3298  +
/
        3299  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost
        3300  +
content-length:13
        3301  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3302  +
host:example.amazonaws.com
        3303  +
        3304  +
content-length;content-type;host
        3305  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2675   3306   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 2676   3307   
new file mode 100644
 2677   3308   
index 0000000..bc85cd8
 2678         -
-- /dev/null
        3309  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 2679   3310   
@@ -0,0 +1 @@
        3311  +
0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d
              \
 No newline at end of file
 2680   3312   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 2681   3313   
new file mode 100644
 2682   3314   
index 0000000..16b59e5
 2683         -
-- /dev/null
        3315  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 2684   3316   
@@ -0,0 +1,6 @@
        3317  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost&X-Amz-Expires=3600&X-Amz-Signature=0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d HTTP/1.1
        3318  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3319  +
Host:example.amazonaws.com
        3320  +
Content-Length:13
        3321  +
        3322  +
Param1=value1
              \
 No newline at end of file
 2685   3323   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-string-to-sign.txt
 2686   3324   
new file mode 100644
 2687   3325   
index 0000000..50074af
 2688         -
-- /dev/null
        3326  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-string-to-sign.txt
 2689   3327   
@@ -0,0 +1,4 @@
        3328  +
AWS4-HMAC-SHA256
        3329  +
20150830T123600Z
        3330  +
20150830/us-east-1/service/aws4_request
        3331  +
32192353b8ae6d857fac1c71cda066e6af2d3a3127ea7ac1fee22621ab4f05dc
              \
 No newline at end of file
 2690   3332   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 2691   3333   
similarity index 89%
 2692   3334   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
 2693   3335   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 2694   3336   
index b711c25..8289eaa 100644
 2695   3337   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 2696   3338   
similarity index 99%
 2697   3339   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
 2698   3340   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 2699   3341   
index fc4bce6..0db1df1 100644
 2700   3342   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 2701   3343   
new file mode 100644
 2702   3344   
index 0000000..4d116a5
 2703         -
-- /dev/null
        3345  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 2704   3346   
@@ -0,0 +1,11 @@
        3347  +
POST
        3348  +
/
        3349  +
        3350  +
content-length:13
        3351  +
content-type:application/x-www-form-urlencoded
        3352  +
host:example.amazonaws.com
        3353  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3354  +
x-amz-date:20150830T123600Z
        3355  +
        3356  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3357  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2705   3358   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 2706   3359   
new file mode 100644
 2707   3360   
index 0000000..0d2ac37
 2708         -
-- /dev/null
        3361  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 2709   3362   
@@ -0,0 +1 @@
        3363  +
d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
              \
 No newline at end of file
 2710   3364   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 2711   3365   
new file mode 100644
 2712   3366   
index 0000000..bd5e49c
 2713         -
-- /dev/null
        3367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 2714   3368   
@@ -0,0 +1,9 @@
        3369  +
POST / HTTP/1.1
        3370  +
Content-Type:application/x-www-form-urlencoded
        3371  +
Host:example.amazonaws.com
        3372  +
Content-Length:13
        3373  +
X-Amz-Date:20150830T123600Z
        3374  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3375  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date, Signature=d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
        3376  +
        3377  +
Param1=value1
              \
 No newline at end of file
 2715   3378   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 2716   3379   
new file mode 100644
 2717   3380   
index 0000000..f1c599c
 2718         -
-- /dev/null
        3381  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 2719   3382   
@@ -0,0 +1,4 @@
        3383  +
AWS4-HMAC-SHA256
        3384  +
20150830T123600Z
        3385  +
20150830/us-east-1/service/aws4_request
        3386  +
b1edd1d03544c25390e32085d55b57acc9a3961bb59415ff86c45c3d89d16cfb
              \
 No newline at end of file
 2720   3387   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 2721   3388   
new file mode 100644
 2722   3389   
index 0000000..1fc1bb7
 2723         -
-- /dev/null
        3390  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 2724   3391   
@@ -0,0 +1,9 @@
        3392  +
POST
        3393  +
/
        3394  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost
        3395  +
content-length:13
        3396  +
content-type:application/x-www-form-urlencoded
        3397  +
host:example.amazonaws.com
        3398  +
        3399  +
content-length;content-type;host
        3400  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2725   3401   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 2726   3402   
new file mode 100644
 2727   3403   
index 0000000..98c91b3
 2728         -
-- /dev/null
        3404  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 2729   3405   
@@ -0,0 +1 @@
        3406  +
89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9
              \
 No newline at end of file
 2730   3407   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 2731   3408   
new file mode 100644
 2732   3409   
index 0000000..055cd7a
 2733         -
-- /dev/null
        3410  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 2734   3411   
@@ -0,0 +1,6 @@
        3412  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost&X-Amz-Expires=3600&X-Amz-Signature=89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9 HTTP/1.1
        3413  +
Content-Type:application/x-www-form-urlencoded
        3414  +
Host:example.amazonaws.com
        3415  +
Content-Length:13
        3416  +
        3417  +
Param1=value1
              \
 No newline at end of file
 2735   3418   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 2736   3419   
new file mode 100644
 2737   3420   
index 0000000..db7fc27
 2738         -
-- /dev/null
        3421  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 2739   3422   
@@ -0,0 +1,4 @@
        3423  +
AWS4-HMAC-SHA256
        3424  +
20150830T123600Z
        3425  +
20150830/us-east-1/service/aws4_request
        3426  +
ee5059a7c437165a28d0e775e6498be428761255d657d8c04cb1baa41de6514c
              \
 No newline at end of file
 2740   3427   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 2741   3428   
similarity index 88%
 2742   3429   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
 2743   3430   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 2744   3431   
index 0091102..760b2d3 100644
 2745   3432   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 2746   3433   
new file mode 100644
 2747   3434   
index 0000000..0468d80
 2748         -
-- /dev/null
        3435  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 2749   3436   
@@ -0,0 +1,12 @@
        3437  +
{
        3438  +
    "credentials": {
        3439  +
        "access_key_id": "AKIDEXAMPLE",
        3440  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3441  +
    },
        3442  +
    "expiration_in_seconds": 3600,
        3443  +
    "normalize": true,
        3444  +
    "region": "us-east-1",
        3445  +
    "service": "service",
        3446  +
    "sign_body": false,
        3447  +
    "timestamp": "2015-08-30T12:36:00Z"
        3448  +
}
              \
 No newline at end of file
 2750   3449   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 2751   3450   
similarity index 99%
 2752   3451   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
 2753   3452   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 2754   3453   
index ccb5f43..1bc448e 100644
 2755   3454   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 2756   3455   
new file mode 100644
 2757   3456   
index 0000000..489c182
 2758         -
-- /dev/null
        3457  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 2759   3458   
@@ -0,0 +1 @@
        3459  +
304502204862ad283a21f883fc12f1156a6f3fcdbba13d1847e58aa5eb37c666477ea06b022100ee439fac0a975c9a6605b1fa44ad7b654a1f8ac6e868e4e1069a1b3aa35d8113
              \
 No newline at end of file
 2760   3460   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 2761   3461   
new file mode 100644
 2762   3462   
index 0000000..e1b8dbf
 2763         -
-- /dev/null
        3463  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 2764   3464   
@@ -0,0 +1,9 @@
        3465  +
GET / HTTP/1.1
        3466  +
Host:example.amazonaws.com
        3467  +
My-Header1:value2
        3468  +
My-Header1:value2
        3469  +
My-Header1:value1
        3470  +
X-Amz-Date:20150830T123600Z
        3471  +
X-Amz-Region-Set:us-east-1
        3472  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=30450220331da6dfebb0d19e5e161b1efa389ccb83cadb60bc71f6791ef71ac6054c44de0221008588b7d5c9f7a79ca9c02a02efbd0f540cda242a64ca1452aa914e050b517724
        3473  +
 2765   3474   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 2766   3475   
similarity index 99%
 2767   3476   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
 2768   3477   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 2769   3478   
index 8783461..bfc4619 100644
 2770   3479   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 2771   3480   
new file mode 100644
 2772   3481   
index 0000000..379dcb2
 2773         -
-- /dev/null
        3482  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 2774   3483   
@@ -0,0 +1,4 @@
        3484  +
{
        3485  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3486  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3487  +
}
 2775   3488   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 2776   3489   
similarity index 99%
 2777   3490   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
 2778   3491   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 2779   3492   
index 9561297..c05c3f5 100644
 2780   3493   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 2781   3494   
new file mode 100644
 2782   3495   
index 0000000..de9a4c3
 2783         -
-- /dev/null
        3496  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 2784   3497   
@@ -0,0 +1 @@
        3498  +
3045022100e1e03fa80218cb464404dc4badbdf443f5f5bb504840a2b3803565a28be0388d022063399d4fb8b974906e87a8d67bf7e95334d9dc620817ef92eb2bc6affb1c6a10
              \
 No newline at end of file
 2785   3499   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 2786   3500   
new file mode 100644
 2787   3501   
index 0000000..6c6b8c4
 2788         -
-- /dev/null
        3502  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 2789   3503   
@@ -0,0 +1,6 @@
        3504  +
GET /?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=3045022100b6fa5712e476c23f411995e85747f62e9a25bdd718aac8692b3744dba106e1720220331a1e84a25e69c1ef07e63b3b76e1e78100f2ee020a3e66f127240901468912 HTTP/1.1
        3505  +
Host:example.amazonaws.com
        3506  +
My-Header1:value2
        3507  +
My-Header1:value2
        3508  +
My-Header1:value1
        3509  +
 2790   3510   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 2791   3511   
similarity index 99%
 2792   3512   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
 2793   3513   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 2794   3514   
index 3140f6f..4eef106 100644
 2795   3515   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2796   3516   
similarity index 78%
 2797   3517   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
 2798   3518   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2799   3519   
index 08a0364..40455ce 100644
 2800         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
        3520  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2801   3521   
@@ -1,6 +1,5 @@
 2802   3522   
GET / HTTP/1.1
 2803   3523   
Host:example.amazonaws.com
 2804   3524   
My-Header1:value2
 2805   3525   
My-Header1:value2
 2806   3526   
My-Header1:value1
 2807         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2808   3527   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 2809   3528   
new file mode 100644
 2810   3529   
index 0000000..0468d80
 2811         -
-- /dev/null
        3530  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 2812   3531   
@@ -0,0 +1,12 @@
        3532  +
{
        3533  +
    "credentials": {
        3534  +
        "access_key_id": "AKIDEXAMPLE",
        3535  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3536  +
    },
        3537  +
    "expiration_in_seconds": 3600,
        3538  +
    "normalize": true,
        3539  +
    "region": "us-east-1",
        3540  +
    "service": "service",
        3541  +
    "sign_body": false,
        3542  +
    "timestamp": "2015-08-30T12:36:00Z"
        3543  +
}
              \
 No newline at end of file
 2813   3544   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 2814   3545   
new file mode 100644
 2815   3546   
index 0000000..69526cd
 2816         -
-- /dev/null
        3547  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 2817   3548   
@@ -0,0 +1,10 @@
        3549  +
GET
        3550  +
/
        3551  +
        3552  +
host:example.amazonaws.com
        3553  +
my-header1:value1 value2 value3
        3554  +
x-amz-date:20150830T123600Z
        3555  +
x-amz-region-set:us-east-1
        3556  +
        3557  +
host;my-header1;x-amz-date;x-amz-region-set
        3558  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2818   3559   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 2819   3560   
new file mode 100644
 2820   3561   
index 0000000..d51b4f3
 2821         -
-- /dev/null
        3562  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 2822   3563   
@@ -0,0 +1 @@
        3564  +
304502206a2d7c3572ebcb9a1f34e5fa744250c3fb2f403a0a7e4b0bc196286846a996a8022100d94aacba36ff453394df27966e9cccd7c6065457b6fe828aebe107307cc5e8e9
              \
 No newline at end of file
 2823   3565   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 2824   3566   
new file mode 100644
 2825   3567   
index 0000000..8131420
 2826         -
-- /dev/null
        3568  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 2827   3569   
@@ -0,0 +1,9 @@
        3570  +
GET / HTTP/1.1
        3571  +
Host:example.amazonaws.com
        3572  +
My-Header1:value1
        3573  +
  value2
        3574  +
     value3
        3575  +
X-Amz-Date:20150830T123600Z
        3576  +
X-Amz-Region-Set:us-east-1
        3577  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022060b9f2f480a395bf34aa42074697f923c2355e26970987461ce904a6a2eeef52022100fc7ef73838bbfba208a8cf8f3edbe1c8879be7853b677f492db93c30df6fbe02
        3578  +
 2828   3579   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 2829   3580   
new file mode 100644
 2830   3581   
index 0000000..e4d99fa
 2831         -
-- /dev/null
        3582  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 2832   3583   
@@ -0,0 +1,4 @@
        3584  +
AWS4-ECDSA-P256-SHA256
        3585  +
20150830T123600Z
        3586  +
20150830/service/aws4_request
        3587  +
3579d4751dd7db30860b89a17b53647c70fd8363ec485836dbf68cfd22313398
              \
 No newline at end of file
 2833   3588   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 2834   3589   
new file mode 100644
 2835   3590   
index 0000000..379dcb2
 2836         -
-- /dev/null
        3591  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 2837   3592   
@@ -0,0 +1,4 @@
        3593  +
{
        3594  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3595  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3596  +
}
 2838   3597   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 2839   3598   
new file mode 100644
 2840   3599   
index 0000000..3c4d52f
 2841         -
-- /dev/null
        3600  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 2842   3601   
@@ -0,0 +1,8 @@
        3602  +
GET
        3603  +
/
        3604  +
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=host%3Bmy-header1
        3605  +
host:example.amazonaws.com
        3606  +
my-header1:value1 value2 value3
        3607  +
        3608  +
host;my-header1
        3609  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2843   3610   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 2844   3611   
new file mode 100644
 2845   3612   
index 0000000..4e63f9a
 2846         -
-- /dev/null
        3613  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 2847   3614   
@@ -0,0 +1 @@
        3615  +
30450220159829015456fd111a27c4e0d6a555da894aefd23c96c5eb915b94bf6788499a022100fd48a0b97d1c32a11ee33873f87953a3ef410978f226b4a708acb9e582828fde
              \
 No newline at end of file
 2848   3616   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 2849   3617   
new file mode 100644
 2850   3618   
index 0000000..adf1f09
 2851         -
-- /dev/null
        3619  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 2852   3620   
@@ -0,0 +1,6 @@
        3621  +
GET /?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=3045022039c91f52792bd02ebcd8959326e022c60a8a7f4febed58dbea23cb295df8dc9e022100b95d4fcdd93090a54badb5ccb0ec5d38e7b20ff81204f48ceda327b9b155c14d HTTP/1.1
        3622  +
Host:example.amazonaws.com
        3623  +
My-Header1:value1
        3624  +
  value2
        3625  +
     value3
        3626  +
 2853   3627   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 2854   3628   
new file mode 100644
 2855   3629   
index 0000000..e085407
 2856         -
-- /dev/null
        3630  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 2857   3631   
@@ -0,0 +1,4 @@
        3632  +
AWS4-ECDSA-P256-SHA256
        3633  +
20150830T123600Z
        3634  +
20150830/service/aws4_request
        3635  +
960c3db8a6ce71c62c4bc13e5f2a72231a8f1a644d52e688ac1524ecd4b09643
              \
 No newline at end of file
 2858   3636   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 2859   3637   
new file mode 100644
 2860   3638   
index 0000000..b5026cd
 2861         -
-- /dev/null
        3639  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 2862   3640   
@@ -0,0 +1,5 @@
        3641  +
GET / HTTP/1.1
        3642  +
Host:example.amazonaws.com
        3643  +
My-Header1:value1
        3644  +
  value2
        3645  +
     value3
 2863   3646   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 2864   3647   
new file mode 100644
 2865   3648   
index 0000000..0468d80
 2866         -
-- /dev/null
        3649  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 2867   3650   
@@ -0,0 +1,12 @@
        3651  +
{
        3652  +
    "credentials": {
        3653  +
        "access_key_id": "AKIDEXAMPLE",
        3654  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3655  +
    },
        3656  +
    "expiration_in_seconds": 3600,
        3657  +
    "normalize": true,
        3658  +
    "region": "us-east-1",
        3659  +
    "service": "service",
        3660  +
    "sign_body": false,
        3661  +
    "timestamp": "2015-08-30T12:36:00Z"
        3662  +
}
              \
 No newline at end of file
 2868   3663   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 2869   3664   
similarity index 99%
 2870   3665   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
 2871   3666   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 2872   3667   
index 9375193..533afdb 100644
 2873   3668   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 2874   3669   
new file mode 100644
 2875   3670   
index 0000000..057b426
 2876         -
-- /dev/null
        3671  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 2877   3672   
@@ -0,0 +1 @@
        3673  +
3045022005e72f83b232f1fa01d7344267d44a46fa4c193bc3d0ad256e89f92a561eb8fa022100c62a85a22a6018463df69c97da07cd189185dadeede293c659e15514cd28a0c9
              \
 No newline at end of file
 2878   3674   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 2879   3675   
new file mode 100644
 2880   3676   
index 0000000..4e4ccf0
 2881         -
-- /dev/null
        3677  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 2882   3678   
@@ -0,0 +1,10 @@
        3679  +
GET / HTTP/1.1
        3680  +
Host:example.amazonaws.com
        3681  +
My-Header1:value4
        3682  +
My-Header1:value1
        3683  +
My-Header1:value3
        3684  +
My-Header1:value2
        3685  +
X-Amz-Date:20150830T123600Z
        3686  +
X-Amz-Region-Set:us-east-1
        3687  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=304402203410301a4cfc805996d0ac5305374d7cdff4e2564fcbd6f6cfed73b227966046022046e36b2ede1f78d2b68ea4534ae59da3de089e58f67ae08490411dfabd77f36e
        3688  +
 2883   3689   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 2884   3690   
similarity index 99%
 2885   3691   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
 2886   3692   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 2887   3693   
index 6400baf..e68c952 100644
 2888   3694   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 2889   3695   
new file mode 100644
 2890   3696   
index 0000000..379dcb2
 2891         -
-- /dev/null
        3697  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 2892   3698   
@@ -0,0 +1,4 @@
        3699  +
{
        3700  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3701  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3702  +
}
 2893   3703   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 2894   3704   
similarity index 99%
 2895   3705   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
 2896   3706   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 2897   3707   
index ecf494a..68450fe 100644
 2898   3708   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 2899   3709   
new file mode 100644
 2900   3710   
index 0000000..9df2eb3
 2901         -
-- /dev/null
        3711  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 2902   3712   
@@ -0,0 +1 @@
        3713  +
3045022044e0c722f2d02673c326d0ac38aae57e2877e158b700de702e5dd082be680f65022100841bb5007fb5ece1078add2bf38e84f1b7ea13e67b935d1fd021014eedee46a4
              \
 No newline at end of file
 2903   3714   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 2904   3715   
new file mode 100644
 2905   3716   
index 0000000..62f8cb7
 2906         -
-- /dev/null
        3717  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 2907   3718   
@@ -0,0 +1,7 @@
        3719  +
GET /?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=304402200c9f3470f63b573d7c7b8838d3acd8c527e4e5c3b990050c786f074107b12cf70220021b788568d7947e6ad6044e7cc6488dcdb4ff08f15e162ebd2537cc292ed168 HTTP/1.1
        3720  +
Host:example.amazonaws.com
        3721  +
My-Header1:value4
        3722  +
My-Header1:value1
        3723  +
My-Header1:value3
        3724  +
My-Header1:value2
        3725  +
 2908   3726   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 2909   3727   
similarity index 99%
 2910   3728   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
 2911   3729   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 2912   3730   
index b584179..2bcf7b1 100644
 2913   3731   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 2914   3732   
similarity index 80%
 2915   3733   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
 2916   3734   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 2917   3735   
index f7bd9e6..2c6f49d 100644
 2918         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
        3736  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 2919   3737   
@@ -1,7 +1,6 @@
 2920   3738   
GET / HTTP/1.1
 2921   3739   
Host:example.amazonaws.com
 2922   3740   
My-Header1:value4
 2923   3741   
My-Header1:value1
 2924   3742   
My-Header1:value3
 2925   3743   
My-Header1:value2
 2926         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2927   3744   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 2928   3745   
new file mode 100644
 2929   3746   
index 0000000..0468d80
 2930         -
-- /dev/null
        3747  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 2931   3748   
@@ -0,0 +1,12 @@
        3749  +
{
        3750  +
    "credentials": {
        3751  +
        "access_key_id": "AKIDEXAMPLE",
        3752  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3753  +
    },
        3754  +
    "expiration_in_seconds": 3600,
        3755  +
    "normalize": true,
        3756  +
    "region": "us-east-1",
        3757  +
    "service": "service",
        3758  +
    "sign_body": false,
        3759  +
    "timestamp": "2015-08-30T12:36:00Z"
        3760  +
}
              \
 No newline at end of file
 2932   3761   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 2933   3762   
similarity index 99%
 2934   3763   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
 2935   3764   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 2936   3765   
index e91e952..94b6be5 100644
 2937   3766   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 2938   3767   
new file mode 100644
 2939   3768   
index 0000000..bf8c3cb
 2940         -
-- /dev/null
        3769  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 2941   3770   
@@ -0,0 +1 @@
        3771  +
3046022100f05cfb8a9a49ee4540c49ed27e612ddd1a2d168512bad65a96cdf8378254a4bd022100a3eb663e6734125d467fc00d5a41dc6bf476ec167d5c20657ff3135c8b4f7815
              \
 No newline at end of file
 2942   3772   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 2943   3773   
new file mode 100644
 2944   3774   
index 0000000..f7f054d
 2945         -
-- /dev/null
        3775  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 2946   3776   
@@ -0,0 +1,8 @@
        3777  +
GET / HTTP/1.1
        3778  +
Host:example.amazonaws.com
        3779  +
My-Header1: value1
        3780  +
My-Header2: "a   b   c"
        3781  +
X-Amz-Date:20150830T123600Z
        3782  +
X-Amz-Region-Set:us-east-1
        3783  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date;x-amz-region-set, Signature=3046022100ce72c874a80cea45e3c5b7cbe76178f8577870e1f97ee1730f57cff45c3d398b022100e4ea7b870335abab5ca57fa740d20b3c5aba2739cf96dd7fa671fc11cf6c3341
        3784  +
 2947   3785   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 2948   3786   
similarity index 99%
 2949   3787   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
 2950   3788   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 2951   3789   
index 0e407d8..a2c9c05 100644
 2952   3790   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 2953   3791   
new file mode 100644
 2954   3792   
index 0000000..379dcb2
 2955         -
-- /dev/null
        3793  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 2956   3794   
@@ -0,0 +1,4 @@
        3795  +
{
        3796  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3797  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3798  +
}
 2957   3799   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 2958   3800   
similarity index 99%
 2959   3801   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
 2960   3802   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 2961   3803   
index 8a3b042..3a51150 100644
 2962   3804   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 2963   3805   
new file mode 100644
 2964   3806   
index 0000000..0033053
 2965         -
-- /dev/null
        3807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 2966   3808   
@@ -0,0 +1 @@
        3809  +
3045022100a765fa4e0a2c5d56292cc9aa654332858bcbb2af27b8c488157113f2c084776b02206145afa6dbb99993e499863fa36e592b94ddaeefbd778a473348204f26c15547
              \
 No newline at end of file
 2967   3810   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 2968   3811   
new file mode 100644
 2969   3812   
index 0000000..1537888
 2970         -
-- /dev/null
        3813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 2971   3814   
@@ -0,0 +1,5 @@
        3815  +
GET /?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%3Bmy-header2&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304502210085dc6b963562f7d443e0c35819c752a39ab744a6a8820ec4718a2aaf6d9acbae02202053d5ec6fcd892c09ce485b169b94590f805a05348ade664bbe3e06a7c62edb HTTP/1.1
        3816  +
Host:example.amazonaws.com
        3817  +
My-Header1: value1
        3818  +
My-Header2: "a   b   c"
        3819  +
 2972   3820   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 2973   3821   
similarity index 99%
 2974   3822   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
 2975   3823   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 2976   3824   
index 5eead25..633dc1f 100644
 2977   3825   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 2978   3826   
similarity index 75%
 2979   3827   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
 2980   3828   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 2981   3829   
index 901f36c..ad1ea98 100644
 2982         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
        3830  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 2983   3831   
@@ -1,5 +1,4 @@
 2984   3832   
GET / HTTP/1.1
 2985   3833   
Host:example.amazonaws.com
 2986   3834   
My-Header1: value1
 2987   3835   
My-Header2: "a   b   c"
 2988         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2989   3836   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 2990   3837   
new file mode 100644
 2991   3838   
index 0000000..0468d80
 2992         -
-- /dev/null
        3839  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 2993   3840   
@@ -0,0 +1,12 @@
        3841  +
{
        3842  +
    "credentials": {
        3843  +
        "access_key_id": "AKIDEXAMPLE",
        3844  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3845  +
    },
        3846  +
    "expiration_in_seconds": 3600,
        3847  +
    "normalize": true,
        3848  +
    "region": "us-east-1",
        3849  +
    "service": "service",
        3850  +
    "sign_body": false,
        3851  +
    "timestamp": "2015-08-30T12:36:00Z"
        3852  +
}
              \
 No newline at end of file
 2994   3853   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 2995   3854   
similarity index 99%
 2996   3855   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
 2997   3856   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 2998   3857   
index 47e7128..76db73d 100644
 2999   3858   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3000   3859   
new file mode 100644
 3001   3860   
index 0000000..cbd6ae2
 3002         -
-- /dev/null
        3861  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3003   3862   
@@ -0,0 +1 @@
        3863  +
3045022002e5e766e09de198957182589c9abe3e7ccd00a8fc6d7bbaf5f0a2c10660d16a022100e6b0835731cd5b72d5abb50e5821d90f5f713339697eb65cf40d34a3facfdbb8
              \
 No newline at end of file
 3004   3864   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3005   3865   
new file mode 100644
 3006   3866   
index 0000000..a343fcf
 3007         -
-- /dev/null
        3867  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3008   3868   
@@ -0,0 +1,6 @@
        3869  +
GET /example/.. HTTP/1.1
        3870  +
Host:example.amazonaws.com
        3871  +
X-Amz-Date:20150830T123600Z
        3872  +
X-Amz-Region-Set:us-east-1
        3873  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206ccd591952cdb4a0a002217788234c80eac520f890b0a6ea07b98044f08ba10e0220733126caf0347f7df89773f79b9fae2648ca786e67a7d88ec296d66452da4bec
        3874  +
 3009   3875   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3010   3876   
similarity index 99%
 3011   3877   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
 3012   3878   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3013   3879   
index 95d7219..600f1d8 100644
 3014   3880   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3015   3881   
new file mode 100644
 3016   3882   
index 0000000..379dcb2
 3017         -
-- /dev/null
        3883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3018   3884   
@@ -0,0 +1,4 @@
        3885  +
{
        3886  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3887  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3888  +
}
 3019   3889   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3020   3890   
similarity index 99%
 3021   3891   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
 3022   3892   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3023   3893   
index a34ea26..779c51c 100644
 3024   3894   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3025   3895   
new file mode 100644
 3026   3896   
index 0000000..3cc88e6
 3027         -
-- /dev/null
        3897  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3028   3898   
@@ -0,0 +1 @@
        3899  +
304402200ef7c6ac7bfaaddbf4df3a4b03ab2e4e24e992d305fa133ef0f6c826ad9850e602203ef21f22e239cd1971310c404c80d6e50c5cd06eae1452695ae762d1a9a51c90
              \
 No newline at end of file
 3029   3900   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3030   3901   
new file mode 100644
 3031   3902   
index 0000000..f68dde8
 3032         -
-- /dev/null
        3903  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3033   3904   
@@ -0,0 +1,3 @@
        3905  +
GET /example/..?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=3045022100be82e63cce1729590924a36bd6902036fe392d1b6196cffc2bf9620c8c5488b40220029a31d7cbb60816e40c0a00a53520db7d7928296b4236c2d0ada59c08b85bc4 HTTP/1.1
        3906  +
Host:example.amazonaws.com
        3907  +
 3034   3908   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3035   3909   
similarity index 99%
 3036   3910   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
 3037   3911   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3038   3912   
index 48f855c..6e29a7e 100644
 3039   3913   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3040   3914   
similarity index 65%
 3041   3915   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
 3042   3916   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3043   3917   
index 9d6d7ca..6aa9f99 100644
 3044         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
        3918  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3045   3919   
@@ -1,3 +1,2 @@
 3046   3920   
GET /example/.. HTTP/1.1
 3047   3921   
Host:example.amazonaws.com
 3048         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3049   3922   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3050   3923   
new file mode 100644
 3051   3924   
index 0000000..0468d80
 3052         -
-- /dev/null
        3925  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3053   3926   
@@ -0,0 +1,12 @@
        3927  +
{
        3928  +
    "credentials": {
        3929  +
        "access_key_id": "AKIDEXAMPLE",
        3930  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3931  +
    },
        3932  +
    "expiration_in_seconds": 3600,
        3933  +
    "normalize": true,
        3934  +
    "region": "us-east-1",
        3935  +
    "service": "service",
        3936  +
    "sign_body": false,
        3937  +
    "timestamp": "2015-08-30T12:36:00Z"
        3938  +
}
              \
 No newline at end of file
 3054   3939   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3055   3940   
similarity index 99%
 3056   3941   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
 3057   3942   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3058   3943   
index 47e7128..76db73d 100644
 3059   3944   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3060   3945   
new file mode 100644
 3061   3946   
index 0000000..f7a7ebe
 3062         -
-- /dev/null
        3947  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3063   3948   
@@ -0,0 +1 @@
        3949  +
3046022100ea029ea1e7b8715f67cd33b8536e013e53e9c7bcd109770f29a4a28767bb2212022100c95a298283c130266a4c8457590d8c047205b4aef9266b85deeb90e5c73e5caa
              \
 No newline at end of file
 3064   3950   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3065   3951   
new file mode 100644
 3066   3952   
index 0000000..9d2c50d
 3067         -
-- /dev/null
        3953  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3068   3954   
@@ -0,0 +1,6 @@
        3955  +
GET /example1/example2/../.. HTTP/1.1
        3956  +
Host:example.amazonaws.com
        3957  +
X-Amz-Date:20150830T123600Z
        3958  +
X-Amz-Region-Set:us-east-1
        3959  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203edb747d59fe32db47529b2e5e02c9276759b7c43ad9e36ff62d52b8dbeb00e3022007f99e8601938b893fe6dcbac9259fec2f3797b0e3d74fd66d59b09e83b8c1d4
        3960  +
 3069   3961   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3070   3962   
similarity index 99%
 3071   3963   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-string-to-sign.txt
 3072   3964   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3073   3965   
index 95d7219..600f1d8 100644
 3074   3966   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3075   3967   
new file mode 100644
 3076   3968   
index 0000000..379dcb2
 3077         -
-- /dev/null
        3969  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3078   3970   
@@ -0,0 +1,4 @@
        3971  +
{
        3972  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3973  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3974  +
}
 3079   3975   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3080   3976   
similarity index 99%
 3081   3977   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
 3082   3978   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3083   3979   
index a34ea26..779c51c 100644
 3084   3980   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3085   3981   
new file mode 100644
 3086   3982   
index 0000000..45ef286
 3087         -
-- /dev/null
        3983  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3088   3984   
@@ -0,0 +1 @@
        3985  +
304402200afc56cdc43e814e44408999f2fb2fe0f8992877345b09e402b28fb2063e4987022035cdba28f5462e9034f45fc5f879bd2305943f9a1830b0f7fbe6468658ba52c1
              \
 No newline at end of file
 3089   3986   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3090   3987   
new file mode 100644
 3091   3988   
index 0000000..0d16f66
 3092         -
-- /dev/null
        3989  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3093   3990   
@@ -0,0 +1,3 @@
        3991  +
GET /example1/example2/../..?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=304502202eec946a96e06beaaf22963e2051d0f9200ffdcbe9e179761a0c324142cd5291022100af3d0044ff5a67452342aa457aa7d5646f5f834a9458b147ba4152bb658f0727 HTTP/1.1
        3992  +
Host:example.amazonaws.com
        3993  +
 3094   3994   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3095   3995   
similarity index 99%
 3096   3996   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-string-to-sign.txt
 3097   3997   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3098   3998   
index 48f855c..6e29a7e 100644
 3099   3999   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3100   4000   
similarity index 70%
 3101   4001   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
 3102   4002   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3103   4003   
index cfd4e8b..a856c10 100644
 3104         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
        4004  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3105   4005   
@@ -1,3 +1,2 @@
 3106   4006   
GET /example1/example2/../.. HTTP/1.1
 3107   4007   
Host:example.amazonaws.com
 3108         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3109   4008   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3110   4009   
new file mode 100644
 3111   4010   
index 0000000..7bee5c7
 3112         -
-- /dev/null
        4011  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3113   4012   
@@ -0,0 +1,12 @@
        4013  +
{
        4014  +
    "credentials": {
        4015  +
        "access_key_id": "AKIDEXAMPLE",
        4016  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4017  +
    },
        4018  +
    "expiration_in_seconds": 3600,
        4019  +
    "normalize": false,
        4020  +
    "region": "us-east-1",
        4021  +
    "service": "service",
        4022  +
    "sign_body": false,
        4023  +
    "timestamp": "2015-08-30T12:36:00Z"
        4024  +
}
              \
 No newline at end of file
 3114   4025   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3115   4026   
similarity index 99%
 3116   4027   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
 3117   4028   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3118   4029   
index 5e1d1cf..e4e6d57 100644
 3119   4030   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3120   4031   
new file mode 100644
 3121   4032   
index 0000000..2d1b47c
 3122         -
-- /dev/null
        4033  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3123   4034   
@@ -0,0 +1 @@
        4035  +
30450221009bf86ef8b148904a938fcc5a050aa99cb99cb6a3436a62badfef1b82977d95c4022053e3c11e10fb302a2c39c253b066530404ee5fcca63bf962facd8d072817a69d
              \
 No newline at end of file
 3124   4036   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3125   4037   
new file mode 100644
 3126   4038   
index 0000000..7158179
 3127         -
-- /dev/null
        4039  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3128   4040   
@@ -0,0 +1,6 @@
        4041  +
GET /example1/example2/../.. HTTP/1.1
        4042  +
Host:example.amazonaws.com
        4043  +
X-Amz-Date:20150830T123600Z
        4044  +
X-Amz-Region-Set:us-east-1
        4045  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402205651d45d4f377407303dba0775405efa77683821adff20c0256b94d10710de5b022053fa72420652c55327876c5105da6770cb482f55533e1b0bd7d15fa75f570e46
        4046  +
 3129   4047   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3130   4048   
similarity index 99%
 3131   4049   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
 3132   4050   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3133   4051   
index 1cca6cf..db60c8e 100644
 3134   4052   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3135   4053   
new file mode 100644
 3136   4054   
index 0000000..379dcb2
 3137         -
-- /dev/null
        4055  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3138   4056   
@@ -0,0 +1,4 @@
        4057  +
{
        4058  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4059  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4060  +
}
 3139   4061   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3140   4062   
similarity index 99%
 3141   4063   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
 3142   4064   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3143   4065   
index 95dc104..0d963ba 100644
 3144   4066   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3145   4067   
new file mode 100644
 3146   4068   
index 0000000..ae774e4
 3147         -
-- /dev/null
        4069  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3148   4070   
@@ -0,0 +1 @@
        4071  +
3046022100a11cd4cae39a6b3553651f9c6360898278d90a3cb8f736184ff6bdb8564decbc022100d86a34623cc34890750a7fe8a30948638f6dace0e558c3ff82a0cf6256067503
              \
 No newline at end of file
 3149   4072   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3150   4073   
new file mode 100644
 3151   4074   
index 0000000..be6b86e
 3152         -
-- /dev/null
        4075  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3153   4076   
@@ -0,0 +1,3 @@
        4077  +
GET /example1/example2/../..?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=3046022100dfbb77a9369c87af1e00ef8b4da3761849080372576a86e0d1ae0363b135f8f6022100fac80ba02cc33852349f6b19b8fc066724557186b1efe82421e73fb85bfbddef HTTP/1.1
        4078  +
Host:example.amazonaws.com
        4079  +
 3154   4080   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3155   4081   
similarity index 99%
 3156   4082   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
 3157   4083   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3158   4084   
index 50edce6..fcc70cd 100644
 3159   4085   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3160   4086   
new file mode 100644
 3161   4087   
index 0000000..a856c10
 3162         -
-- /dev/null
        4088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3163   4089   
@@ -0,0 +1,2 @@
        4090  +
GET /example1/example2/../.. HTTP/1.1
        4091  +
Host:example.amazonaws.com
 3164   4092   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3165   4093   
new file mode 100644
 3166   4094   
index 0000000..7bee5c7
 3167         -
-- /dev/null
        4095  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3168   4096   
@@ -0,0 +1,12 @@
        4097  +
{
        4098  +
    "credentials": {
        4099  +
        "access_key_id": "AKIDEXAMPLE",
        4100  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4101  +
    },
        4102  +
    "expiration_in_seconds": 3600,
        4103  +
    "normalize": false,
        4104  +
    "region": "us-east-1",
        4105  +
    "service": "service",
        4106  +
    "sign_body": false,
        4107  +
    "timestamp": "2015-08-30T12:36:00Z"
        4108  +
}
              \
 No newline at end of file
 3169   4109   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3170   4110   
similarity index 99%
 3171   4111   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
 3172   4112   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3173   4113   
index d6a0abe..22def1a 100644
 3174   4114   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3175   4115   
new file mode 100644
 3176   4116   
index 0000000..9251bad
 3177         -
-- /dev/null
        4117  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3178   4118   
@@ -0,0 +1 @@
        4119  +
3045022100a85167a37a2c6aea42ef9dcb0dcaeaf85ca4ef1a4d8ffea5be550dbd4573471902202193760e5e6bb1ee4aff836769b9739f4563e06749bcaa7553ec1d1377aa5a6d
              \
 No newline at end of file
 3179   4120   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3180   4121   
new file mode 100644
 3181   4122   
index 0000000..f1bb60f
 3182         -
-- /dev/null
        4123  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3183   4124   
@@ -0,0 +1,6 @@
        4125  +
GET /example/.. HTTP/1.1
        4126  +
Host:example.amazonaws.com
        4127  +
X-Amz-Date:20150830T123600Z
        4128  +
X-Amz-Region-Set:us-east-1
        4129  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402201430c834d8a89aca13ebd785da338950559f71ab29f1b7d7b4ad6b090de1a09702206c8d6089b75105d6fc5df5374bbb8abbc33b78951c95b90f9f6c25a657b58ce6
        4130  +
 3184   4131   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3185   4132   
similarity index 99%
 3186   4133   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
 3187   4134   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3188   4135   
index 4a34e93..5673a20 100644
 3189   4136   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3190   4137   
new file mode 100644
 3191   4138   
index 0000000..379dcb2
 3192         -
-- /dev/null
        4139  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3193   4140   
@@ -0,0 +1,4 @@
        4141  +
{
        4142  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4143  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4144  +
}
 3194   4145   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3195   4146   
similarity index 99%
 3196   4147   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
 3197   4148   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3198   4149   
index b1d123e..a1c22e0 100644
 3199   4150   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3200   4151   
new file mode 100644
 3201   4152   
index 0000000..9f0f686
 3202         -
-- /dev/null
        4153  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3203   4154   
@@ -0,0 +1 @@
        4155  +
3045022074d05647e395d4bf3d751953c7242ee27dd16fbae3f604a272d3acc3d72ba5fb022100ddccd95ac05f60f10d5e95c5847b49018bbfa1084361bf338964408cc2162fff
              \
 No newline at end of file
 3204   4156   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3205   4157   
new file mode 100644
 3206   4158   
index 0000000..d1d451a
 3207         -
-- /dev/null
        4159  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3208   4160   
@@ -0,0 +1,3 @@
        4161  +
GET /example/..?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=3045022029b3d53b5fdc8a5c0f769c2cf41221d06b6f88e941e92e11c47009b2f768908c022100b979fc4142576a3328bf28172fcd71d47556f06d90a55a2f19c7b0f9b946c7f2 HTTP/1.1
        4162  +
Host:example.amazonaws.com
        4163  +
 3209   4164   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3210   4165   
similarity index 99%
 3211   4166   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
 3212   4167   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3213   4168   
index a17f5ab..81b41e8 100644
 3214   4169   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3215   4170   
new file mode 100644
 3216   4171   
index 0000000..6aa9f99
 3217         -
-- /dev/null
        4172  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3218   4173   
@@ -0,0 +1,2 @@
        4174  +
GET /example/.. HTTP/1.1
        4175  +
Host:example.amazonaws.com
 3219   4176   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3220   4177   
new file mode 100644
 3221   4178   
index 0000000..0468d80
 3222         -
-- /dev/null
        4179  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3223   4180   
@@ -0,0 +1,12 @@
        4181  +
{
        4182  +
    "credentials": {
        4183  +
        "access_key_id": "AKIDEXAMPLE",
        4184  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4185  +
    },
        4186  +
    "expiration_in_seconds": 3600,
        4187  +
    "normalize": true,
        4188  +
    "region": "us-east-1",
        4189  +
    "service": "service",
        4190  +
    "sign_body": false,
        4191  +
    "timestamp": "2015-08-30T12:36:00Z"
        4192  +
}
              \
 No newline at end of file
 3224   4193   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3225   4194   
similarity index 99%
 3226   4195   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
 3227   4196   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3228   4197   
index 47e7128..76db73d 100644
 3229   4198   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3230   4199   
new file mode 100644
 3231   4200   
index 0000000..ca6e84e
 3232         -
-- /dev/null
        4201  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3233   4202   
@@ -0,0 +1 @@
        4203  +
3045022100e8ed39e8b964e06162ab1cddbff57c449a9b72e2d052a7a3e12a116ae30185ee022003e6eb0fddbaa586225b26877ab145e05a08ac418ef7c966e5daef258b70cbfc
              \
 No newline at end of file
 3234   4204   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3235   4205   
new file mode 100644
 3236   4206   
index 0000000..a7c764c
 3237         -
-- /dev/null
        4207  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3238   4208   
@@ -0,0 +1,6 @@
        4209  +
GET /./ HTTP/1.1
        4210  +
Host:example.amazonaws.com
        4211  +
X-Amz-Date:20150830T123600Z
        4212  +
X-Amz-Region-Set:us-east-1
        4213  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207665172b8612dbbd2c1f3c722c52b7b8dac2cdc5203d86252e21d9610018b153022100c548f3f0c23beeb388f8c8138ce1e883e2cdf2be1d7c5d7c15d4e565bfd6b0dd
        4214  +
 3239   4215   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-string-to-sign.txt
 3240   4216   
similarity index 99%
 3241   4217   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
 3242   4218   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-string-to-sign.txt
 3243   4219   
index 95d7219..600f1d8 100644
 3244   4220   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3245   4221   
new file mode 100644
 3246   4222   
index 0000000..379dcb2
 3247         -
-- /dev/null
        4223  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3248   4224   
@@ -0,0 +1,4 @@
        4225  +
{
        4226  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4227  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4228  +
}
 3249   4229   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3250   4230   
similarity index 99%
 3251   4231   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
 3252   4232   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3253   4233   
index a34ea26..779c51c 100644
 3254   4234   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3255   4235   
new file mode 100644
 3256   4236   
index 0000000..4b6ed09
 3257         -
-- /dev/null
        4237  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3258   4238   
@@ -0,0 +1 @@
        4239  +
3046022100ea775dcca84dbada39eb9e7d55183c31d7294d1826d965c2ade1730bd20ac7cb022100aaab5325eed9bb3f93814af0fd0170893cbeeff052d0bb554f91a394fd2f5135
              \
 No newline at end of file
 3259   4240   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3260   4241   
new file mode 100644
 3261   4242   
index 0000000..d6c7176
 3262         -
-- /dev/null
        4243  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3263   4244   
@@ -0,0 +1,3 @@
        4245  +
GET /./?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=3046022100d44a1214b0389964d48bf1ea73df6649f6dbd213421986ce9c2fae6397c9a866022100e54a0895ed71289a7b38282fbbf57ab4bdf6558bec6bff5b05c0d2b1a4f9b7e2 HTTP/1.1
        4246  +
Host:example.amazonaws.com
        4247  +
 3264   4248   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-string-to-sign.txt
 3265   4249   
similarity index 99%
 3266   4250   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
 3267   4251   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-string-to-sign.txt
 3268   4252   
index 48f855c..6e29a7e 100644
 3269   4253   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3270   4254   
similarity index 61%
 3271   4255   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.req
 3272   4256   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3273   4257   
index f3537b7..2c5ff38 100644
 3274         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.req
        4258  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3275   4259   
@@ -1,3 +1,2 @@
 3276   4260   
GET /./ HTTP/1.1
 3277   4261   
Host:example.amazonaws.com
 3278         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3279   4262   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3280   4263   
new file mode 100644
 3281   4264   
index 0000000..7bee5c7
 3282         -
-- /dev/null
        4265  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3283   4266   
@@ -0,0 +1,12 @@
        4267  +
{
        4268  +
    "credentials": {
        4269  +
        "access_key_id": "AKIDEXAMPLE",
        4270  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4271  +
    },
        4272  +
    "expiration_in_seconds": 3600,
        4273  +
    "normalize": false,
        4274  +
    "region": "us-east-1",
        4275  +
    "service": "service",
        4276  +
    "sign_body": false,
        4277  +
    "timestamp": "2015-08-30T12:36:00Z"
        4278  +
}
              \
 No newline at end of file
 3284   4279   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3285   4280   
similarity index 99%
 3286   4281   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3287   4282   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3288   4283   
index d05303d..9257ac4 100644
 3289   4284   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3290   4285   
new file mode 100644
 3291   4286   
index 0000000..2eb1aa5
 3292         -
-- /dev/null
        4287  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3293   4288   
@@ -0,0 +1 @@
        4289  +
30450220430660fe6e8e04ee055a2c56476dcf95c00b3efca267823134664f90a23fdc0f022100f188106c83e13a89e6a487f24d23522520f7a15c40e3aacd0c32284da42c2f5a
              \
 No newline at end of file
 3294   4290   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3295   4291   
new file mode 100644
 3296   4292   
index 0000000..df3b1da
 3297         -
-- /dev/null
        4293  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3298   4294   
@@ -0,0 +1,6 @@
        4295  +
GET /./ HTTP/1.1
        4296  +
Host:example.amazonaws.com
        4297  +
X-Amz-Date:20150830T123600Z
        4298  +
X-Amz-Region-Set:us-east-1
        4299  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022049aaa02168ac9666a94f42238be0a02a7a244b74d6e16bdf64aac7ce8e21e44d02206b9be50186bdd4ee9191c0dd5ccff7e990365bb3b56430653f6fa49a68dbf596
        4300  +
 3299   4301   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 3300   4302   
similarity index 99%
 3301   4303   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 3302   4304   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 3303   4305   
index e1bfb39..754b3ed 100644
 3304   4306   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3305   4307   
new file mode 100644
 3306   4308   
index 0000000..379dcb2
 3307         -
-- /dev/null
        4309  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3308   4310   
@@ -0,0 +1,4 @@
        4311  +
{
        4312  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4313  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4314  +
}
 3309   4315   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3310   4316   
similarity index 99%
 3311   4317   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3312   4318   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3313   4319   
index f048d0f..c8edce3 100644
 3314   4320   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3315   4321   
new file mode 100644
 3316   4322   
index 0000000..d3af3b8
 3317         -
-- /dev/null
        4323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3318   4324   
@@ -0,0 +1 @@
        4325  +
304402207999228e5213710741e030ffa7dfa83ce3676384c5df044431bc854488a08abd0220248ff8a956bbcbc641c0ec4a7853774f44112b1571f861fc5aebf78282fd7e63
              \
 No newline at end of file
 3319   4326   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3320   4327   
new file mode 100644
 3321   4328   
index 0000000..eb38155
 3322         -
-- /dev/null
        4329  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3323   4330   
@@ -0,0 +1,3 @@
        4331  +
GET /./?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=304502210089daa43b189bd9fba8fc67a3b03b4dce6e29e0aff0bd40a6ce7df7e0c8f890e1022016592a48b323a176064eecf203863be8e3de057d3ff0d7736c121a9cf88ccb85 HTTP/1.1
        4332  +
Host:example.amazonaws.com
        4333  +
 3324   4334   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 3325   4335   
similarity index 99%
 3326   4336   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 3327   4337   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 3328   4338   
index bfcf245..4f20b8f 100644
 3329   4339   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3330   4340   
new file mode 100644
 3331   4341   
index 0000000..2c5ff38
 3332         -
-- /dev/null
        4342  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3333   4343   
@@ -0,0 +1,2 @@
        4344  +
GET /./ HTTP/1.1
        4345  +
Host:example.amazonaws.com
 3334   4346   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3335   4347   
new file mode 100644
 3336   4348   
index 0000000..0468d80
 3337         -
-- /dev/null
        4349  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3338   4350   
@@ -0,0 +1,12 @@
        4351  +
{
        4352  +
    "credentials": {
        4353  +
        "access_key_id": "AKIDEXAMPLE",
        4354  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4355  +
    },
        4356  +
    "expiration_in_seconds": 3600,
        4357  +
    "normalize": true,
        4358  +
    "region": "us-east-1",
        4359  +
    "service": "service",
        4360  +
    "sign_body": false,
        4361  +
    "timestamp": "2015-08-30T12:36:00Z"
        4362  +
}
              \
 No newline at end of file
 3339   4363   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3340   4364   
similarity index 99%
 3341   4365   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
 3342   4366   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3343   4367   
index 47e7128..76db73d 100644
 3344   4368   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 3345   4369   
new file mode 100644
 3346   4370   
index 0000000..0c049ca
 3347         -
-- /dev/null
        4371  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 3348   4372   
@@ -0,0 +1 @@
        4373  +
304602210084a7310186a866f81dbe8e546f6931dd7c61586d30664d5c11f5904836f72cfd022100c7d80abdccceb1cbcdbbda8b4f3f0ae1ac6229dce800b21ba8298c582fa96a1c
              \
 No newline at end of file
 3349   4374   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 3350   4375   
new file mode 100644
 3351   4376   
index 0000000..f4bb1e1
 3352         -
-- /dev/null
        4377  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 3353   4378   
@@ -0,0 +1,6 @@
        4379  +
GET // HTTP/1.1
        4380  +
Host:example.amazonaws.com
        4381  +
X-Amz-Date:20150830T123600Z
        4382  +
X-Amz-Region-Set:us-east-1
        4383  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207c7fe2e91cdbe4529569d58fc3727507375cff81a56cfa26b387895ab6cdbb25022100d38e283efa5ff27d88f10e7367493b1dc49050ba9474531e4acb3ee30fac3739
        4384  +
 3354   4385   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3355   4386   
similarity index 99%
 3356   4387   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
 3357   4388   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3358   4389   
index 95d7219..600f1d8 100644
 3359   4390   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 3360   4391   
new file mode 100644
 3361   4392   
index 0000000..379dcb2
 3362         -
-- /dev/null
        4393  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 3363   4394   
@@ -0,0 +1,4 @@
        4395  +
{
        4396  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4397  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4398  +
}
 3364   4399   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3365   4400   
similarity index 99%
 3366   4401   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
 3367   4402   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3368   4403   
index a34ea26..779c51c 100644
 3369   4404   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 3370   4405   
new file mode 100644
 3371   4406   
index 0000000..ca52293
 3372         -
-- /dev/null
        4407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 3373   4408   
@@ -0,0 +1 @@
        4409  +
3045022100b1c08ec4e9a6313f2de7bd8ce726845ea7a3cc636a21ab7258a3067836a6601b02206b76d7a9845bfb683eb30d126a1dc4657e8b64762d4bfb976da9fa132c4a9bd7
              \
 No newline at end of file
 3374   4410   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 3375   4411   
new file mode 100644
 3376   4412   
index 0000000..4a212a9
 3377         -
-- /dev/null
        4413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 3378   4414   
@@ -0,0 +1,3 @@
        4415  +
GET //?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=304402207e412e67f6164f6f3bdae2cc5af21bc5747106274a61a531b61275846a81a4f6022036260958080b0447f67df63ba3dbda6fe97dbffe54073491dc884ae4da43c83e HTTP/1.1
        4416  +
Host:example.amazonaws.com
        4417  +
 3379   4418   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 3380   4419   
similarity index 99%
 3381   4420   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
 3382   4421   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 3383   4422   
index 48f855c..6e29a7e 100644
 3384   4423   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3385   4424   
similarity index 61%
 3386   4425   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
 3387   4426   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3388   4427   
index ede8e3c..25bc21e 100644
 3389         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
        4428  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3390   4429   
@@ -1,3 +1,2 @@
 3391   4430   
GET // HTTP/1.1
 3392   4431   
Host:example.amazonaws.com
 3393         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3394   4432   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 3395   4433   
new file mode 100644
 3396   4434   
index 0000000..0468d80
 3397         -
-- /dev/null
        4435  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 3398   4436   
@@ -0,0 +1,12 @@
        4437  +
{
        4438  +
    "credentials": {
        4439  +
        "access_key_id": "AKIDEXAMPLE",
        4440  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4441  +
    },
        4442  +
    "expiration_in_seconds": 3600,
        4443  +
    "normalize": true,
        4444  +
    "region": "us-east-1",
        4445  +
    "service": "service",
        4446  +
    "sign_body": false,
        4447  +
    "timestamp": "2015-08-30T12:36:00Z"
        4448  +
}
              \
 No newline at end of file
 3399   4449   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3400   4450   
similarity index 99%
 3401   4451   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3402   4452   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3403   4453   
index 2e36c20..a51f1ba 100644
 3404   4454   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 3405   4455   
new file mode 100644
 3406   4456   
index 0000000..f5c871f
 3407         -
-- /dev/null
        4457  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 3408   4458   
@@ -0,0 +1 @@
        4459  +
304502206b0f9b99fe4e4b3bbcb69dd6ca076c847e676161b6fb4cd2bc776f357ece3d07022100fafc5606c7b1a45aa6ce6a7a3a68b07875315b8f952f9a192a420e407e8d1cef
              \
 No newline at end of file
 3409   4460   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 3410   4461   
new file mode 100644
 3411   4462   
index 0000000..bda4718
 3412         -
-- /dev/null
        4463  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 3413   4464   
@@ -0,0 +1,6 @@
        4465  +
GET /./example HTTP/1.1
        4466  +
Host:example.amazonaws.com
        4467  +
X-Amz-Date:20150830T123600Z
        4468  +
X-Amz-Region-Set:us-east-1
        4469  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221008cb5fa4d42bdd0c293d58ce748128be3a41693d25cfd701e281bf0c0bc28f41a022100b863217c8f05146ff1b4282706bc78781b1425c2d36a09127116e852e31fc974
        4470  +
 3414   4471   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-string-to-sign.txt
 3415   4472   
similarity index 99%
 3416   4473   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-string-to-sign.txt
 3417   4474   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-string-to-sign.txt
 3418   4475   
index cd30e8b..2ffe879 100644
 3419   4476   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 3420   4477   
new file mode 100644
 3421   4478   
index 0000000..379dcb2
 3422         -
-- /dev/null
        4479  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 3423   4480   
@@ -0,0 +1,4 @@
        4481  +
{
        4482  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4483  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4484  +
}
 3424   4485   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3425   4486   
similarity index 99%
 3426   4487   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3427   4488   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3428   4489   
index 77cf28d..45151ea 100644
 3429   4490   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 3430   4491   
new file mode 100644
 3431   4492   
index 0000000..11ad7bf
 3432         -
-- /dev/null
        4493  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 3433   4494   
@@ -0,0 +1 @@
        4495  +
3045022004b3d54ffdc33558a93c158a156ef1b50963d051e58ecb88b6809629d6b93860022100d88f70cb68de54e8abc628cb2325bcb32fab1a207d482010955f844812ad5174
              \
 No newline at end of file
 3434   4496   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 3435   4497   
new file mode 100644
 3436   4498   
index 0000000..a7537b1
 3437         -
-- /dev/null
        4499  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 3438   4500   
@@ -0,0 +1,3 @@
        4501  +
GET /./example?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=3045022100ae36c4ce9d4e0026419e57d4cac9d2d4fd487f2aa3e8520ef43d1d4b8b0e96f002202a4b135ab4cb49cc35dd756dd40f02ce96271d32f2f5ae2d671ccf535139a4b3 HTTP/1.1
        4502  +
Host:example.amazonaws.com
        4503  +
 3439   4504   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 3440   4505   
similarity index 99%
 3441   4506   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 3442   4507   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 3443   4508   
index 49d9b24..b486672 100644
 3444   4509   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3445   4510   
similarity index 65%
 3446   4511   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.req
 3447   4512   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3448   4513   
index 3c91071..5d919c9 100644
 3449         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.req
        4514  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3450   4515   
@@ -1,3 +1,2 @@
 3451   4516   
GET /./example HTTP/1.1
 3452   4517   
Host:example.amazonaws.com
 3453         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3454   4518   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 3455   4519   
new file mode 100644
 3456   4520   
index 0000000..7bee5c7
 3457         -
-- /dev/null
        4521  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 3458   4522   
@@ -0,0 +1,12 @@
        4523  +
{
        4524  +
    "credentials": {
        4525  +
        "access_key_id": "AKIDEXAMPLE",
        4526  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4527  +
    },
        4528  +
    "expiration_in_seconds": 3600,
        4529  +
    "normalize": false,
        4530  +
    "region": "us-east-1",
        4531  +
    "service": "service",
        4532  +
    "sign_body": false,
        4533  +
    "timestamp": "2015-08-30T12:36:00Z"
        4534  +
}
              \
 No newline at end of file
 3459   4535   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3460   4536   
similarity index 99%
 3461   4537   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3462   4538   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3463   4539   
index 4444842..2355a69 100644
 3464   4540   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 3465   4541   
new file mode 100644
 3466   4542   
index 0000000..9c8f737
 3467         -
-- /dev/null
        4543  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 3468   4544   
@@ -0,0 +1 @@
        4545  +
3044022056618e95bf64058b8174e9e52790352380946d9a0a4ab332b530a63f497a80800220105ebcd6c6ee9b034157d21e7c81fdfb72ca640961cee9b49de82e5c1f80ac5e
              \
 No newline at end of file
 3469   4546   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 3470   4547   
new file mode 100644
 3471   4548   
index 0000000..aa5980d
 3472         -
-- /dev/null
        4549  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 3473   4550   
@@ -0,0 +1,6 @@
        4551  +
GET /./example HTTP/1.1
        4552  +
Host:example.amazonaws.com
        4553  +
X-Amz-Date:20150830T123600Z
        4554  +
X-Amz-Region-Set:us-east-1
        4555  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221009e2c768ae9904c3d04eba53cfbb7460034029fb1f169b51f82623cc53ae25dc7022100bfe47ecde858ad9ae3311bba5a4fd45fcacdb1795cc6825f0939e5d929a464bf
        4556  +
 3474   4557   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 3475   4558   
similarity index 99%
 3476   4559   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 3477   4560   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 3478   4561   
index cc63510..d056816 100644
 3479   4562   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 3480   4563   
new file mode 100644
 3481   4564   
index 0000000..379dcb2
 3482         -
-- /dev/null
        4565  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 3483   4566   
@@ -0,0 +1,4 @@
        4567  +
{
        4568  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4569  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4570  +
}
 3484   4571   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3485   4572   
similarity index 99%
 3486   4573   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3487   4574   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3488   4575   
index ed2cb2d..df9928e 100644
 3489   4576   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 3490   4577   
new file mode 100644
 3491   4578   
index 0000000..bb4d86b
 3492         -
-- /dev/null
        4579  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 3493   4580   
@@ -0,0 +1 @@
        4581  +
304502202c31415712324143f4f20aebbd0f8a2fd4fcdd49d68ac95cd6815db3c0e6407b022100cb46cb62bbd024da2e29445c3378a32057b68b272fb2a08c79bfdcbc398505f3
              \
 No newline at end of file
 3494   4582   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 3495   4583   
new file mode 100644
 3496   4584   
index 0000000..0061136
 3497         -
-- /dev/null
        4585  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 3498   4586   
@@ -0,0 +1,3 @@
        4587  +
GET /./example?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=304602210090227b15d2fecbf2acbaf7db1e17d678ee26f351546b2a4b29ca288b094f0056022100c1b386398e19ea14bd93082062eef901365946ca05dcb166a8bc9ca5c9d1dfec HTTP/1.1
        4588  +
Host:example.amazonaws.com
        4589  +
 3499   4590   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 3500   4591   
similarity index 99%
 3501   4592   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 3502   4593   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 3503   4594   
index c9f3b6d..418f2d6 100644
 3504   4595   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 3505   4596   
new file mode 100644
 3506   4597   
index 0000000..5d919c9
 3507         -
-- /dev/null
        4598  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 3508   4599   
@@ -0,0 +1,2 @@
        4600  +
GET /./example HTTP/1.1
        4601  +
Host:example.amazonaws.com
 3509   4602   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 3510   4603   
new file mode 100644
 3511   4604   
index 0000000..7bee5c7
 3512         -
-- /dev/null
        4605  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 3513   4606   
@@ -0,0 +1,12 @@
        4607  +
{
        4608  +
    "credentials": {
        4609  +
        "access_key_id": "AKIDEXAMPLE",
        4610  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4611  +
    },
        4612  +
    "expiration_in_seconds": 3600,
        4613  +
    "normalize": false,
        4614  +
    "region": "us-east-1",
        4615  +
    "service": "service",
        4616  +
    "sign_body": false,
        4617  +
    "timestamp": "2015-08-30T12:36:00Z"
        4618  +
}
              \
 No newline at end of file
 3514   4619   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 3515   4620   
similarity index 99%
 3516   4621   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
 3517   4622   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 3518   4623   
index 8a4d33b..5f809da 100644
 3519   4624   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 3520   4625   
new file mode 100644
 3521   4626   
index 0000000..60179e9
 3522         -
-- /dev/null
        4627  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 3523   4628   
@@ -0,0 +1 @@
        4629  +
3046022100fee7e772befdf85d3f9871798d5e08e93ad3f5d5d408b41387ba55714244809b0221008268d33835753dcdbd0a4d149d902eed071c41b70c230ecf56e0120a0f7d72a1
              \
 No newline at end of file
 3524   4630   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 3525   4631   
new file mode 100644
 3526   4632   
index 0000000..72bf1b7
 3527         -
-- /dev/null
        4633  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 3528   4634   
@@ -0,0 +1,6 @@
        4635  +
GET // HTTP/1.1
        4636  +
Host:example.amazonaws.com
        4637  +
X-Amz-Date:20150830T123600Z
        4638  +
X-Amz-Region-Set:us-east-1
        4639  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022061f03990d40a274470a1621b6e12b64452083a61218be77e48132a965da27377022100cdff18369b7361b1e33bd6cb5b216cdf88d390121447d442f59ccf84eb6489f7
        4640  +
 3529   4641   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 3530   4642   
similarity index 99%
 3531   4643   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
 3532   4644   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 3533   4645   
index 874c01c..2b3bf67 100644
 3534   4646   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 3535   4647   
new file mode 100644
 3536   4648   
index 0000000..379dcb2
 3537         -
-- /dev/null
        4649  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 3538   4650   
@@ -0,0 +1,4 @@
        4651  +
{
        4652  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4653  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4654  +
}
 3539   4655   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 3540   4656   
similarity index 99%
 3541   4657   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
 3542   4658   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 3543   4659   
index 81d7b0b..d10ad29 100644
 3544   4660   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 3545   4661   
new file mode 100644
 3546   4662   
index 0000000..d9bd824
 3547         -
-- /dev/null
        4663  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 3548   4664   
@@ -0,0 +1 @@
        4665  +
3045022100abcadf84ed6f4bf5c19df3220b13e370ef093e5e7a5a5093c1a796a3de7804710220568ec0dafd60aa764002ce2ac7c89f403b47142dc7e0e48ded1691929488c88e
              \
 No newline at end of file
 3549   4666   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 3550   4667   
new file mode 100644
 3551   4668   
index 0000000..19d1d46
 3552         -
-- /dev/null
        4669  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 3553   4670   
@@ -0,0 +1,3 @@
        4671  +
GET //?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=3046022100a3e0b71f92af44f8b58e94018ab4b3fddca86cacabaf94d4a100ab94f06c3bbf022100a6f920a313d8d01da331c95d6b12b4d51d90cad487a4a82c20eb5bb373d5f4d2 HTTP/1.1
        4672  +
Host:example.amazonaws.com
        4673  +
 3554   4674   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 3555   4675   
similarity index 99%
 3556   4676   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
 3557   4677   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 3558   4678   
index 17e5279..24c8a5e 100644
 3559   4679   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 3560   4680   
new file mode 100644
 3561   4681   
index 0000000..25bc21e
 3562         -
-- /dev/null
        4682  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 3563   4683   
@@ -0,0 +1,2 @@
        4684  +
GET // HTTP/1.1
        4685  +
Host:example.amazonaws.com
 3564   4686   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 3565   4687   
new file mode 100644
 3566   4688   
index 0000000..0468d80
 3567         -
-- /dev/null
        4689  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 3568   4690   
@@ -0,0 +1,12 @@
        4691  +
{
        4692  +
    "credentials": {
        4693  +
        "access_key_id": "AKIDEXAMPLE",
        4694  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4695  +
    },
        4696  +
    "expiration_in_seconds": 3600,
        4697  +
    "normalize": true,
        4698  +
    "region": "us-east-1",
        4699  +
    "service": "service",
        4700  +
    "sign_body": false,
        4701  +
    "timestamp": "2015-08-30T12:36:00Z"
        4702  +
}
              \
 No newline at end of file
 3569   4703   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 3570   4704   
similarity index 99%
 3571   4705   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
 3572   4706   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 3573   4707   
index fdf9c48..a8e9e02 100644
 3574   4708   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 3575   4709   
new file mode 100644
 3576   4710   
index 0000000..ffe1b60
 3577         -
-- /dev/null
        4711  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 3578   4712   
@@ -0,0 +1 @@
        4713  +
304402205dd203fd6b973e5fb088569ec27db1e267ef4a728f177e88fcc65f299255c0ab02206da878f40c64094595aa4e808849b69025f1c9b9f4be0f0e6ab8cd7a04e81d77
              \
 No newline at end of file
 3579   4714   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 3580   4715   
new file mode 100644
 3581   4716   
index 0000000..3189f55
 3582         -
-- /dev/null
        4717  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 3583   4718   
@@ -0,0 +1,6 @@
        4719  +
GET //example// HTTP/1.1
        4720  +
Host:example.amazonaws.com
        4721  +
X-Amz-Date:20150830T123600Z
        4722  +
X-Amz-Region-Set:us-east-1
        4723  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203d34870fcc77b0f5a3f6d440cd1cecb75c7e534cfbcc68f60743d308ae92fef602200f9fbaacc5010b9a7e046b1b5ae58764bd32c24c47ef65b63ad9ff756c478e4d
        4724  +
 3584   4725   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 3585   4726   
similarity index 99%
 3586   4727   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
 3587   4728   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 3588   4729   
index 8f9c95e..430020e 100644
 3589   4730   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 3590   4731   
new file mode 100644
 3591   4732   
index 0000000..379dcb2
 3592         -
-- /dev/null
        4733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 3593   4734   
@@ -0,0 +1,4 @@
        4735  +
{
        4736  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4737  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4738  +
}
 3594   4739   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 3595   4740   
similarity index 99%
 3596   4741   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
 3597   4742   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 3598   4743   
index 1046735..8d41e37 100644
 3599   4744   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 3600   4745   
new file mode 100644
 3601   4746   
index 0000000..93a0fa4
 3602         -
-- /dev/null
        4747  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 3603   4748   
@@ -0,0 +1 @@
        4749  +
3045022100dfd2281b396d138207f0e58889bd6cc4d95ffd8d64e6f37ef2a9f2a15cab6944022060d05a747cd4e3c49cb50bf58d834ae917cd1ebd1524a352fb64f4d54f9ba279
              \
 No newline at end of file
 3604   4750   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 3605   4751   
new file mode 100644
 3606   4752   
index 0000000..65c8cb6
 3607         -
-- /dev/null
        4753  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 3608   4754   
@@ -0,0 +1,3 @@
        4755  +
GET //example//?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=3045022100ec452ebb2ae12447edb19c7c1824c5b5921650498ed70c3366d9bce4875f0095022007c29a38626d79722aa8f8882ea96003eaf2a135c4bed3394f24a068fded99f1 HTTP/1.1
        4756  +
Host:example.amazonaws.com
        4757  +
 3609   4758   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 3610   4759   
similarity index 99%
 3611   4760   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
 3612   4761   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 3613   4762   
index b293cc2..0f4c4c5 100644
 3614   4763   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3615   4764   
similarity index 65%
 3616   4765   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
 3617   4766   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3618   4767   
index a4307ce..12e0931 100644
 3619         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
        4768  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3620   4769   
@@ -1,3 +1,2 @@
 3621   4770   
GET //example// HTTP/1.1
 3622   4771   
Host:example.amazonaws.com
 3623         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3624   4772   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 3625   4773   
new file mode 100644
 3626   4774   
index 0000000..7bee5c7
 3627         -
-- /dev/null
        4775  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 3628   4776   
@@ -0,0 +1,12 @@
        4777  +
{
        4778  +
    "credentials": {
        4779  +
        "access_key_id": "AKIDEXAMPLE",
        4780  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4781  +
    },
        4782  +
    "expiration_in_seconds": 3600,
        4783  +
    "normalize": false,
        4784  +
    "region": "us-east-1",
        4785  +
    "service": "service",
        4786  +
    "sign_body": false,
        4787  +
    "timestamp": "2015-08-30T12:36:00Z"
        4788  +
}
              \
 No newline at end of file
 3629   4789   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 3630   4790   
similarity index 99%
 3631   4791   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
 3632   4792   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 3633   4793   
index a9c55f6..76f55ed 100644
 3634   4794   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 3635   4795   
new file mode 100644
 3636   4796   
index 0000000..de333b2
 3637         -
-- /dev/null
        4797  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 3638   4798   
@@ -0,0 +1 @@
        4799  +
3044022039ccb6afb5f0b574cfc8fec2e9158269bbe28f9e5747acc032d1ea17617f8b2002204933ee3e4ad4ec425c90593a68db99fcece29ae45906dec40c2204290cedf8bd
              \
 No newline at end of file
 3639   4800   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 3640   4801   
new file mode 100644
 3641   4802   
index 0000000..773ce63
 3642         -
-- /dev/null
        4803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 3643   4804   
@@ -0,0 +1,6 @@
        4805  +
GET //example// HTTP/1.1
        4806  +
Host:example.amazonaws.com
        4807  +
X-Amz-Date:20150830T123600Z
        4808  +
X-Amz-Region-Set:us-east-1
        4809  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502202450e5abfccb424d5a0e2d5d1a084e76abc5290ae567a97f5174bfed575fd519022100a5e743040a2bdd3cd7889070e1d190d5782e7591a715370f9bea04dc2702dbab
        4810  +
 3644   4811   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 3645   4812   
similarity index 99%
 3646   4813   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
 3647   4814   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 3648   4815   
index 5c4c2cd..46c3265 100644
 3649   4816   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 3650   4817   
new file mode 100644
 3651   4818   
index 0000000..379dcb2
 3652         -
-- /dev/null
        4819  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 3653   4820   
@@ -0,0 +1,4 @@
        4821  +
{
        4822  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4823  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4824  +
}
 3654   4825   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 3655   4826   
similarity index 99%
 3656   4827   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
 3657   4828   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 3658   4829   
index c878ab4..6047ccf 100644
 3659   4830   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 3660   4831   
new file mode 100644
 3661   4832   
index 0000000..d61fcd0
 3662         -
-- /dev/null
        4833  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 3663   4834   
@@ -0,0 +1 @@
        4835  +
3045022100fa1d3e99997a184d59e23fb8bfeca08a5f94f2e7b89b0320d11deacab3593f0f022009c0785ec02c5dda370a3eb714feb51e3b0d56df674571bf7146bf8277897e65
              \
 No newline at end of file
 3664   4836   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 3665   4837   
new file mode 100644
 3666   4838   
index 0000000..3e37b5b
 3667         -
-- /dev/null
        4839  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 3668   4840   
@@ -0,0 +1,3 @@
        4841  +
GET //example//?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=3046022100b3e1640be9e64cd28d1ff4a1f157e9f3c751545d6e0a1f1c4e380fee08e8745b022100d9b667f2d38600993703f88b246b53ebb85faecfaf2de27cf39e43957e90d492 HTTP/1.1
        4842  +
Host:example.amazonaws.com
        4843  +
 3669   4844   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 3670   4845   
similarity index 99%
 3671   4846   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
 3672   4847   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 3673   4848   
index 5f59645..2537d28 100644
 3674   4849   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 3675   4850   
new file mode 100644
 3676   4851   
index 0000000..12e0931
 3677         -
-- /dev/null
        4852  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 3678   4853   
@@ -0,0 +1,2 @@
        4854  +
GET //example// HTTP/1.1
        4855  +
Host:example.amazonaws.com
 3679   4856   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 3680   4857   
new file mode 100644
 3681   4858   
index 0000000..0468d80
 3682         -
-- /dev/null
        4859  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 3683   4860   
@@ -0,0 +1,12 @@
        4861  +
{
        4862  +
    "credentials": {
        4863  +
        "access_key_id": "AKIDEXAMPLE",
        4864  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4865  +
    },
        4866  +
    "expiration_in_seconds": 3600,
        4867  +
    "normalize": true,
        4868  +
    "region": "us-east-1",
        4869  +
    "service": "service",
        4870  +
    "sign_body": false,
        4871  +
    "timestamp": "2015-08-30T12:36:00Z"
        4872  +
}
              \
 No newline at end of file
 3684   4873   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 3685   4874   
new file mode 100644
 3686   4875   
index 0000000..0b2b616
 3687         -
-- /dev/null
        4876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 3688   4877   
@@ -0,0 +1,9 @@
        4878  +
GET
        4879  +
/example%20space/
        4880  +
        4881  +
host:example.amazonaws.com
        4882  +
x-amz-date:20150830T123600Z
        4883  +
x-amz-region-set:us-east-1
        4884  +
        4885  +
host;x-amz-date;x-amz-region-set
        4886  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3689   4887   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 3690   4888   
new file mode 100644
 3691   4889   
index 0000000..6e7841d
 3692         -
-- /dev/null
        4890  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 3693   4891   
@@ -0,0 +1 @@
        4892  +
304502202292b4f0e4f1495b9ceb3b77349efeffdce42cb5461f810db3983005c1e772ca022100b4b6175661196a82f5b59968315517e1ffdde58d2e3eba10d3bfe171cde625c4
              \
 No newline at end of file
 3694   4893   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 3695   4894   
new file mode 100644
 3696   4895   
index 0000000..0969cd3
 3697         -
-- /dev/null
        4896  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 3698   4897   
@@ -0,0 +1,6 @@
        4898  +
GET /example space/ HTTP/1.1
        4899  +
Host:example.amazonaws.com
        4900  +
X-Amz-Date:20150830T123600Z
        4901  +
X-Amz-Region-Set:us-east-1
        4902  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100e8e0ec99a8d287073e078543fdbdeba108cdef097a52c7556874076072350200022100e59d9e0f48209bea00faa47d485d850eb72747db83927a2a43b5ebab5ca2b545
        4903  +
 3699   4904   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 3700   4905   
new file mode 100644
 3701   4906   
index 0000000..ddae6e2
 3702         -
-- /dev/null
        4907  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 3703   4908   
@@ -0,0 +1,4 @@
        4909  +
AWS4-ECDSA-P256-SHA256
        4910  +
20150830T123600Z
        4911  +
20150830/service/aws4_request
        4912  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3704   4913   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 3705   4914   
new file mode 100644
 3706   4915   
index 0000000..379dcb2
 3707         -
-- /dev/null
        4916  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 3708   4917   
@@ -0,0 +1,4 @@
        4918  +
{
        4919  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4920  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4921  +
}
 3709   4922   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 3710   4923   
new file mode 100644
 3711   4924   
index 0000000..a66b3cb
 3712         -
-- /dev/null
        4925  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 3713   4926   
@@ -0,0 +1,7 @@
        4927  +
GET
        4928  +
/example%20space/
        4929  +
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=host
        4930  +
host:example.amazonaws.com
        4931  +
        4932  +
host
        4933  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3714   4934   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 3715   4935   
new file mode 100644
 3716   4936   
index 0000000..b3253ae
 3717         -
-- /dev/null
        4937  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 3718   4938   
@@ -0,0 +1 @@
        4939  +
3045022100fc068fdda7586bec9ac9ed341e7a81bf1e1f8c60fee6e22165868ecac62e404d02200620b5d68b9be75210336618fc0a884439ce1ae93085adb03e27f1ce7ca4912e
              \
 No newline at end of file
 3719   4940   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 3720   4941   
new file mode 100644
 3721   4942   
index 0000000..9e335b2
 3722         -
-- /dev/null
        4943  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 3723   4944   
@@ -0,0 +1,3 @@
        4945  +
GET /example space/?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=304402200bc73964284c5a0367aec4bc4c3e80c7425388c8f5ac963a3e0cc9437549bd2b022077b25c48bed62c31f1cc4bf78d56089953806d8132ccebf23907c9b4445db86c HTTP/1.1
        4946  +
Host:example.amazonaws.com
        4947  +
 3724   4948   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 3725   4949   
new file mode 100644
 3726   4950   
index 0000000..b6ff6fb
 3727         -
-- /dev/null
        4951  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 3728   4952   
@@ -0,0 +1,4 @@
        4953  +
AWS4-ECDSA-P256-SHA256
        4954  +
20150830T123600Z
        4955  +
20150830/service/aws4_request
        4956  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3729   4957   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 3730   4958   
new file mode 100644
 3731   4959   
index 0000000..ab509ab
 3732         -
-- /dev/null
        4960  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 3733   4961   
@@ -0,0 +1,2 @@
        4962  +
GET /example space/ HTTP/1.1
        4963  +
Host:example.amazonaws.com
 3734   4964   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 3735   4965   
new file mode 100644
 3736   4966   
index 0000000..7bee5c7
 3737         -
-- /dev/null
        4967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 3738   4968   
@@ -0,0 +1,12 @@
        4969  +
{
        4970  +
    "credentials": {
        4971  +
        "access_key_id": "AKIDEXAMPLE",
        4972  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4973  +
    },
        4974  +
    "expiration_in_seconds": 3600,
        4975  +
    "normalize": false,
        4976  +
    "region": "us-east-1",
        4977  +
    "service": "service",
        4978  +
    "sign_body": false,
        4979  +
    "timestamp": "2015-08-30T12:36:00Z"
        4980  +
}
              \
 No newline at end of file
 3739   4981   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 3740   4982   
new file mode 100644
 3741   4983   
index 0000000..0b2b616
 3742         -
-- /dev/null
        4984  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 3743   4985   
@@ -0,0 +1,9 @@
        4986  +
GET
        4987  +
/example%20space/
        4988  +
        4989  +
host:example.amazonaws.com
        4990  +
x-amz-date:20150830T123600Z
        4991  +
x-amz-region-set:us-east-1
        4992  +
        4993  +
host;x-amz-date;x-amz-region-set
        4994  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3744   4995   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 3745   4996   
new file mode 100644
 3746   4997   
index 0000000..e75ae08
 3747         -
-- /dev/null
        4998  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 3748   4999   
@@ -0,0 +1 @@
        5000  +
3046022100881d1dce37131cd3248fa4cfb63f050e8985c3de5a58f654a8b263d52ad576180221009316e13742504474cf33631bb5f2fa89f4990c911ad317be831a6de015cf4054
              \
 No newline at end of file
 3749   5001   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 3750   5002   
new file mode 100644
 3751   5003   
index 0000000..cb089db
 3752         -
-- /dev/null
        5004  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 3753   5005   
@@ -0,0 +1,6 @@
        5006  +
GET /example space/ HTTP/1.1
        5007  +
Host:example.amazonaws.com
        5008  +
X-Amz-Date:20150830T123600Z
        5009  +
X-Amz-Region-Set:us-east-1
        5010  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100a26695d793a8e7d2ed2a3495402e9b4bf8e5b05e767d303f57d9515f617ebae5022100c4b89f5648567c08b6d173b6d733f5c012bb615cd38039109f64db56efecc851
        5011  +
 3754   5012   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 3755   5013   
new file mode 100644
 3756   5014   
index 0000000..ddae6e2
 3757         -
-- /dev/null
        5015  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 3758   5016   
@@ -0,0 +1,4 @@
        5017  +
AWS4-ECDSA-P256-SHA256
        5018  +
20150830T123600Z
        5019  +
20150830/service/aws4_request
        5020  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3759   5021   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 3760   5022   
new file mode 100644
 3761   5023   
index 0000000..379dcb2
 3762         -
-- /dev/null
        5024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 3763   5025   
@@ -0,0 +1,4 @@
        5026  +
{
        5027  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5028  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5029  +
}
 3764   5030   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 3765   5031   
new file mode 100644
 3766   5032   
index 0000000..a66b3cb
 3767         -
-- /dev/null
        5033  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 3768   5034   
@@ -0,0 +1,7 @@
        5035  +
GET
        5036  +
/example%20space/
        5037  +
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=host
        5038  +
host:example.amazonaws.com
        5039  +
        5040  +
host
        5041  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3769   5042   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 3770   5043   
new file mode 100644
 3771   5044   
index 0000000..66a80c3
 3772         -
-- /dev/null
        5045  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 3773   5046   
@@ -0,0 +1 @@
        5047  +
304502201825fe5d62f321a740cbe590ce0c0c17045eed9acbbbd574d3cefbec349d06c5022100bcd482f85374b24d9f1f5000d2de7e12a4e0c8f5277e73d29c41ecc45390e731
              \
 No newline at end of file
 3774   5048   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 3775   5049   
new file mode 100644
 3776   5050   
index 0000000..7d1b9d9
 3777         -
-- /dev/null
        5051  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 3778   5052   
@@ -0,0 +1,3 @@
        5053  +
GET /example space/?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=304402207c82fe84466237eda8666f893df1d96a82da91509bb11252d82af8744bb2155702200405ec0f65fd883703a556c6d7d74cfb36a2cbbd3dabd884957809e6c6856325 HTTP/1.1
        5054  +
Host:example.amazonaws.com
        5055  +
 3779   5056   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 3780   5057   
new file mode 100644
 3781   5058   
index 0000000..b6ff6fb
 3782         -
-- /dev/null
        5059  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 3783   5060   
@@ -0,0 +1,4 @@
        5061  +
AWS4-ECDSA-P256-SHA256
        5062  +
20150830T123600Z
        5063  +
20150830/service/aws4_request
        5064  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3784   5065   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 3785   5066   
new file mode 100644
 3786   5067   
index 0000000..ab509ab
 3787         -
-- /dev/null
        5068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 3788   5069   
@@ -0,0 +1,2 @@
        5070  +
GET /example space/ HTTP/1.1
        5071  +
Host:example.amazonaws.com
 3789   5072   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 3790   5073   
new file mode 100644
 3791   5074   
index 0000000..0468d80
 3792         -
-- /dev/null
        5075  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 3793   5076   
@@ -0,0 +1,12 @@
        5077  +
{
        5078  +
    "credentials": {
        5079  +
        "access_key_id": "AKIDEXAMPLE",
        5080  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5081  +
    },
        5082  +
    "expiration_in_seconds": 3600,
        5083  +
    "normalize": true,
        5084  +
    "region": "us-east-1",
        5085  +
    "service": "service",
        5086  +
    "sign_body": false,
        5087  +
    "timestamp": "2015-08-30T12:36:00Z"
        5088  +
}
              \
 No newline at end of file
 3794   5089   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 3795   5090   
similarity index 99%
 3796   5091   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
 3797   5092   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 3798   5093   
index b0db648..46d76bb 100644
 3799   5094   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 3800   5095   
new file mode 100644
 3801   5096   
index 0000000..53c0cb6
 3802         -
-- /dev/null
        5097  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 3803   5098   
@@ -0,0 +1 @@
        5099  +
304502204303d34750ced762f4e5af2c61ba70c9f5830d8a5c7fc418a02823d61673ca32022100c26cf8f38007155cb8bd3e684697063ad8f421a91be796d78b14b126e25d3680
              \
 No newline at end of file
 3804   5100   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 3805   5101   
new file mode 100644
 3806   5102   
index 0000000..3bdb653
 3807         -
-- /dev/null
        5103  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 3808   5104   
@@ -0,0 +1,6 @@
        5105  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5106  +
Host:example.amazonaws.com
        5107  +
X-Amz-Date:20150830T123600Z
        5108  +
X-Amz-Region-Set:us-east-1
        5109  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206a228bcbe26141c2c5065525b98ea00b793470e04e655006269f740e320215930220160015e35502fa89a96f5fed59981af0896b60ecea6a68606a0be368bca73f2c
        5110  +
 3809   5111   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 3810   5112   
similarity index 99%
 3811   5113   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
 3812   5114   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 3813   5115   
index 20c7cd6..3b30173 100644
 3814   5116   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 3815   5117   
new file mode 100644
 3816   5118   
index 0000000..379dcb2
 3817         -
-- /dev/null
        5119  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 3818   5120   
@@ -0,0 +1,4 @@
        5121  +
{
        5122  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5123  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5124  +
}
 3819   5125   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 3820   5126   
similarity index 99%
 3821   5127   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
 3822   5128   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 3823   5129   
index f9fb726..7e93f58 100644
 3824   5130   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 3825   5131   
new file mode 100644
 3826   5132   
index 0000000..48311a8
 3827         -
-- /dev/null
        5133  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 3828   5134   
@@ -0,0 +1 @@
        5135  +
3045022100a8e6e2918ceb211f77810150d828be217af238ca95db6f88264d668ffacefb8b02204122d651c775a3ed8f40f3bfe37a2c8fec28cd53027b599eddd7115e06ca4bb0
              \
 No newline at end of file
 3829   5136   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 3830   5137   
new file mode 100644
 3831   5138   
index 0000000..82da9be
 3832         -
-- /dev/null
        5139  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 3833   5140   
@@ -0,0 +1,3 @@
        5141  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz?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=3046022100e9480cf54bfa566c6225af6986818e36a79525af244316551c55f902494d774f0221008f15178ec18c589b3704ccfc9cd7daa410f148407f75bc5777afcca28470cfbb HTTP/1.1
        5142  +
Host:example.amazonaws.com
        5143  +
 3834   5144   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 3835   5145   
similarity index 99%
 3836   5146   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
 3837   5147   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 3838   5148   
index ef06e89..4aab9a2 100644
 3839   5149   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 3840   5150   
similarity index 80%
 3841   5151   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
 3842   5152   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 3843   5153   
index da760cd..a149694 100644
 3844         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
        5154  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 3845   5155   
@@ -1,3 +1,2 @@
 3846   5156   
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 3847   5157   
Host:example.amazonaws.com
 3848         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3849   5158   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 3850   5159   
new file mode 100644
 3851   5160   
index 0000000..0468d80
 3852         -
-- /dev/null
        5161  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 3853   5162   
@@ -0,0 +1,12 @@
        5163  +
{
        5164  +
    "credentials": {
        5165  +
        "access_key_id": "AKIDEXAMPLE",
        5166  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5167  +
    },
        5168  +
    "expiration_in_seconds": 3600,
        5169  +
    "normalize": true,
        5170  +
    "region": "us-east-1",
        5171  +
    "service": "service",
        5172  +
    "sign_body": false,
        5173  +
    "timestamp": "2015-08-30T12:36:00Z"
        5174  +
}
              \
 No newline at end of file
 3854   5175   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 3855   5176   
new file mode 100644
 3856   5177   
index 0000000..0f1afe7
 3857         -
-- /dev/null
        5178  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 3858   5179   
@@ -0,0 +1,9 @@
        5180  +
GET
        5181  +
/%E1%88%B4
        5182  +
        5183  +
host:example.amazonaws.com
        5184  +
x-amz-date:20150830T123600Z
        5185  +
x-amz-region-set:us-east-1
        5186  +
        5187  +
host;x-amz-date;x-amz-region-set
        5188  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3859   5189   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 3860   5190   
new file mode 100644
 3861   5191   
index 0000000..4b9af6c
 3862         -
-- /dev/null
        5192  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 3863   5193   
@@ -0,0 +1 @@
        5194  +
3044022009b73628ce2929e224b781c591bdc93fc3381cef5f63992eefb82a286276fa0902203cbc6071d1be7b8c91ec0a04b921881c48cbea2a0a86481f6fa7a983e36190c0
              \
 No newline at end of file
 3864   5195   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 3865   5196   
new file mode 100644
 3866   5197   
index 0000000..d42d7b3
 3867         -
-- /dev/null
        5198  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 3868   5199   
@@ -0,0 +1,6 @@
        5200  +
GET /ሴ HTTP/1.1
        5201  +
Host:example.amazonaws.com
        5202  +
X-Amz-Date:20150830T123600Z
        5203  +
X-Amz-Region-Set:us-east-1
        5204  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210082c462efc22f340d7d20b19e0c9b38400e9395bedd9269e01e959ef915ca2846022050d38df1572786ef8befe01d888335c15b0f17fb1d795858fa3cb79e060ba375
        5205  +
 3869   5206   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 3870   5207   
new file mode 100644
 3871   5208   
index 0000000..0827f62
 3872         -
-- /dev/null
        5209  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 3873   5210   
@@ -0,0 +1,4 @@
        5211  +
AWS4-ECDSA-P256-SHA256
        5212  +
20150830T123600Z
        5213  +
20150830/service/aws4_request
        5214  +
7c8a7084825e715f0e217a7470ce3611bcfedb5b70329d9b36bba5cefd39c11a
              \
 No newline at end of file
 3874   5215   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 3875   5216   
new file mode 100644
 3876   5217   
index 0000000..379dcb2
 3877         -
-- /dev/null
        5218  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 3878   5219   
@@ -0,0 +1,4 @@
        5220  +
{
        5221  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5222  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5223  +
}
 3879   5224   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 3880   5225   
new file mode 100644
 3881   5226   
index 0000000..a41a2f8
 3882         -
-- /dev/null
        5227  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 3883   5228   
@@ -0,0 +1,7 @@
        5229  +
GET
        5230  +
/%E1%88%B4
        5231  +
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=host
        5232  +
host:example.amazonaws.com
        5233  +
        5234  +
host
        5235  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3884   5236   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 3885   5237   
new file mode 100644
 3886   5238   
index 0000000..a5c7f4f
 3887         -
-- /dev/null
        5239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 3888   5240   
@@ -0,0 +1 @@
        5241  +
30460221008cf2ac3d46b7529fe7b73add56626a546fc9372b458e197dbd355198465e0918022100c059b86e01bd11d31c5fe19ee7c73fe3b8058ad2cebe2fe74c779c4a6a95684a
              \
 No newline at end of file
 3889   5242   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 3890   5243   
new file mode 100644
 3891   5244   
index 0000000..492ed33
 3892         -
-- /dev/null
        5245  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 3893   5246   
@@ -0,0 +1,3 @@
        5247  +
GET /ሴ?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=3045022100a6a54a9d29f463be9ee0822246866fdbf4d71ab2f0c1dd70da52bd3d4539ce6802204fb18b4ddab0e97af74ecb42e33d6d2f2ac2ae0cee9509f649506f1cd2954899 HTTP/1.1
        5248  +
Host:example.amazonaws.com
        5249  +
 3894   5250   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 3895   5251   
new file mode 100644
 3896   5252   
index 0000000..a93108f
 3897         -
-- /dev/null
        5253  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 3898   5254   
@@ -0,0 +1,4 @@
        5255  +
AWS4-ECDSA-P256-SHA256
        5256  +
20150830T123600Z
        5257  +
20150830/service/aws4_request
        5258  +
b77c78c8276c5eac930db70b21b69b34d0c2560e1a963ab28e28481ef6a4ff66
              \
 No newline at end of file
 3899   5259   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 3900   5260   
new file mode 100644
 3901   5261   
index 0000000..9e273f6
 3902         -
-- /dev/null
        5262  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 3903   5263   
@@ -0,0 +1,2 @@
        5264  +
GET /ሴ HTTP/1.1
        5265  +
Host:example.amazonaws.com
 3904   5266   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 3905   5267   
new file mode 100644
 3906   5268   
index 0000000..0468d80
 3907         -
-- /dev/null
        5269  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 3908   5270   
@@ -0,0 +1,12 @@
        5271  +
{
        5272  +
    "credentials": {
        5273  +
        "access_key_id": "AKIDEXAMPLE",
        5274  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5275  +
    },
        5276  +
    "expiration_in_seconds": 3600,
        5277  +
    "normalize": true,
        5278  +
    "region": "us-east-1",
        5279  +
    "service": "service",
        5280  +
    "sign_body": false,
        5281  +
    "timestamp": "2015-08-30T12:36:00Z"
        5282  +
}
              \
 No newline at end of file
 3909   5283   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 3910   5284   
similarity index 99%
 3911   5285   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
 3912   5286   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 3913   5287   
index bb9d4bf..edc0bb4 100644
 3914   5288   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 3915   5289   
new file mode 100644
 3916   5290   
index 0000000..ee9a272
 3917         -
-- /dev/null
        5291  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 3918   5292   
@@ -0,0 +1 @@
        5293  +
3044022075e5fe54105695e4af6f5b59ff39f4f1d84de3bfdd546a6b9212936a78e743ac02204f25f3b9826688eb9743088f426eabd6b306432fd2c4c5c5aa2bbb9058267542
              \
 No newline at end of file
 3919   5294   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 3920   5295   
new file mode 100644
 3921   5296   
index 0000000..2090343
 3922         -
-- /dev/null
        5297  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 3923   5298   
@@ -0,0 +1,6 @@
        5299  +
GET /?Param1=value1 HTTP/1.1
        5300  +
Host:example.amazonaws.com
        5301  +
X-Amz-Date:20150830T123600Z
        5302  +
X-Amz-Region-Set:us-east-1
        5303  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210093d40fe05684ddadfadfafc4b8565d18ca94d590fc897577224bf09696bbde6102206f12bb5e2503781303cf6880c0a2136d4b820221eb9d6ac5ad61378b16b8ea5d
        5304  +
 3924   5305   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-string-to-sign.txt
 3925   5306   
similarity index 99%
 3926   5307   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-string-to-sign.txt
 3927   5308   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-string-to-sign.txt
 3928   5309   
index a176f1d..06ed74f 100644
 3929   5310   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 3930   5311   
new file mode 100644
 3931   5312   
index 0000000..379dcb2
 3932         -
-- /dev/null
        5313  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 3933   5314   
@@ -0,0 +1,4 @@
        5315  +
{
        5316  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5317  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5318  +
}
 3934   5319   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 3935   5320   
similarity index 99%
 3936   5321   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
 3937   5322   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 3938   5323   
index 344384b..a875d70 100644
 3939   5324   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 3940   5325   
new file mode 100644
 3941   5326   
index 0000000..ef93624
 3942         -
-- /dev/null
        5327  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 3943   5328   
@@ -0,0 +1 @@
        5329  +
30460221009a9e99aefe8effed47320e6e9f54cb943e2f72ce638ed7aae2a6711240304b82022100a90e99f053dd51912a6993299229e19aebbd81e68d4d24a1bdedcc6717c9f456
              \
 No newline at end of file
 3944   5330   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 3945   5331   
new file mode 100644
 3946   5332   
index 0000000..92829f7
 3947         -
-- /dev/null
        5333  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 3948   5334   
@@ -0,0 +1,3 @@
        5335  +
GET /?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=3046022100d0e421c8dcfbc809d91211cb4588940f6567729d5f9542803c4121704ec85bf70221009bc7b39b796dc0b4436a08d0320e2e89a2a47724432a1060029a55ae05dc2e83 HTTP/1.1
        5336  +
Host:example.amazonaws.com
        5337  +
 3949   5338   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-string-to-sign.txt
 3950   5339   
similarity index 99%
 3951   5340   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-string-to-sign.txt
 3952   5341   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-string-to-sign.txt
 3953   5342   
index b625052..4ff9191 100644
 3954   5343   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 3955   5344   
similarity index 67%
 3956   5345   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.req
 3957   5346   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 3958   5347   
index 970d0a0..f4a03bb 100644
 3959         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.req
        5348  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 3960   5349   
@@ -1,3 +1,2 @@
 3961   5350   
GET /?Param1=value1 HTTP/1.1
 3962   5351   
Host:example.amazonaws.com
 3963         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3964   5352   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 3965   5353   
new file mode 100644
 3966   5354   
index 0000000..0468d80
 3967         -
-- /dev/null
        5355  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 3968   5356   
@@ -0,0 +1,12 @@
        5357  +
{
        5358  +
    "credentials": {
        5359  +
        "access_key_id": "AKIDEXAMPLE",
        5360  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5361  +
    },
        5362  +
    "expiration_in_seconds": 3600,
        5363  +
    "normalize": true,
        5364  +
    "region": "us-east-1",
        5365  +
    "service": "service",
        5366  +
    "sign_body": false,
        5367  +
    "timestamp": "2015-08-30T12:36:00Z"
        5368  +
}
              \
 No newline at end of file
 3969   5369   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 3970   5370   
new file mode 100644
 3971   5371   
index 0000000..da07537
 3972         -
-- /dev/null
        5372  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 3973   5373   
@@ -0,0 +1,9 @@
        5374  +
GET
        5375  +
/
        5376  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        5377  +
host:example.amazonaws.com
        5378  +
x-amz-date:20150830T123600Z
        5379  +
x-amz-region-set:us-east-1
        5380  +
        5381  +
host;x-amz-date;x-amz-region-set
        5382  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3974   5383   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 3975   5384   
new file mode 100644
 3976   5385   
index 0000000..edb21e5
 3977         -
-- /dev/null
        5386  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 3978   5387   
@@ -0,0 +1 @@
        5388  +
304402201c9d8aa856d87542e2fc29ccb3841bf604d7582a8ab2ca8e6c9e21c98693f35502207052f84ecd1dc8b6468a536e9d1bdc990cf14bae8142c1cc945f15bcf0e87613
              \
 No newline at end of file
 3979   5389   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 3980   5390   
new file mode 100644
 3981   5391   
index 0000000..e60394c
 3982         -
-- /dev/null
        5392  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 3983   5393   
@@ -0,0 +1,6 @@
        5394  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5395  +
Host:example.amazonaws.com
        5396  +
X-Amz-Date:20150830T123600Z
        5397  +
X-Amz-Region-Set:us-east-1
        5398  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100cef3137947f52af13fe5591d4ddcff0260176e7b2a668b43ac8f0cba2e489fe502203b4fe53c9fe3e8925643fe0e4c3ec0b3ea6262917bf7300d2e2abb399078e6de
        5399  +
 3984   5400   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 3985   5401   
new file mode 100644
 3986   5402   
index 0000000..1dfc886
 3987         -
-- /dev/null
        5403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 3988   5404   
@@ -0,0 +1,4 @@
        5405  +
AWS4-ECDSA-P256-SHA256
        5406  +
20150830T123600Z
        5407  +
20150830/service/aws4_request
        5408  +
55568a29040b287c72015a5ab482d9aaceeb1e9881f3bc946378bc3d6079f6a5
              \
 No newline at end of file
 3989   5409   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 3990   5410   
new file mode 100644
 3991   5411   
index 0000000..379dcb2
 3992         -
-- /dev/null
        5412  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 3993   5413   
@@ -0,0 +1,4 @@
        5414  +
{
        5415  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5416  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5417  +
}
 3994   5418   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 3995   5419   
new file mode 100644
 3996   5420   
index 0000000..e94dc0c
 3997         -
-- /dev/null
        5421  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 3998   5422   
@@ -0,0 +1,7 @@
        5423  +
GET
        5424  +
/
        5425  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3&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=host
        5426  +
host:example.amazonaws.com
        5427  +
        5428  +
host
        5429  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3999   5430   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4000   5431   
new file mode 100644
 4001   5432   
index 0000000..7489437
 4002         -
-- /dev/null
        5433  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4003   5434   
@@ -0,0 +1 @@
        5435  +
3046022100dcc853d7fbd59ceebd1ac57d404b979a7252cf88c79dcc6d58167902750235fd022100ffa98128e35b03aa434287165980f78533e9e6dfc80373cea82b047f4f0554ee
              \
 No newline at end of file
 4004   5436   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4005   5437   
new file mode 100644
 4006   5438   
index 0000000..90c0e73
 4007         -
-- /dev/null
        5439  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4008   5440   
@@ -0,0 +1,3 @@
        5441  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=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=3046022100a1244805f7fd13f1c5f4824fe85052857f2c5b6820829562e3853715966a4f7102210091a4e9e79fd79fc7d4d580061730822d3228d15d584b7c5c16a4c490690740c5 HTTP/1.1
        5442  +
Host:example.amazonaws.com
        5443  +
 4009   5444   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4010   5445   
new file mode 100644
 4011   5446   
index 0000000..ab8a711
 4012         -
-- /dev/null
        5447  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4013   5448   
@@ -0,0 +1,4 @@
        5449  +
AWS4-ECDSA-P256-SHA256
        5450  +
20150830T123600Z
        5451  +
20150830/service/aws4_request
        5452  +
56d9ab07692614338f2aa44f1018ad4102b19305fba8b83383d2d7c6ca816614
              \
 No newline at end of file
 4014   5453   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4015   5454   
new file mode 100644
 4016   5455   
index 0000000..368c6e3
 4017         -
-- /dev/null
        5456  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4018   5457   
@@ -0,0 +1,2 @@
        5458  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5459  +
Host:example.amazonaws.com
 4019   5460   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4020   5461   
new file mode 100644
 4021   5462   
index 0000000..0468d80
 4022         -
-- /dev/null
        5463  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4023   5464   
@@ -0,0 +1,12 @@
        5465  +
{
        5466  +
    "credentials": {
        5467  +
        "access_key_id": "AKIDEXAMPLE",
        5468  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5469  +
    },
        5470  +
    "expiration_in_seconds": 3600,
        5471  +
    "normalize": true,
        5472  +
    "region": "us-east-1",
        5473  +
    "service": "service",
        5474  +
    "sign_body": false,
        5475  +
    "timestamp": "2015-08-30T12:36:00Z"
        5476  +
}
              \
 No newline at end of file
 4024   5477   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-canonical-request.txt
 4025   5478   
similarity index 99%
 4026   5479   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/header-canonical-request.txt
 4027   5480   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-canonical-request.txt
 4028   5481   
index 74f625a..3db56f7 100644
 4029   5482   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4030   5483   
new file mode 100644
 4031   5484   
index 0000000..e6042bc
 4032         -
-- /dev/null
        5485  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4033   5486   
@@ -0,0 +1 @@
        5487  +
3045022100b342b0d62487d235a5baf82e970102670a8d7af34c61f086125d204a90724d9e022070304e846de3de228c57e528b61f4addfdb5fa788a8a452e483c6a286d8803f5
              \
 No newline at end of file
 4034   5488   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4035   5489   
new file mode 100644
 4036   5490   
index 0000000..5505969
 4037         -
-- /dev/null
        5491  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4038   5492   
@@ -0,0 +1,6 @@
        5493  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        5494  +
Host:example.amazonaws.com
        5495  +
X-Amz-Date:20150830T123600Z
        5496  +
X-Amz-Region-Set:us-east-1
        5497  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220394fa0699225f403514cb4db03b7c479f64c5f9864bf520b871bb23a054d6517022100d4445c909fc62a43c6c485a8582621e0e14c6ef1e4218072bc2dcaffc1188f18
        5498  +
 4039   5499   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-string-to-sign.txt
 4040   5500   
similarity index 99%
 4041   5501   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/header-string-to-sign.txt
 4042   5502   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-string-to-sign.txt
 4043   5503   
index 44873b7..e8f5e31 100644
 4044   5504   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4045   5505   
new file mode 100644
 4046   5506   
index 0000000..379dcb2
 4047         -
-- /dev/null
        5507  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4048   5508   
@@ -0,0 +1,4 @@
        5509  +
{
        5510  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5511  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5512  +
}
 4049   5513   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-canonical-request.txt
 4050   5514   
similarity index 99%
 4051   5515   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/query-canonical-request.txt
 4052   5516   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-canonical-request.txt
 4053   5517   
index 6d30727..3fe6a9f 100644
 4054   5518   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4055   5519   
new file mode 100644
 4056   5520   
index 0000000..3f35de8
 4057         -
-- /dev/null
        5521  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4058   5522   
@@ -0,0 +1 @@
        5523  +
304402207c976c47b1bcf7333ad10fcf78498bb14a368a6cd8f58703d47c9e91c4468c13022059a3715bafae9410271bf3355ccd0bbc622fe90f3c0168203d83323297789de5
              \
 No newline at end of file
 4059   5524   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4060   5525   
new file mode 100644
 4061   5526   
index 0000000..30b336b
 4062         -
-- /dev/null
        5527  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4063   5528   
@@ -0,0 +1,3 @@
        5529  +
GET /?Param2=value2&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=304402202cbada4314f8da2b9dfa447db936428ad13f522f007110427e5c6c4dbf93762f02205ad19e24495835a7242c546eeec3dbdfcd538361fd9a67f99610a8adab3411e9 HTTP/1.1
        5530  +
Host:example.amazonaws.com
        5531  +
 4064   5532   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-string-to-sign.txt
 4065   5533   
similarity index 99%
 4066   5534   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/query-string-to-sign.txt
 4067   5535   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-string-to-sign.txt
 4068   5536   
index 99d0510..7f0565f 100644
 4069   5537   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 4070   5538   
similarity index 100%
 4071   5539   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.req
 4072   5540   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 4073   5541   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 4074   5542   
new file mode 100644
 4075   5543   
index 0000000..0468d80
 4076         -
-- /dev/null
        5544  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 4077   5545   
@@ -0,0 +1,12 @@
        5546  +
{
        5547  +
    "credentials": {
        5548  +
        "access_key_id": "AKIDEXAMPLE",
        5549  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5550  +
    },
        5551  +
    "expiration_in_seconds": 3600,
        5552  +
    "normalize": true,
        5553  +
    "region": "us-east-1",
        5554  +
    "service": "service",
        5555  +
    "sign_body": false,
        5556  +
    "timestamp": "2015-08-30T12:36:00Z"
        5557  +
}
              \
 No newline at end of file
 4078   5558   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4079   5559   
similarity index 99%
 4080   5560   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
 4081   5561   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4082   5562   
index 816c862..cc4537a 100644
 4083   5563   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 4084   5564   
new file mode 100644
 4085   5565   
index 0000000..70d38c1
 4086         -
-- /dev/null
        5566  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 4087   5567   
@@ -0,0 +1 @@
        5568  +
3045022100ce7ae9d07bea650598803710644006d47de14a884d0777abd71ccf76164a36c70220256f34ad94c5cb1291a05f7680c2a0068c51d2a31a4e2fe2100d4a58197565ed
              \
 No newline at end of file
 4088   5569   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 4089   5570   
new file mode 100644
 4090   5571   
index 0000000..0647eea
 4091         -
-- /dev/null
        5572  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 4092   5573   
@@ -0,0 +1,6 @@
        5574  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5575  +
Host:example.amazonaws.com
        5576  +
X-Amz-Date:20150830T123600Z
        5577  +
X-Amz-Region-Set:us-east-1
        5578  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220023b0ce37b4e3f7fe6b6e155dab72846b461d22ff4820f019a07afef476f61ee022100f985e993037270cc48ac905b360046d077770a2b28aa829ea909430b1b3ed8aa
        5579  +
 4093   5580   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 4094   5581   
similarity index 99%
 4095   5582   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
 4096   5583   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 4097   5584   
index 6129fc5..cc19d14 100644
 4098   5585   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 4099   5586   
new file mode 100644
 4100   5587   
index 0000000..379dcb2
 4101         -
-- /dev/null
        5588  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 4102   5589   
@@ -0,0 +1,4 @@
        5590  +
{
        5591  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5592  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5593  +
}
 4103   5594   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 4104   5595   
similarity index 99%
 4105   5596   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
 4106   5597   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 4107   5598   
index b77ee9f..ed6a10e 100644
 4108   5599   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 4109   5600   
new file mode 100644
 4110   5601   
index 0000000..2ceba7b
 4111         -
-- /dev/null
        5602  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 4112   5603   
@@ -0,0 +1 @@
        5604  +
30450220720698c40b04f1a2e1f94e91ed9a59f8b2a2e70cb55e6dd245d0aec039cad6ea022100b2076666b780735e1ddabf773f141ff49f8df3686ffb6c4c7798ba22470e3819
              \
 No newline at end of file
 4113   5605   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 4114   5606   
new file mode 100644
 4115   5607   
index 0000000..0cd6d0a
 4116         -
-- /dev/null
        5608  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 4117   5609   
@@ -0,0 +1,3 @@
        5610  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&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=3046022100fa0918db3b6088ebabc41b614c1e60820cf46a58a5e939bf27ab43869e60133e022100f2b594597c9f6266cae0f17de30e2776827431f7cb63224530cf7718f38df0b0 HTTP/1.1
        5611  +
Host:example.amazonaws.com
        5612  +
 4118   5613   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 4119   5614   
similarity index 99%
 4120   5615   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
 4121   5616   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 4122   5617   
index 1cfed7a..aad1421 100644
 4123   5618   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4124   5619   
similarity index 86%
 4125   5620   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
 4126   5621   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4127   5622   
index d2833b3..36b2fe3 100644
 4128         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
        5623  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4129   5624   
@@ -1,3 +1,2 @@
 4130   5625   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4131   5626   
Host:example.amazonaws.com
 4132         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4133   5627   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 4134   5628   
new file mode 100644
 4135   5629   
index 0000000..0468d80
 4136         -
-- /dev/null
        5630  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 4137   5631   
@@ -0,0 +1,12 @@
        5632  +
{
        5633  +
    "credentials": {
        5634  +
        "access_key_id": "AKIDEXAMPLE",
        5635  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5636  +
    },
        5637  +
    "expiration_in_seconds": 3600,
        5638  +
    "normalize": true,
        5639  +
    "region": "us-east-1",
        5640  +
    "service": "service",
        5641  +
    "sign_body": false,
        5642  +
    "timestamp": "2015-08-30T12:36:00Z"
        5643  +
}
              \
 No newline at end of file
 4138   5644   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 4139   5645   
new file mode 100644
 4140   5646   
index 0000000..76db73d
 4141         -
-- /dev/null
        5647  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 4142   5648   
@@ -0,0 +1,9 @@
        5649  +
GET
        5650  +
/
        5651  +
        5652  +
host:example.amazonaws.com
        5653  +
x-amz-date:20150830T123600Z
        5654  +
x-amz-region-set:us-east-1
        5655  +
        5656  +
host;x-amz-date;x-amz-region-set
        5657  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4143   5658   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 4144   5659   
new file mode 100644
 4145   5660   
index 0000000..281cc62
 4146         -
-- /dev/null
        5661  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 4147   5662   
@@ -0,0 +1 @@
        5663  +
304402202f36c5363f01990fac07fb18efd255fb82fa3807a8a84946f0b5ac2b71ac96f5022068a86869075a8ca0fe4f875f6a07af6df16538f156dba648c9a96b7c3d687924
              \
 No newline at end of file
 4148   5664   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 4149   5665   
new file mode 100644
 4150   5666   
index 0000000..cce9925
 4151         -
-- /dev/null
        5667  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 4152   5668   
@@ -0,0 +1,6 @@
        5669  +
GET / HTTP/1.1
        5670  +
Host:example.amazonaws.com
        5671  +
X-Amz-Date:20150830T123600Z
        5672  +
X-Amz-Region-Set:us-east-1
        5673  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502201f8540fba7741deef60d162a2cf5a8abece28db296174e82420ae6790d93b8af022100d3109ac9ec7995b9e976efa2c54b278d3fab0737e3c73483771773d2061d8f3f
        5674  +
 4153   5675   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 4154   5676   
new file mode 100644
 4155   5677   
index 0000000..600f1d8
 4156         -
-- /dev/null
        5678  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 4157   5679   
@@ -0,0 +1,4 @@
        5680  +
AWS4-ECDSA-P256-SHA256
        5681  +
20150830T123600Z
        5682  +
20150830/service/aws4_request
        5683  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4158   5684   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 4159   5685   
new file mode 100644
 4160   5686   
index 0000000..379dcb2
 4161         -
-- /dev/null
        5687  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 4162   5688   
@@ -0,0 +1,4 @@
        5689  +
{
        5690  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5691  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5692  +
}
 4163   5693   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 4164   5694   
new file mode 100644
 4165   5695   
index 0000000..779c51c
 4166         -
-- /dev/null
        5696  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 4167   5697   
@@ -0,0 +1,7 @@
        5698  +
GET
        5699  +
/
        5700  +
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=host
        5701  +
host:example.amazonaws.com
        5702  +
        5703  +
host
        5704  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4168   5705   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 4169   5706   
new file mode 100644
 4170   5707   
index 0000000..2979e5e
 4171         -
-- /dev/null
        5708  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 4172   5709   
@@ -0,0 +1 @@
        5710  +
304402203840161a4739cd19b33c2186657554e140b84ce1fe9021074f154410b97ffad002200606f4430d72826616b2cd47590fcee42bbf23cb0287458389a43f9e6edd897d
              \
 No newline at end of file
 4173   5711   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 4174   5712   
new file mode 100644
 4175   5713   
index 0000000..1b3179c
 4176         -
-- /dev/null
        5714  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 4177   5715   
@@ -0,0 +1,3 @@
        5716  +
GET /?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=304502210081f33b59ccf8c4a729d3e3f6ac355cfb6bb0f9c507b180ed7eb2756202cfe220022074f44519d0f1da1d20737fec456ac86aa876379e4531633c14972b88bc268eb7 HTTP/1.1
        5717  +
Host:example.amazonaws.com
        5718  +
 4178   5719   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 4179   5720   
new file mode 100644
 4180   5721   
index 0000000..6e29a7e
 4181         -
-- /dev/null
        5722  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 4182   5723   
@@ -0,0 +1,4 @@
        5724  +
AWS4-ECDSA-P256-SHA256
        5725  +
20150830T123600Z
        5726  +
20150830/service/aws4_request
        5727  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4183   5728   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4184   5729   
similarity index 60%
 4185   5730   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
 4186   5731   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4187   5732   
index 0f7a9bf..e659c3b 100644
 4188         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
        5733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4189   5734   
@@ -1,3 +1,2 @@
 4190   5735   
GET / HTTP/1.1
 4191   5736   
Host:example.amazonaws.com
 4192         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4193   5737   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 4194   5738   
new file mode 100644
 4195   5739   
index 0000000..0468d80
 4196         -
-- /dev/null
        5740  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 4197   5741   
@@ -0,0 +1,12 @@
        5742  +
{
        5743  +
    "credentials": {
        5744  +
        "access_key_id": "AKIDEXAMPLE",
        5745  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5746  +
    },
        5747  +
    "expiration_in_seconds": 3600,
        5748  +
    "normalize": true,
        5749  +
    "region": "us-east-1",
        5750  +
    "service": "service",
        5751  +
    "sign_body": false,
        5752  +
    "timestamp": "2015-08-30T12:36:00Z"
        5753  +
}
              \
 No newline at end of file
 4198   5754   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 4199   5755   
new file mode 100644
 4200   5756   
index 0000000..8841ddf
 4201         -
-- /dev/null
        5757  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 4202   5758   
@@ -0,0 +1,9 @@
        5759  +
GET
        5760  +
/
        5761  +
%E1%88%B4=bar
        5762  +
host:example.amazonaws.com
        5763  +
x-amz-date:20150830T123600Z
        5764  +
x-amz-region-set:us-east-1
        5765  +
        5766  +
host;x-amz-date;x-amz-region-set
        5767  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4203   5768   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 4204   5769   
new file mode 100644
 4205   5770   
index 0000000..1497add
 4206         -
-- /dev/null
        5771  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 4207   5772   
@@ -0,0 +1 @@
        5773  +
3046022100b47fe24b090d857f34597a58a4e8acd0ea9639462e606af7e1fa1e2c3fae1d630221008ce7f870adf7d2c06f299da0c9870402b027c6a50ff027881655a664ff294cc3
              \
 No newline at end of file
 4208   5774   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 4209   5775   
new file mode 100644
 4210   5776   
index 0000000..961bc10
 4211         -
-- /dev/null
        5777  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 4212   5778   
@@ -0,0 +1,6 @@
        5779  +
GET /?ሴ=bar HTTP/1.1
        5780  +
Host:example.amazonaws.com
        5781  +
X-Amz-Date:20150830T123600Z
        5782  +
X-Amz-Region-Set:us-east-1
        5783  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502206e0b9d70bb0413a557946314e04739d721c9f301d452c072590edfdcb9320572022100846f242fb0346c8c56c76a6f0e70c521d7ac02742f09c2e7b5253f1e9afe5a44
        5784  +
 4213   5785   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 4214   5786   
new file mode 100644
 4215   5787   
index 0000000..e78ed70
 4216         -
-- /dev/null
        5788  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 4217   5789   
@@ -0,0 +1,4 @@
        5790  +
AWS4-ECDSA-P256-SHA256
        5791  +
20150830T123600Z
        5792  +
20150830/service/aws4_request
        5793  +
b27131d754045e85823698b1fe3fc9694c17b16d97f4c43cef2359a1233c7b76
              \
 No newline at end of file
 4218   5794   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 4219   5795   
new file mode 100644
 4220   5796   
index 0000000..379dcb2
 4221         -
-- /dev/null
        5797  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 4222   5798   
@@ -0,0 +1,4 @@
        5799  +
{
        5800  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5801  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5802  +
}
 4223   5803   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 4224   5804   
new file mode 100644
 4225   5805   
index 0000000..6d5ae93
 4226         -
-- /dev/null
        5806  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 4227   5807   
@@ -0,0 +1,7 @@
        5808  +
GET
        5809  +
/
        5810  +
%E1%88%B4=bar&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=host
        5811  +
host:example.amazonaws.com
        5812  +
        5813  +
host
        5814  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4228   5815   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 4229   5816   
new file mode 100644
 4230   5817   
index 0000000..92107f2
 4231         -
-- /dev/null
        5818  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 4232   5819   
@@ -0,0 +1 @@
        5820  +
3044022076d8b03a19db63abc106c50f13487d5363f1eac2c77bc4eda764eadba8f84c6502205c0aa76554ba223a97958be9ff34aca35d84cb7b8c7ba698793ead9e6788e241
              \
 No newline at end of file
 4233   5821   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 4234   5822   
new file mode 100644
 4235   5823   
index 0000000..bb8a75b
 4236         -
-- /dev/null
        5824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 4237   5825   
@@ -0,0 +1,3 @@
        5826  +
GET /?ሴ=bar&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=3046022100d0001873de6d6746a050e3dff894b0fbccce0bbe7fad8e4c0960761d053a695b022100fb8f5d77ebb1854be7a8e1ea56428aba3a2f3bf23211e1049a2fa18b56784b63 HTTP/1.1
        5827  +
Host:example.amazonaws.com
        5828  +
 4238   5829   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 4239   5830   
new file mode 100644
 4240   5831   
index 0000000..9fa94c7
 4241         -
-- /dev/null
        5832  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 4242   5833   
@@ -0,0 +1,4 @@
        5834  +
AWS4-ECDSA-P256-SHA256
        5835  +
20150830T123600Z
        5836  +
20150830/service/aws4_request
        5837  +
e22d57192c68232f914afff959b8aa1027756098f879c7d4d7615a2469f85c1f
              \
 No newline at end of file
 4243   5838   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 4244   5839   
new file mode 100644
 4245   5840   
index 0000000..aff333a
 4246         -
-- /dev/null
        5841  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 4247   5842   
@@ -0,0 +1,2 @@
        5843  +
GET /?ሴ=bar HTTP/1.1
        5844  +
Host:example.amazonaws.com
 4248   5845   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 4249   5846   
new file mode 100644
 4250   5847   
index 0000000..a334e18
 4251         -
-- /dev/null
        5848  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 4252   5849   
@@ -0,0 +1,13 @@
        5850  +
{
        5851  +
    "credentials": {
        5852  +
        "access_key_id": "AKIDEXAMPLE",
        5853  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        5854  +
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
        5855  +
    },
        5856  +
    "expiration_in_seconds": 3600,
        5857  +
    "normalize": true,
        5858  +
    "region": "us-east-1",
        5859  +
    "service": "service",
        5860  +
    "sign_body": false,
        5861  +
    "timestamp": "2015-08-30T12:36:00Z"
        5862  +
}
              \
 No newline at end of file
 4253   5863   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 4254   5864   
similarity index 99%
 4255   5865   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
 4256   5866   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 4257   5867   
index f14defd..0e9ad42 100644
 4258   5868   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 4259   5869   
new file mode 100644
 4260   5870   
index 0000000..a7673b5
 4261         -
-- /dev/null
        5871  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 4262   5872   
@@ -0,0 +1 @@
        5873  +
3044022035c6bc9a8cab8a434bd8bd1cc3b6f1401842f530f1537722ad10d72a1577f8c80220101352fe0720715efbab80f82edb133175f0b61cad85daf943ad615852f9ae10
              \
 No newline at end of file
 4263   5874   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 4264   5875   
new file mode 100644
 4265   5876   
index 0000000..ed16e76
 4266         -
-- /dev/null
        5877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 4267   5878   
@@ -0,0 +1,7 @@
        5879  +
GET / HTTP/1.1
        5880  +
Host:example.amazonaws.com
        5881  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        5882  +
X-Amz-Date:20150830T123600Z
        5883  +
X-Amz-Region-Set:us-east-1
        5884  +
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=30450221008f4516c8850ed9eb29502658d1f0e0f6cabc11a44963c558efd1dd8e9fb084a0022032e47df89ad1a5b4e2b82d3a68dbe31d6ef8e1ea8c3815b2097538c4695d184e
        5885  +
 4268   5886   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-string-to-sign.txt
 4269   5887   
similarity index 99%
 4270   5888   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-string-to-sign.txt
 4271   5889   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-string-to-sign.txt
 4272   5890   
index 4edece5..6c1ec65 100644
 4273   5891   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 4274   5892   
new file mode 100644
 4275   5893   
index 0000000..379dcb2
 4276         -
-- /dev/null
        5894  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 4277   5895   
@@ -0,0 +1,4 @@
        5896  +
{
        5897  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5898  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5899  +
}
 4278   5900   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 4279   5901   
similarity index 99%
 4280   5902   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
 4281   5903   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 4282   5904   
index 7c042af..1876b42 100644
 4283   5905   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 4284   5906   
new file mode 100644
 4285   5907   
index 0000000..903dfb4
 4286         -
-- /dev/null
        5908  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 4287   5909   
@@ -0,0 +1 @@
        5910  +
3046022100d51f7ae1ac1b6b3db6c40f69aafb4306f81cdd2d87a85f69b2c4cb8fd057cf21022100cdb787a698c3f53d961f5b6279a0ff246097f50c874bcbf7a249bf4c0f118fb3
              \
 No newline at end of file
 4288   5911   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 4289   5912   
new file mode 100644
 4290   5913   
index 0000000..bf1d246
 4291         -
-- /dev/null
        5914  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 4292   5915   
@@ -0,0 +1,3 @@
        5916  +
GET /?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=6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304502207cdbb61908b9d4cf6c84e03ff7dac10a9a4637784d335a7d8bf1d1a6931bc3ba022100ee78b054e5441b71ab155632174df6b68bdaa00eabf939bf0c7299e1367e02a4 HTTP/1.1
        5917  +
Host:example.amazonaws.com
        5918  +
 4293   5919   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-string-to-sign.txt
 4294   5920   
similarity index 99%
 4295   5921   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-string-to-sign.txt
 4296   5922   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-string-to-sign.txt
 4297   5923   
index 0fd066a..f1b1790 100644
 4298   5924   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4299   5925   
similarity index 60%
 4300   5926   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
 4301   5927   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4302   5928   
index 0f7a9bf..e659c3b 100644
 4303         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
        5929  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4304   5930   
@@ -1,3 +1,2 @@
 4305   5931   
GET / HTTP/1.1
 4306   5932   
Host:example.amazonaws.com
 4307         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4308   5933   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 4309   5934   
new file mode 100644
 4310   5935   
index 0000000..76db73d
 4311         -
-- /dev/null
        5936  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 4312   5937   
@@ -0,0 +1,9 @@
        5938  +
GET
        5939  +
/
        5940  +
        5941  +
host:example.amazonaws.com
        5942  +
x-amz-date:20150830T123600Z
        5943  +
x-amz-region-set:us-east-1
        5944  +
        5945  +
host;x-amz-date;x-amz-region-set
        5946  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4313   5947   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 4314   5948   
new file mode 100644
 4315   5949   
index 0000000..0468d80
 4316         -
-- /dev/null
        5950  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 4317   5951   
@@ -0,0 +1,12 @@
        5952  +
{
        5953  +
    "credentials": {
        5954  +
        "access_key_id": "AKIDEXAMPLE",
        5955  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5956  +
    },
        5957  +
    "expiration_in_seconds": 3600,
        5958  +
    "normalize": true,
        5959  +
    "region": "us-east-1",
        5960  +
    "service": "service",
        5961  +
    "sign_body": false,
        5962  +
    "timestamp": "2015-08-30T12:36:00Z"
        5963  +
}
              \
 No newline at end of file
 4318   5964   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 4319   5965   
new file mode 100644
 4320   5966   
index 0000000..76db73d
 4321         -
-- /dev/null
        5967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 4322   5968   
@@ -0,0 +1,9 @@
        5969  +
GET
        5970  +
/
        5971  +
        5972  +
host:example.amazonaws.com
        5973  +
x-amz-date:20150830T123600Z
        5974  +
x-amz-region-set:us-east-1
        5975  +
        5976  +
host;x-amz-date;x-amz-region-set
        5977  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4323   5978   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 4324   5979   
new file mode 100644
 4325   5980   
index 0000000..a96ff24
 4326         -
-- /dev/null
        5981  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 4327   5982   
@@ -0,0 +1 @@
        5983  +
3045022018b4e277d0281864beb51d3600e23f88510ea5031d68ddfbb68614b82a5eb7d2022100effb9c5f22ed9ef3ae0ab243d21f06bce82365bbb79529a07b6888c343ae5f8c
              \
 No newline at end of file
 4328   5984   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 4329   5985   
new file mode 100644
 4330   5986   
index 0000000..689078b
 4331         -
-- /dev/null
        5987  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 4332   5988   
@@ -0,0 +1,6 @@
        5989  +
GET / HTTP/1.1
        5990  +
Host:example.amazonaws.com
        5991  +
X-Amz-Date:20150830T123600Z
        5992  +
X-Amz-Region-Set:us-east-1
        5993  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100fddaaf816a31e30d04973875b13bc27b98da10907a3a1872fd5819a221334abc022100de2ee81d83b54f31efc82834de07e6cd4d5c6f25bfa08e0f29a15bb0977c343e
        5994  +
 4333   5995   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 4334   5996   
new file mode 100644
 4335   5997   
index 0000000..600f1d8
 4336         -
-- /dev/null
        5998  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 4337   5999   
@@ -0,0 +1,4 @@
        6000  +
AWS4-ECDSA-P256-SHA256
        6001  +
20150830T123600Z
        6002  +
20150830/service/aws4_request
        6003  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4338   6004   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 4339   6005   
new file mode 100644
 4340   6006   
index 0000000..379dcb2
 4341         -
-- /dev/null
        6007  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 4342   6008   
@@ -0,0 +1,4 @@
        6009  +
{
        6010  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6011  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6012  +
}
 4343   6013   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 4344   6014   
new file mode 100644
 4345   6015   
index 0000000..779c51c
 4346         -
-- /dev/null
        6016  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 4347   6017   
@@ -0,0 +1,7 @@
        6018  +
GET
        6019  +
/
        6020  +
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=host
        6021  +
host:example.amazonaws.com
        6022  +
        6023  +
host
        6024  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4348   6025   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 4349   6026   
new file mode 100644
 4350   6027   
index 0000000..cc42158
 4351         -
-- /dev/null
        6028  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 4352   6029   
@@ -0,0 +1 @@
        6030  +
3045022100b3246f8e1442dd58e73292ae1294720c3256ee58f6cea50f3a3f83b4a4b0331a0220329693f7745c9008a5887c0529ceccb0fae4e16d707b712ea66acdbaf963769a
              \
 No newline at end of file
 4353   6031   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 4354   6032   
new file mode 100644
 4355   6033   
index 0000000..dc6d01d
 4356         -
-- /dev/null
        6034  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 4357   6035   
@@ -0,0 +1,3 @@
        6036  +
GET /?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=3045022100a28466db6c76223d5aa6ed436a8451b30e21ba0a076e7f2f943dd1f3d2816249022049e4b3746929cd2a2cb7b7984dbe0f5d40a300e7d9a7a7f1307c196b6f96b61a HTTP/1.1
        6037  +
Host:example.amazonaws.com
        6038  +
 4358   6039   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 4359   6040   
new file mode 100644
 4360   6041   
index 0000000..6e29a7e
 4361         -
-- /dev/null
        6042  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 4362   6043   
@@ -0,0 +1,4 @@
        6044  +
AWS4-ECDSA-P256-SHA256
        6045  +
20150830T123600Z
        6046  +
20150830/service/aws4_request
        6047  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4363   6048   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 4364   6049   
new file mode 100644
 4365   6050   
index 0000000..e659c3b
 4366         -
-- /dev/null
        6051  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 4367   6052   
@@ -0,0 +1,2 @@
        6053  +
GET / HTTP/1.1
        6054  +
Host:example.amazonaws.com
 4368   6055   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 4369   6056   
new file mode 100644
 4370   6057   
index 0000000..600f1d8
 4371         -
-- /dev/null
        6058  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 4372   6059   
@@ -0,0 +1,4 @@
        6060  +
AWS4-ECDSA-P256-SHA256
        6061  +
20150830T123600Z
        6062  +
20150830/service/aws4_request
        6063  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4373   6064   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 4374   6065   
new file mode 100644
 4375   6066   
index 0000000..0468d80
 4376         -
-- /dev/null
        6067  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 4377   6068   
@@ -0,0 +1,12 @@
        6069  +
{
        6070  +
    "credentials": {
        6071  +
        "access_key_id": "AKIDEXAMPLE",
        6072  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6073  +
    },
        6074  +
    "expiration_in_seconds": 3600,
        6075  +
    "normalize": true,
        6076  +
    "region": "us-east-1",
        6077  +
    "service": "service",
        6078  +
    "sign_body": false,
        6079  +
    "timestamp": "2015-08-30T12:36:00Z"
        6080  +
}
              \
 No newline at end of file
 4378   6081   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 4379   6082   
similarity index 99%
 4380   6083   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
 4381   6084   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 4382   6085   
index a6942c1..e881ac7 100644
 4383   6086   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 4384   6087   
new file mode 100644
 4385   6088   
index 0000000..4210210
 4386         -
-- /dev/null
        6089  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 4387   6090   
@@ -0,0 +1 @@
        6091  +
3044022025397839d55c2147eead39170f5b1758c9f9fb4ccbcda4c8612a23df8e90c13d022079f5fc1377201691a11be43def8be12fe882e998589317508ff67b8dbe982722
              \
 No newline at end of file
 4388   6092   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 4389   6093   
new file mode 100644
 4390   6094   
index 0000000..257b110
 4391         -
-- /dev/null
        6095  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 4392   6096   
@@ -0,0 +1,6 @@
        6097  +
POST / HTTP/1.1
        6098  +
Host:example.amazonaws.com
        6099  +
X-Amz-Date:20150830T123600Z
        6100  +
X-Amz-Region-Set:us-east-1
        6101  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304602210081bb2a93eae5cce843abe0e7cac2f0e4cecdd0a79cb8d60e5b9dc4c8e8906b61022100e18c8119f50b8218da995ada62080d88ff75d2f02309c3685a02dfb9a83b103f
        6102  +
 4393   6103   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 4394   6104   
similarity index 99%
 4395   6105   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
 4396   6106   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 4397   6107   
index d5650cb..f8adf13 100644
 4398   6108   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 4399   6109   
new file mode 100644
 4400   6110   
index 0000000..379dcb2
 4401         -
-- /dev/null
        6111  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 4402   6112   
@@ -0,0 +1,4 @@
        6113  +
{
        6114  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6115  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6116  +
}
 4403   6117   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 4404   6118   
similarity index 99%
 4405   6119   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
 4406   6120   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 4407   6121   
index e48ce07..5ea8e3c 100644
 4408   6122   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 4409   6123   
new file mode 100644
 4410   6124   
index 0000000..9e2069e
 4411         -
-- /dev/null
        6125  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 4412   6126   
@@ -0,0 +1 @@
        6127  +
304402204afe4ce8de62e37853d0cb8a00f9601532fdeca89d6d8591c72d5bbf728bee2f02202feb0d8e680cab063e0c3c9090c0483f400511678ce83169ddce3e6d040f9ed8
              \
 No newline at end of file
 4413   6128   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 4414   6129   
new file mode 100644
 4415   6130   
index 0000000..67f5d29
 4416         -
-- /dev/null
        6131  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 4417   6132   
@@ -0,0 +1,3 @@
        6133  +
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=3044022100ebd5c442df864cd1fdd76e9d6e7548cac7ebaed57a93bcb3ac92af37ad5797fc021f1c4887de85feca28098f1dbab7fddaadb08a08564131881b0b5d151b4a2c77 HTTP/1.1
        6134  +
Host:example.amazonaws.com
        6135  +
 4418   6136   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 4419   6137   
similarity index 99%
 4420   6138   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
 4421   6139   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 4422   6140   
index 34e3382..711c162 100644
 4423   6141   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4424   6142   
similarity index 61%
 4425   6143   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.req
 4426   6144   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4427   6145   
index 3dc4179..3f0a82a 100644
 4428         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.req
        6146  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4429   6147   
@@ -1,3 +1,2 @@
 4430   6148   
POST / HTTP/1.1
 4431   6149   
Host:example.amazonaws.com
 4432         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4433   6150   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 4434   6151   
new file mode 100644
 4435   6152   
index 0000000..0468d80
 4436         -
-- /dev/null
        6153  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 4437   6154   
@@ -0,0 +1,12 @@
        6155  +
{
        6156  +
    "credentials": {
        6157  +
        "access_key_id": "AKIDEXAMPLE",
        6158  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6159  +
    },
        6160  +
    "expiration_in_seconds": 3600,
        6161  +
    "normalize": true,
        6162  +
    "region": "us-east-1",
        6163  +
    "service": "service",
        6164  +
    "sign_body": false,
        6165  +
    "timestamp": "2015-08-30T12:36:00Z"
        6166  +
}
              \
 No newline at end of file
 4438   6167   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 4439   6168   
similarity index 99%
 4440   6169   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
 4441   6170   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 4442   6171   
index a8e1727..2883822 100644
 4443   6172   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 4444   6173   
new file mode 100644
 4445   6174   
index 0000000..e3c2e6e
 4446         -
-- /dev/null
        6175  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 4447   6176   
@@ -0,0 +1 @@
        6177  +
304502210097752f8c9953078cbb6b370471cb7029aea9517d59fb835d8befce66a91e6c4a022043a8c62681ff76e6cbaaeaed2fff2fcfee8efceebb7bd9e562ecd5a08b2c563f
              \
 No newline at end of file
 4448   6178   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 4449   6179   
new file mode 100644
 4450   6180   
index 0000000..1d6e288
 4451         -
-- /dev/null
        6181  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 4452   6182   
@@ -0,0 +1,7 @@
        6183  +
POST / HTTP/1.1
        6184  +
Host:example.amazonaws.com
        6185  +
My-Header1:value1
        6186  +
X-Amz-Date:20150830T123600Z
        6187  +
X-Amz-Region-Set:us-east-1
        6188  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3046022100a5dc03771b33997d8eeb15d639cb7bdef2aff78a4a59c7996070e5f94fe149780221009a732061539208209ba0ae6755bef956c258a0c0ac6a6916489486efde21cfeb
        6189  +
 4453   6190   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 4454   6191   
similarity index 99%
 4455   6192   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
 4456   6193   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 4457   6194   
index f6e3e9b..7c5236a 100644
 4458   6195   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 4459   6196   
new file mode 100644
 4460   6197   
index 0000000..379dcb2
 4461         -
-- /dev/null
        6198  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 4462   6199   
@@ -0,0 +1,4 @@
        6200  +
{
        6201  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6202  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6203  +
}
 4463   6204   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 4464   6205   
similarity index 99%
 4465   6206   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
 4466   6207   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 4467   6208   
index 0ae73e1..2cf3f29 100644
 4468   6209   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 4469   6210   
new file mode 100644
 4470   6211   
index 0000000..2a08401
 4471         -
-- /dev/null
        6212  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 4472   6213   
@@ -0,0 +1 @@
        6214  +
304502204f2a31513c9bea5c92dd8045e226dc1db150f768e60b538cacce157c623873dc022100ab5d654ce3c7b917656cec2cf58a3689159e89deed5241ca21e19a40173674c4
              \
 No newline at end of file
 4473   6215   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 4474   6216   
new file mode 100644
 4475   6217   
index 0000000..8d2343f
 4476         -
-- /dev/null
        6218  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 4477   6219   
@@ -0,0 +1,4 @@
        6220  +
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=30450220398bbd17824da156cc02e783348c16e8c04d46d1ae6b31dec9422d8054193380022100f05d3e4f7ed4eed55e950488ed7c53975cdbb4713ec4a2c0af9351ab8fdc9a48 HTTP/1.1
        6221  +
Host:example.amazonaws.com
        6222  +
My-Header1:value1
        6223  +
 4478   6224   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 4479   6225   
similarity index 99%
 4480   6226   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
 4481   6227   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 4482   6228   
index 8cb96bf..2c4db7a 100644
 4483   6229   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4484   6230   
similarity index 69%
 4485   6231   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
 4486   6232   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4487   6233   
index 0253f19..917720e 100644
 4488         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
        6234  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4489   6235   
@@ -1,4 +1,3 @@
 4490   6236   
POST / HTTP/1.1
 4491   6237   
Host:example.amazonaws.com
 4492   6238   
My-Header1:value1
 4493         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4494   6239   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 4495   6240   
new file mode 100644
 4496   6241   
index 0000000..0468d80
 4497         -
-- /dev/null
        6242  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 4498   6243   
@@ -0,0 +1,12 @@
        6244  +
{
        6245  +
    "credentials": {
        6246  +
        "access_key_id": "AKIDEXAMPLE",
        6247  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6248  +
    },
        6249  +
    "expiration_in_seconds": 3600,
        6250  +
    "normalize": true,
        6251  +
    "region": "us-east-1",
        6252  +
    "service": "service",
        6253  +
    "sign_body": false,
        6254  +
    "timestamp": "2015-08-30T12:36:00Z"
        6255  +
}
              \
 No newline at end of file
 4499   6256   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 4500   6257   
similarity index 99%
 4501   6258   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
 4502   6259   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 4503   6260   
index 1dc3ef8..164e65c 100644
 4504   6261   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 4505   6262   
new file mode 100644
 4506   6263   
index 0000000..7072b0e
 4507         -
-- /dev/null
        6264  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 4508   6265   
@@ -0,0 +1 @@
        6266  +
304402207b3baf259f5d29f13511eb4c9b236045c43168ca70369ed639611f4bff9eb6490220465e922e8b19146de9c70147440f4ee80a3318f0c756c8050dbfd641e6ff0456
              \
 No newline at end of file
 4509   6267   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 4510   6268   
new file mode 100644
 4511   6269   
index 0000000..17f5e3e
 4512         -
-- /dev/null
        6270  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 4513   6271   
@@ -0,0 +1,7 @@
        6272  +
POST / HTTP/1.1
        6273  +
Host:example.amazonaws.com
        6274  +
My-Header1:VALUE1
        6275  +
X-Amz-Date:20150830T123600Z
        6276  +
X-Amz-Region-Set:us-east-1
        6277  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022100c72dd4d54c45d3eb30858c6227e9512f41b7379b7c685e39e0cd39a793d7ee3102205c900d330270e31d2f7b5138fb3d791b6743f6f3b9ffbc34a4adcc8307591b11
        6278  +
 4514   6279   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 4515   6280   
similarity index 99%
 4516   6281   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
 4517   6282   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 4518   6283   
index 59c7e45..620f54e 100644
 4519   6284   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 4520   6285   
new file mode 100644
 4521   6286   
index 0000000..379dcb2
 4522         -
-- /dev/null
        6287  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 4523   6288   
@@ -0,0 +1,4 @@
        6289  +
{
        6290  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6291  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6292  +
}
 4524   6293   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 4525   6294   
similarity index 99%
 4526   6295   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
 4527   6296   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 4528   6297   
index 377e6f3..23e0da3 100644
 4529   6298   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 4530   6299   
new file mode 100644
 4531   6300   
index 0000000..a18acb8
 4532         -
-- /dev/null
        6301  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 4533   6302   
@@ -0,0 +1 @@
        6303  +
30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
              \
 No newline at end of file
 4534   6304   
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
 4535   6305   
new file mode 100644
 4536   6306   
index 0000000..7cbdcfa
 4537         -
-- /dev/null
        6307  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 4538   6308   
@@ -0,0 +1,4 @@
        6309  +
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
        6310  +
Host:example.amazonaws.com
        6311  +
My-Header1:VALUE1
        6312  +
 4539   6313   
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
 4540   6314   
similarity index 99%
 4541   6315   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
 4542   6316   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 4543   6317   
index 84a7afd..0c90627 100644
 4544   6318   
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
 4545   6319   
similarity index 69%
 4546   6320   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
 4547   6321   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4548   6322   
index 3f9987a..5f14c91 100644
 4549         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
        6323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4550   6324   
@@ -1,4 +1,3 @@
 4551   6325   
POST / HTTP/1.1
 4552   6326   
Host:example.amazonaws.com
 4553   6327   
My-Header1:VALUE1
 4554         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4555   6328   
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
 4556   6329   
new file mode 100644
 4557   6330   
index 0000000..8f1d5ce
 4558         -
-- /dev/null
        6331  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 4559   6332   
@@ -0,0 +1,14 @@
        6333  +
{
        6334  +
    "credentials": {
        6335  +
        "access_key_id": "AKIDEXAMPLE",
        6336  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6337  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6338  +
    },
        6339  +
    "expiration_in_seconds": 3600,
        6340  +
    "normalize": true,
        6341  +
    "region": "us-east-1",
        6342  +
    "service": "service",
        6343  +
    "sign_body": false,
        6344  +
    "timestamp": "2015-08-30T12:36:00Z",
        6345  +
    "omit_session_token": true
        6346  +
}
 4560   6347   
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
 4561   6348   
similarity index 99%
 4562   6349   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
 4563   6350   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 4564   6351   
index a6942c1..e881ac7 100644
 4565   6352   
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
 4566   6353   
new file mode 100644
 4567   6354   
index 0000000..9c5ecb9
 4568         -
-- /dev/null
        6355  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 4569   6356   
@@ -0,0 +1 @@
        6357  +
3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
              \
 No newline at end of file
 4570   6358   
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
 4571   6359   
similarity index 52%
 4572   6360   
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
 4573   6361   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4574   6362   
index 9d91775..61b6527 100644
 4575         -
-- 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
        6363  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4576   6364   
@@ -1,4 +1,7 @@
 4577   6365   
POST / HTTP/1.1
 4578   6366   
Host:example.amazonaws.com
 4579         -
X-Amz-Date:20150830T123600Z
 4580   6367   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6368  +
X-Amz-Date:20150830T123600Z
        6369  +
X-Amz-Region-Set:us-east-1
        6370  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
        6371  +
 4581   6372   
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
 4582   6373   
similarity index 99%
 4583   6374   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
 4584   6375   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 4585   6376   
index d5650cb..f8adf13 100644
 4586   6377   
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
 4587   6378   
new file mode 100644
 4588   6379   
index 0000000..379dcb2
 4589         -
-- /dev/null
        6380  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 4590   6381   
@@ -0,0 +1,4 @@
        6382  +
{
        6383  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6384  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6385  +
}
 4591   6386   
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
 4592   6387   
similarity index 99%
 4593   6388   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
 4594   6389   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 4595   6390   
index e48ce07..5ea8e3c 100644
 4596   6391   
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
 4597   6392   
new file mode 100644
 4598   6393   
index 0000000..ff8823a
 4599         -
-- /dev/null
        6394  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 4600   6395   
@@ -0,0 +1 @@
        6396  +
3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
              \
 No newline at end of file
 4601   6397   
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
 4602   6398   
new file mode 100644
 4603   6399   
index 0000000..cfac41b
 4604         -
-- /dev/null
        6400  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 4605   6401   
@@ -0,0 +1,3 @@
        6402  +
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
        6403  +
Host:example.amazonaws.com
        6404  +
 4606   6405   
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
 4607   6406   
similarity index 99%
 4608   6407   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
 4609   6408   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 4610   6409   
index 34e3382..711c162 100644
 4611   6410   
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
 4612   6411   
similarity index 61%
 4613   6412   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
 4614   6413   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4615   6414   
index 3dc4179..3f0a82a 100644
 4616         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
        6415  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4617   6416   
@@ -1,3 +1,2 @@
 4618   6417   
POST / HTTP/1.1
 4619   6418   
Host:example.amazonaws.com
 4620         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4621   6419   
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
 4622   6420   
new file mode 100644
 4623   6421   
index 0000000..5187392
 4624         -
-- /dev/null
        6422  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 4625   6423   
@@ -0,0 +1,14 @@
        6424  +
{
        6425  +
    "credentials": {
        6426  +
        "access_key_id": "AKIDEXAMPLE",
        6427  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6428  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6429  +
    },
        6430  +
    "expiration_in_seconds": 3600,
        6431  +
    "normalize": true,
        6432  +
    "region": "us-east-1",
        6433  +
    "service": "service",
        6434  +
    "sign_body": false,
        6435  +
    "timestamp": "2015-08-30T12:36:00Z",
        6436  +
    "omit_session_token": false
        6437  +
}
 4626   6438   
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
 4627   6439   
similarity index 99%
 4628   6440   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
 4629   6441   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 4630   6442   
index dd408c8..e95924e 100644
 4631   6443   
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
 4632   6444   
new file mode 100644
 4633   6445   
index 0000000..1573f07
 4634         -
-- /dev/null
        6446  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 4635   6447   
@@ -0,0 +1 @@
        6448  +
30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
              \
 No newline at end of file
 4636   6449   
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
 4637   6450   
new file mode 100644
 4638   6451   
index 0000000..6ef9a08
 4639         -
-- /dev/null
        6452  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 4640   6453   
@@ -0,0 +1,7 @@
        6454  +
POST / HTTP/1.1
        6455  +
Host:example.amazonaws.com
        6456  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6457  +
X-Amz-Date:20150830T123600Z
        6458  +
X-Amz-Region-Set:us-east-1
        6459  +
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
        6460  +
 4641   6461   
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
 4642   6462   
similarity index 99%
 4643   6463   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
 4644   6464   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 4645   6465   
index f352b54..3c3235f 100644
 4646   6466   
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
 4647   6467   
new file mode 100644
 4648   6468   
index 0000000..379dcb2
 4649         -
-- /dev/null
        6469  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 4650   6470   
@@ -0,0 +1,4 @@
        6471  +
{
        6472  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6473  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6474  +
}
 4651   6475   
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
 4652   6476   
similarity index 99%
 4653   6477   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
 4654   6478   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 4655   6479   
index 832cdc0..63b7de5 100644
 4656   6480   
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
 4657   6481   
new file mode 100644
 4658   6482   
index 0000000..713f57c
 4659         -
-- /dev/null
        6483  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 4660   6484   
@@ -0,0 +1 @@
        6485  +
304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
              \
 No newline at end of file
 4661   6486   
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
 4662   6487   
new file mode 100644
 4663   6488   
index 0000000..32c3bb3
 4664         -
-- /dev/null
        6489  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 4665   6490   
@@ -0,0 +1,3 @@
        6491  +
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
        6492  +
Host:example.amazonaws.com
        6493  +
 4666   6494   
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
 4667   6495   
similarity index 99%
 4668   6496   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
 4669   6497   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 4670   6498   
index d7f3668..b46cd8c 100644
 4671   6499   
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
 4672   6500   
similarity index 60%
 4673   6501   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
 4674   6502   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4675   6503   
index 8b5efc8..3f0a82a 100644
 4676         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
        6504  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4677   6505   
@@ -1,3 +1,2 @@
 4678   6506   
POST / HTTP/1.1
 4679   6507   
Host:example.amazonaws.com
 4680         -
X-Amz-Date:20150830T123600Z
 4681   6508   
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
 4682   6509   
new file mode 100644
 4683   6510   
index 0000000..0468d80
 4684         -
-- /dev/null
        6511  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 4685   6512   
@@ -0,0 +1,12 @@
        6513  +
{
        6514  +
    "credentials": {
        6515  +
        "access_key_id": "AKIDEXAMPLE",
        6516  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6517  +
    },
        6518  +
    "expiration_in_seconds": 3600,
        6519  +
    "normalize": true,
        6520  +
    "region": "us-east-1",
        6521  +
    "service": "service",
        6522  +
    "sign_body": false,
        6523  +
    "timestamp": "2015-08-30T12:36:00Z"
        6524  +
}
              \
 No newline at end of file
 4686   6525   
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
 4687   6526   
similarity index 99%
 4688   6527   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
 4689   6528   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 4690   6529   
index 02af60f..34b8c11 100644
 4691   6530   
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
 4692   6531   
new file mode 100644
 4693   6532   
index 0000000..aac6427
 4694         -
-- /dev/null
        6533  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 4695   6534   
@@ -0,0 +1 @@
        6535  +
3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
              \
 No newline at end of file
 4696   6536   
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
 4697   6537   
new file mode 100644
 4698   6538   
index 0000000..a611436
 4699         -
-- /dev/null
        6539  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 4700   6540   
@@ -0,0 +1,6 @@
        6541  +
POST /?Param1=value1 HTTP/1.1
        6542  +
Host:example.amazonaws.com
        6543  +
X-Amz-Date:20150830T123600Z
        6544  +
X-Amz-Region-Set:us-east-1
        6545  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
        6546  +
 4701   6547   
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
 4702   6548   
similarity index 99%
 4703   6549   
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
 4704   6550   
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
 4705   6551   
index 4256b4f..ad88dff 100644
 4706   6552   
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
 4707   6553   
new file mode 100644
 4708   6554   
index 0000000..379dcb2
 4709         -
-- /dev/null
        6555  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 4710   6556   
@@ -0,0 +1,4 @@
        6557  +
{
        6558  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6559  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6560  +
}
 4711   6561   
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
 4712   6562   
similarity index 99%
 4713   6563   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
 4714   6564   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 4715   6565   
index fa84bbd..76d5ad6 100644
 4716   6566   
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
 4717   6567   
new file mode 100644
 4718   6568   
index 0000000..4cb1c94
 4719         -
-- /dev/null
        6569  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 4720   6570   
@@ -0,0 +1 @@
        6571  +
3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
              \
 No newline at end of file
 4721   6572   
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
 4722   6573   
new file mode 100644
 4723   6574   
index 0000000..bd22b97
 4724         -
-- /dev/null
        6575  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 4725   6576   
@@ -0,0 +1,3 @@
        6577  +
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
        6578  +
Host:example.amazonaws.com
        6579  +
 4726   6580   
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
 4727   6581   
similarity index 99%
 4728   6582   
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
 4729   6583   
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
 4730   6584   
index de270ef..8c9d319 100644
 4731   6585   
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
 4732   6586   
similarity index 67%
 4733   6587   
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
 4734   6588   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4735   6589   
index 9157bc7..c9d6e5d 100644
 4736         -
-- 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
        6590  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4737   6591   
@@ -1,3 +1,2 @@
 4738   6592   
POST /?Param1=value1 HTTP/1.1
 4739   6593   
Host:example.amazonaws.com
 4740         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4741   6594   
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
 4742   6595   
new file mode 100644
 4743   6596   
index 0000000..0468d80
 4744         -
-- /dev/null
        6597  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 4745   6598   
@@ -0,0 +1,12 @@
        6599  +
{
        6600  +
    "credentials": {
        6601  +
        "access_key_id": "AKIDEXAMPLE",
        6602  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6603  +
    },
        6604  +
    "expiration_in_seconds": 3600,
        6605  +
    "normalize": true,
        6606  +
    "region": "us-east-1",
        6607  +
    "service": "service",
        6608  +
    "sign_body": false,
        6609  +
    "timestamp": "2015-08-30T12:36:00Z"
        6610  +
}
              \
 No newline at end of file
 4746   6611   
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
 4747   6612   
similarity index 99%
 4748   6613   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
 4749   6614   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 4750   6615   
index 02af60f..34b8c11 100644
 4751   6616   
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
 4752   6617   
new file mode 100644
 4753   6618   
index 0000000..34f75c8
 4754         -
-- /dev/null
        6619  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 4755   6620   
@@ -0,0 +1 @@
        6621  +
3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
              \
 No newline at end of file
 4756   6622   
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
 4757   6623   
new file mode 100644
 4758   6624   
index 0000000..c731408
 4759         -
-- /dev/null
        6625  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 4760   6626   
@@ -0,0 +1,6 @@
        6627  +
POST /?Param1=value1 HTTP/1.1
        6628  +
Host:example.amazonaws.com
        6629  +
X-Amz-Date:20150830T123600Z
        6630  +
X-Amz-Region-Set:us-east-1
        6631  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
        6632  +
 4761   6633   
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
 4762   6634   
similarity index 99%
 4763   6635   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
 4764   6636   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 4765   6637   
index 4256b4f..ad88dff 100644
 4766   6638   
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
 4767   6639   
new file mode 100644
 4768   6640   
index 0000000..379dcb2
 4769         -
-- /dev/null
        6641  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 4770   6642   
@@ -0,0 +1,4 @@
        6643  +
{
        6644  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6645  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6646  +
}
 4771   6647   
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
 4772   6648   
similarity index 99%
 4773   6649   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
 4774   6650   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 4775   6651   
index fa84bbd..76d5ad6 100644
 4776   6652   
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
 4777   6653   
new file mode 100644
 4778   6654   
index 0000000..ae000d6
 4779         -
-- /dev/null
        6655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 4780   6656   
@@ -0,0 +1 @@
        6657  +
304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
              \
 No newline at end of file
 4781   6658   
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
 4782   6659   
new file mode 100644
 4783   6660   
index 0000000..a868f7d
 4784         -
-- /dev/null
        6661  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 4785   6662   
@@ -0,0 +1,3 @@
        6663  +
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
        6664  +
Host:example.amazonaws.com
        6665  +
 4786   6666   
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
 4787   6667   
similarity index 99%
 4788   6668   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
 4789   6669   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 4790   6670   
index de270ef..8c9d319 100644
 4791   6671   
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
 4792   6672   
similarity index 67%
 4793   6673   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
 4794   6674   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 4795   6675   
index 9157bc7..c9d6e5d 100644
 4796         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
        6676  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 4797   6677   
@@ -1,3 +1,2 @@
 4798   6678   
POST /?Param1=value1 HTTP/1.1
 4799   6679   
Host:example.amazonaws.com
 4800         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4801   6680   
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
 4802   6681   
new file mode 100644
 4803   6682   
index 0000000..0468d80
 4804         -
-- /dev/null
        6683  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 4805   6684   
@@ -0,0 +1,12 @@
        6685  +
{
        6686  +
    "credentials": {
        6687  +
        "access_key_id": "AKIDEXAMPLE",
        6688  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6689  +
    },
        6690  +
    "expiration_in_seconds": 3600,
        6691  +
    "normalize": true,
        6692  +
    "region": "us-east-1",
        6693  +
    "service": "service",
        6694  +
    "sign_body": false,
        6695  +
    "timestamp": "2015-08-30T12:36:00Z"
        6696  +
}
              \
 No newline at end of file
 4806   6697   
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
 4807   6698   
similarity index 99%
 4808   6699   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
 4809   6700   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 4810   6701   
index a6942c1..e881ac7 100644
 4811   6702   
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
 4812   6703   
new file mode 100644
 4813   6704   
index 0000000..7c5e47b
 4814         -
-- /dev/null
        6705  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 4815   6706   
@@ -0,0 +1 @@
        6707  +
3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
              \
 No newline at end of file
 4816   6708   
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
 4817   6709   
new file mode 100644
 4818   6710   
index 0000000..c0e50a0
 4819         -
-- /dev/null
        6711  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 4820   6712   
@@ -0,0 +1,6 @@
        6713  +
POST / HTTP/1.1
        6714  +
Host:example.amazonaws.com
        6715  +
X-Amz-Date:20150830T123600Z
        6716  +
X-Amz-Region-Set:us-east-1
        6717  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
        6718  +
 4821   6719   
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
 4822   6720   
similarity index 99%
 4823   6721   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
 4824   6722   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 4825   6723   
index d5650cb..f8adf13 100644
 4826   6724   
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
 4827   6725   
new file mode 100644
 4828   6726   
index 0000000..379dcb2
 4829         -
-- /dev/null
        6727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 4830   6728   
@@ -0,0 +1,4 @@
        6729  +
{
        6730  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6731  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6732  +
}
 4831   6733   
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
 4832   6734   
similarity index 99%
 4833   6735   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
 4834   6736   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 4835   6737   
index e48ce07..5ea8e3c 100644
 4836   6738   
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
 4837   6739   
new file mode 100644
 4838   6740   
index 0000000..ea8e3b4
 4839         -
-- /dev/null
        6741  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 4840   6742   
@@ -0,0 +1 @@
        6743  +
30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
              \
 No newline at end of file
 4841   6744   
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
 4842   6745   
new file mode 100644
 4843   6746   
index 0000000..616973f
 4844         -
-- /dev/null
        6747  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 4845   6748   
@@ -0,0 +1,3 @@
        6749  +
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
        6750  +
Host:example.amazonaws.com
        6751  +
 4846   6752   
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
 4847   6753   
similarity index 99%
 4848   6754   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
 4849   6755   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 4850   6756   
index 34e3382..711c162 100644
 4851   6757   
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
 4852   6758   
new file mode 100644
 4853   6759   
index 0000000..3f0a82a
 4854         -
-- /dev/null
        6760  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 4855   6761   
@@ -0,0 +1,2 @@
        6762  +
POST / HTTP/1.1
        6763  +
Host:example.amazonaws.com
 4856   6764   
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
 4857   6765   
new file mode 100644
 4858   6766   
index 0000000..0db1df1
 4859         -
-- /dev/null
        6767  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 4860   6768   
@@ -0,0 +1,12 @@
        6769  +
{
        6770  +
    "credentials": {
        6771  +
        "access_key_id": "AKIDEXAMPLE",
        6772  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6773  +
    },
        6774  +
    "expiration_in_seconds": 3600,
        6775  +
    "normalize": true,
        6776  +
    "region": "us-east-1",
        6777  +
    "service": "service",
        6778  +
    "sign_body": true,
        6779  +
    "timestamp": "2015-08-30T12:36:00Z"
        6780  +
}
              \
 No newline at end of file
 4861   6781   
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
 4862   6782   
similarity index 62%
 4863   6783   
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
 4864   6784   
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
 4865   6785   
index 05ab787..62639b2 100644
 4866         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
        6786  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 4867   6787   
@@ -1,12 +1,12 @@
 4868   6788   
POST
 4869   6789   
/
 4870   6790   
 4871   6791   
content-length:13
 4872   6792   
content-type:application/x-www-form-urlencoded; charset=utf-8
 4873   6793   
host:example.amazonaws.com
 4874         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6794  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 4875   6795   
x-amz-date:20150830T123600Z
 4876   6796   
x-amz-region-set:us-east-1
 4877   6797   
 4878   6798   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 4879         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6799  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 4880   6800   
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
 4881   6801   
new file mode 100644
 4882   6802   
index 0000000..006ec2e
 4883         -
-- /dev/null
        6803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 4884   6804   
@@ -0,0 +1 @@
        6805  +
3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
              \
 No newline at end of file
 4885   6806   
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
 4886   6807   
new file mode 100644
 4887   6808   
index 0000000..87a11f2
 4888         -
-- /dev/null
        6809  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 4889   6810   
@@ -0,0 +1,10 @@
        6811  +
POST / HTTP/1.1
        6812  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6813  +
Host:example.amazonaws.com
        6814  +
Content-Length:13
        6815  +
X-Amz-Date:20150830T123600Z
        6816  +
X-Amz-Region-Set:us-east-1
        6817  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        6818  +
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
        6819  +
        6820  +
Param1=value1
              \
 No newline at end of file
 4890   6821   
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
 4891   6822   
new file mode 100644
 4892   6823   
index 0000000..c047afb
 4893         -
-- /dev/null
        6824  +
++ 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
 4894   6825   
@@ -0,0 +1,4 @@
        6826  +
AWS4-ECDSA-P256-SHA256
        6827  +
20150830T123600Z
        6828  +
20150830/service/aws4_request
        6829  +
bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
              \
 No newline at end of file
 4895   6830   
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
 4896   6831   
new file mode 100644
 4897   6832   
index 0000000..379dcb2
 4898         -
-- /dev/null
        6833  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 4899   6834   
@@ -0,0 +1,4 @@
        6835  +
{
        6836  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6837  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6838  +
}
 4900   6839   
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
 4901   6840   
similarity index 85%
 4902   6841   
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
 4903   6842   
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
 4904   6843   
index fcc454f..6933a8c 100644
 4905         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
        6844  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 4906   6845   
@@ -1,9 +1,9 @@
 4907   6846   
POST
 4908   6847   
/
 4909   6848   
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
 4910   6849   
content-length:13
 4911   6850   
content-type:application/x-www-form-urlencoded; charset=utf-8
 4912   6851   
host:example.amazonaws.com
 4913   6852   
 4914   6853   
content-length;content-type;host
 4915         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6854  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 4916   6855   
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
 4917   6856   
new file mode 100644
 4918   6857   
index 0000000..34a2e12
 4919         -
-- /dev/null
        6858  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 4920   6859   
@@ -0,0 +1 @@
        6860  +
3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
              \
 No newline at end of file
 4921   6861   
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
 4922   6862   
new file mode 100644
 4923   6863   
index 0000000..197b99e
 4924         -
-- /dev/null
        6864  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 4925   6865   
@@ -0,0 +1,6 @@
        6866  +
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
        6867  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6868  +
Host:example.amazonaws.com
        6869  +
Content-Length:13
        6870  +
        6871  +
Param1=value1
              \
 No newline at end of file
 4926   6872   
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
 4927   6873   
new file mode 100644
 4928   6874   
index 0000000..9d2bc74
 4929         -
-- /dev/null
        6875  +
++ 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
 4930   6876   
@@ -0,0 +1,4 @@
        6877  +
AWS4-ECDSA-P256-SHA256
        6878  +
20150830T123600Z
        6879  +
20150830/service/aws4_request
        6880  +
d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
              \
 No newline at end of file
 4931   6881   
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
 4932   6882   
similarity index 80%
 4933   6883   
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
 4934   6884   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 4935   6885   
index 36015f1..8289eaa 100644
 4936         -
-- 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
        6886  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 4937   6887   
@@ -1,6 +1,6 @@
 4938   6888   
POST / HTTP/1.1
 4939   6889   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 4940   6890   
Host:example.amazonaws.com
 4941         -
X-Amz-Date:20150830T123600Z
        6891  +
Content-Length:13
 4942   6892   
 4943   6893   
Param1=value1
              \
 No newline at end of file
 4944   6894   
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
 4945   6895   
new file mode 100644
 4946   6896   
index 0000000..0db1df1
 4947         -
-- /dev/null
        6897  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 4948   6898   
@@ -0,0 +1,12 @@
        6899  +
{
        6900  +
    "credentials": {
        6901  +
        "access_key_id": "AKIDEXAMPLE",
        6902  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6903  +
    },
        6904  +
    "expiration_in_seconds": 3600,
        6905  +
    "normalize": true,
        6906  +
    "region": "us-east-1",
        6907  +
    "service": "service",
        6908  +
    "sign_body": true,
        6909  +
    "timestamp": "2015-08-30T12:36:00Z"
        6910  +
}
              \
 No newline at end of file
 4949   6911   
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
 4950   6912   
similarity index 61%
 4951   6913   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
 4952   6914   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 4953   6915   
index 69009dc..797632b 100644
 4954         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
        6916  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 4955   6917   
@@ -1,12 +1,12 @@
 4956   6918   
POST
 4957   6919   
/
 4958   6920   
 4959   6921   
content-length:13
 4960   6922   
content-type:application/x-www-form-urlencoded
 4961   6923   
host:example.amazonaws.com
 4962         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6924  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 4963   6925   
x-amz-date:20150830T123600Z
 4964   6926   
x-amz-region-set:us-east-1
 4965   6927   
 4966   6928   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 4967         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6929  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 4968   6930   
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
 4969   6931   
new file mode 100644
 4970   6932   
index 0000000..f5a641c
 4971         -
-- /dev/null
        6933  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 4972   6934   
@@ -0,0 +1 @@
        6935  +
304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
              \
 No newline at end of file
 4973   6936   
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
 4974   6937   
new file mode 100644
 4975   6938   
index 0000000..7bd94a7
 4976         -
-- /dev/null
        6939  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 4977   6940   
@@ -0,0 +1,10 @@
        6941  +
POST / HTTP/1.1
        6942  +
Content-Type:application/x-www-form-urlencoded
        6943  +
Host:example.amazonaws.com
        6944  +
Content-Length:13
        6945  +
X-Amz-Date:20150830T123600Z
        6946  +
X-Amz-Region-Set:us-east-1
        6947  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        6948  +
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
        6949  +
        6950  +
Param1=value1
              \
 No newline at end of file
 4978   6951   
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
 4979   6952   
new file mode 100644
 4980   6953   
index 0000000..8d25ba9
 4981         -
-- /dev/null
        6954  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 4982   6955   
@@ -0,0 +1,4 @@
        6956  +
AWS4-ECDSA-P256-SHA256
        6957  +
20150830T123600Z
        6958  +
20150830/service/aws4_request
        6959  +
ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
              \
 No newline at end of file
 4983   6960   
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
 4984   6961   
new file mode 100644
 4985   6962   
index 0000000..379dcb2
 4986         -
-- /dev/null
        6963  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 4987   6964   
@@ -0,0 +1,4 @@
        6965  +
{
        6966  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6967  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6968  +
}
 4988   6969   
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
 4989   6970   
similarity index 99%
 4990   6971   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
 4991   6972   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 4992   6973   
index 9ed065b..563ff58 100644
 4993   6974   
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
 4994   6975   
new file mode 100644
 4995   6976   
index 0000000..0c77daf
 4996         -
-- /dev/null
        6977  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 4997   6978   
@@ -0,0 +1 @@
        6979  +
304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
              \
 No newline at end of file
 4998   6980   
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
 4999   6981   
new file mode 100644
 5000   6982   
index 0000000..71d6de9
 5001         -
-- /dev/null
        6983  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 5002   6984   
@@ -0,0 +1,6 @@
        6985  +
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
        6986  +
Content-Type:application/x-www-form-urlencoded
        6987  +
Host:example.amazonaws.com
        6988  +
Content-Length:13
        6989  +
        6990  +
Param1=value1
              \
 No newline at end of file
 5003   6991   
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
 5004   6992   
similarity index 99%
 5005   6993   
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
 5006   6994   
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
 5007   6995   
index bef3143..cc7a224 100644
 5008   6996   
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
 5009   6997   
new file mode 100644
 5010   6998   
index 0000000..760b2d3
 5011         -
-- /dev/null
        6999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 5012   7000   
@@ -0,0 +1,6 @@
        7001  +
POST / HTTP/1.1
        7002  +
Content-Type:application/x-www-form-urlencoded
        7003  +
Host:example.amazonaws.com
        7004  +
Content-Length:13
        7005  +
        7006  +
Param1=value1
              \
 No newline at end of file
 5013   7007   
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
 5014   7008   
index 9bd636f..b53f33f 100644
 5015         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
        7009  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 5016   7010   
@@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
 5017   7011   
            params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
 5018   7012   
        }
 5019   7013   
 5020   7014   
        if let SignatureValues::QueryParams(values) = values {
 5021   7015   
            add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
 5022   7016   
            add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
 5023   7017   
 5024   7018   
            #[cfg(feature = "sigv4a")]
 5025   7019   
            if let Some(regions) = values.region_set {
 5026   7020   
                add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
 5027   7021   
            }
 5028   7022   
 5029   7023   
            add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
 5030   7024   
            add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
 5031   7025   
            add_param(
 5032   7026   
                &mut params,
 5033   7027   
                param::X_AMZ_SIGNED_HEADERS,
 5034   7028   
                values.signed_headers.as_str(),
 5035   7029   
            );
 5036   7030   
 5037   7031   
            if let Some(security_token) = values.security_token {
 5038   7032   
                add_param(
 5039   7033   
                    &mut params,
 5040   7034   
                    settings
 5041   7035   
                        .session_token_name_override
 5042   7036   
                        .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
 5043   7037   
                    security_token,
 5044   7038   
                );
 5045   7039   
            }
 5046   7040   
        }
 5047         -
        // Sort by param name, and then by param value
        7041  +
        7042  +
        // Sort on the _encoded_ key/value pairs
        7043  +
        let mut params: Vec<(String, String)> = params
        7044  +
            .into_iter()
        7045  +
            .map(|x| {
        7046  +
                use aws_smithy_http::query::fmt_string;
        7047  +
                let enc_k = fmt_string(&x.0);
        7048  +
                let enc_v = fmt_string(&x.1);
        7049  +
                (enc_k, enc_v)
        7050  +
            })
        7051  +
            .collect();
        7052  +
 5048   7053   
        params.sort();
 5049   7054   
 5050   7055   
        let mut query = QueryWriter::new(uri);
 5051   7056   
        query.clear_params();
 5052   7057   
        for (key, value) in params {
 5053         -
            query.insert(&key, &value);
        7058  +
            query.insert_encoded(&key, &value);
 5054   7059   
        }
 5055   7060   
 5056   7061   
        let query = query.build_query();
 5057   7062   
        if query.is_empty() {
 5058   7063   
            None
 5059   7064   
        } else {
 5060   7065   
            Some(query)
 5061   7066   
        }
 5062   7067   
    }
 5063   7068   
 5064   7069   
    fn insert_host_header(
 5065   7070   
        canonical_headers: &mut HeaderMap<HeaderValue>,
 5066   7071   
        uri: &Uri,
 5067   7072   
    ) -> HeaderValue {
 5068   7073   
        match canonical_headers.get(&HOST) {
 5069   7074   
            Some(header) => header.clone(),
 5070   7075   
            None => {
 5071   7076   
                let port = uri.port();
 5072   7077   
                let scheme = uri.scheme();
 5073   7078   
                let authority = uri
 5074   7079   
                    .authority()
 5075   7080   
                    .expect("request uri authority must be set for signing")
 5076   7081   
                    .as_str();
 5077   7082   
                let host = uri
 5078   7083   
                    .host()
 5079   7084   
                    .expect("request uri host must be set for signing");
 5080   7085   
 5081   7086   
                // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
 5082   7087   
                // Host header when signing since RFC 2616 indicates that the default port should not be
 5083   7088   
                // sent in the Host header (and Hyper strips default ports if they are present)
 5084   7089   
@@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
 5085   7090   
            service,
 5086   7091   
            hashed_creq,
 5087   7092   
            signature_version: SignatureVersion::V4a,
 5088   7093   
        }
 5089   7094   
    }
 5090   7095   
}
 5091   7096   
 5092   7097   
impl fmt::Display for StringToSign<'_> {
 5093   7098   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 5094   7099   
        write!(
 5095   7100   
            f,
 5096   7101   
            "{}\n{}\n{}\n{}",
 5097   7102   
            self.algorithm,
 5098   7103   
            format_date_time(self.time),
 5099   7104   
            match self.signature_version {
 5100   7105   
                SignatureVersion::V4 => self.scope.to_string(),
 5101   7106   
                SignatureVersion::V4a => self.scope.v4a_display(),
 5102   7107   
            },
 5103   7108   
            self.hashed_creq
 5104   7109   
        )
 5105   7110   
    }
 5106   7111   
}
 5107   7112   
 5108   7113   
#[cfg(test)]
 5109   7114   
mod tests {
 5110   7115   
    use crate::date_time::test_parsers::parse_date_time;
 5111   7116   
    use crate::http_request::canonical_request::{
 5112   7117   
        normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
 5113   7118   
    };
 5114   7119   
    use crate::http_request::test;
        7120  +
    use crate::http_request::test::SigningSuiteTest;
 5115   7121   
    use crate::http_request::{
 5116   7122   
        PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
 5117   7123   
        SigningParams, SigningSettings,
 5118   7124   
    };
 5119   7125   
    use crate::sign::v4;
 5120   7126   
    use crate::sign::v4::sha256_hex_string;
 5121   7127   
    use aws_credential_types::Credentials;
 5122   7128   
    use aws_smithy_http::query_writer::QueryWriter;
 5123   7129   
    use aws_smithy_runtime_api::client::identity::Identity;
 5124   7130   
    use http0::{HeaderValue, Uri};
 5125   7131   
    use pretty_assertions::assert_eq;
 5126   7132   
    use proptest::{prelude::*, proptest};
 5127   7133   
    use std::borrow::Cow;
 5128   7134   
    use std::time::Duration;
 5129   7135   
 5130   7136   
    fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
 5131   7137   
        v4::signing_params::Builder::default()
 5132   7138   
            .identity(identity)
 5133   7139   
            .region("test-region")
 5134   7140   
            .name("testservicename")
 5135   7141   
            .time(parse_date_time("20210511T154045Z").unwrap())
 5136   7142   
            .settings(settings)
 5137   7143   
            .build()
 5138   7144   
            .unwrap()
 5139   7145   
            .into()
 5140   7146   
    }
 5141   7147   
 5142   7148   
    #[test]
 5143   7149   
    fn test_repeated_header() {
 5144         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7150  +
        let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7151  +
        let mut req = test.request();
 5145   7152   
        req.headers.push((
 5146   7153   
            "x-amz-object-attributes".to_string(),
 5147   7154   
            "Checksum".to_string(),
 5148   7155   
        ));
 5149   7156   
        req.headers.push((
 5150   7157   
            "x-amz-object-attributes".to_string(),
 5151   7158   
            "ObjectSize".to_string(),
 5152   7159   
        ));
 5153   7160   
        let req = SignableRequest::from(&req);
 5154   7161   
        let settings = SigningSettings {
 5155   7162   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5156   7163   
            session_token_mode: SessionTokenMode::Exclude,
 5157   7164   
            ..Default::default()
 5158   7165   
        };
 5159   7166   
        let identity = Credentials::for_tests().into();
 5160   7167   
        let signing_params = signing_params(&identity, settings);
 5161   7168   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5162   7169   
 5163   7170   
        assert_eq!(
 5164   7171   
            creq.values.signed_headers().to_string(),
 5165   7172   
            "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
 5166   7173   
        );
 5167   7174   
        assert_eq!(
 5168   7175   
            creq.header_values_for("x-amz-object-attributes"),
 5169   7176   
            "Checksum,ObjectSize",
 5170   7177   
        );
 5171   7178   
    }
 5172   7179   
 5173   7180   
    #[test]
 5174   7181   
    fn test_host_header_properly_handles_ports() {
 5175   7182   
        fn host_header_test_setup(endpoint: String) -> String {
 5176         -
            let mut req = test::v4::test_request("get-vanilla");
        7183  +
            let test = SigningSuiteTest::v4("get-vanilla");
        7184  +
            let mut req = test.request();
 5177   7185   
            req.uri = endpoint;
 5178   7186   
            let req = SignableRequest::from(&req);
 5179   7187   
            let settings = SigningSettings {
 5180   7188   
                payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5181   7189   
                session_token_mode: SessionTokenMode::Exclude,
 5182   7190   
                ..Default::default()
 5183   7191   
            };
 5184   7192   
            let identity = Credentials::for_tests().into();
 5185   7193   
            let signing_params = signing_params(&identity, settings);
 5186   7194   
            let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5187   7195   
            creq.header_values_for("host")
 5188   7196   
        }
 5189   7197   
 5190   7198   
        // HTTP request with 80 port should not be signed with that port
 5191   7199   
        let http_80_host_header = host_header_test_setup("http://localhost:80".into());
 5192   7200   
        assert_eq!(http_80_host_header, "localhost",);
 5193   7201   
 5194   7202   
        // HTTP request with non-80 port should be signed with that port
 5195   7203   
        let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
 5196   7204   
        assert_eq!(http_1234_host_header, "localhost:1234",);
 5197   7205   
 5198   7206   
        // HTTPS request with 443 port should not be signed with that port
 5199   7207   
        let https_443_host_header = host_header_test_setup("https://localhost:443".into());
 5200   7208   
        assert_eq!(https_443_host_header, "localhost",);
 5201   7209   
 5202   7210   
        // HTTPS request with non-443 port should be signed with that port
 5203   7211   
        let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
 5204   7212   
        assert_eq!(https_1234_host_header, "localhost:1234",);
 5205   7213   
    }
 5206   7214   
 5207   7215   
    #[test]
 5208   7216   
    fn test_set_xamz_sha_256() {
 5209         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7217  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7218  +
        let req = test.request();
 5210   7219   
        let req = SignableRequest::from(&req);
 5211   7220   
        let settings = SigningSettings {
 5212   7221   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5213   7222   
            session_token_mode: SessionTokenMode::Exclude,
 5214   7223   
            ..Default::default()
 5215   7224   
        };
 5216   7225   
        let identity = Credentials::for_tests().into();
 5217   7226   
        let mut signing_params = signing_params(&identity, settings);
 5218   7227   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5219   7228   
        assert_eq!(
 5220   7229   
            creq.values.content_sha256(),
 5221   7230   
            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 5222   7231   
        );
 5223   7232   
        // assert that the sha256 header was added
 5224   7233   
        assert_eq!(
 5225   7234   
            creq.values.signed_headers().as_str(),
 5226   7235   
            "host;x-amz-content-sha256;x-amz-date"
 5227   7236   
        );
 5228   7237   
 5229   7238   
        signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
 5230   7239   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5231   7240   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5232   7241   
    }
 5233   7242   
 5234   7243   
    #[test]
 5235   7244   
    fn test_unsigned_payload() {
 5236         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7245  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7246  +
        let mut req = test.request();
 5237   7247   
        req.set_body(SignableBody::UnsignedPayload);
 5238   7248   
        let req: SignableRequest<'_> = SignableRequest::from(&req);
 5239   7249   
 5240   7250   
        let settings = SigningSettings {
 5241   7251   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5242   7252   
            ..Default::default()
 5243   7253   
        };
 5244   7254   
        let identity = Credentials::for_tests().into();
 5245   7255   
        let signing_params = signing_params(&identity, settings);
 5246   7256   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5247   7257   
        assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
 5248   7258   
        assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
 5249   7259   
    }
 5250   7260   
 5251   7261   
    #[test]
 5252   7262   
    fn test_precomputed_payload() {
 5253   7263   
        let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
 5254         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7264  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7265  +
        let mut req = test.request();
 5255   7266   
        req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
 5256   7267   
        let req = SignableRequest::from(&req);
 5257   7268   
        let settings = SigningSettings {
 5258   7269   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5259   7270   
            ..Default::default()
 5260   7271   
        };
 5261   7272   
        let identity = Credentials::for_tests().into();
 5262   7273   
        let signing_params = signing_params(&identity, settings);
 5263   7274   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5264   7275   
        assert_eq!(creq.values.content_sha256(), payload_hash);
 5265   7276   
        assert!(creq.to_string().ends_with(payload_hash));
 5266   7277   
    }
 5267   7278   
 5268   7279   
    #[test]
 5269   7280   
    fn test_generate_scope() {
 5270   7281   
        let expected = "20150830/us-east-1/iam/aws4_request\n";
 5271   7282   
        let scope = SigningScope {
 5272   7283   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5273   7284   
            region: "us-east-1",
 5274   7285   
            service: "iam",
 5275   7286   
        };
 5276   7287   
        assert_eq!(format!("{}\n", scope), expected);
 5277   7288   
    }
 5278   7289   
 5279   7290   
    #[test]
 5280   7291   
    fn test_string_to_sign() {
 5281   7292   
        let time = parse_date_time("20150830T123600Z").unwrap();
 5282         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
 5283         -
        let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
        7293  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7294  +
        let creq = test.canonical_request(SignatureLocation::Headers);
        7295  +
        let expected_sts = test.string_to_sign(SignatureLocation::Headers);
 5284   7296   
        let encoded = sha256_hex_string(creq.as_bytes());
 5285   7297   
 5286   7298   
        let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
 5287   7299   
        assert_eq!(expected_sts, actual.to_string());
 5288   7300   
    }
 5289   7301   
 5290   7302   
    #[test]
 5291   7303   
    fn test_digest_of_canonical_request() {
 5292         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
        7304  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7305  +
        let creq = test.canonical_request(SignatureLocation::Headers);
 5293   7306   
        let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
 5294   7307   
        let actual = sha256_hex_string(creq.as_bytes());
 5295   7308   
        assert_eq!(expected, actual);
 5296   7309   
    }
 5297   7310   
 5298   7311   
    #[test]
 5299   7312   
    fn test_double_url_encode_path() {
 5300         -
        let req = test::v4::test_request("double-encode-path");
        7313  +
        let test = SigningSuiteTest::v4("double-encode-path");
        7314  +
        let req = test.request();
 5301   7315   
        let req = SignableRequest::from(&req);
 5302   7316   
        let identity = Credentials::for_tests().into();
 5303   7317   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5304   7318   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5305   7319   
 5306         -
        let expected = test::v4::test_canonical_request("double-encode-path");
        7320  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5307   7321   
        let actual = format!("{}", creq);
 5308   7322   
        assert_eq!(actual, expected);
 5309   7323   
    }
 5310   7324   
 5311   7325   
    #[test]
 5312   7326   
    fn test_double_url_encode() {
 5313         -
        let req = test::v4::test_request("double-url-encode");
        7327  +
        let test = SigningSuiteTest::v4("double-url-encode");
        7328  +
        let req = test.request();
 5314   7329   
        let req = SignableRequest::from(&req);
 5315   7330   
        let identity = Credentials::for_tests().into();
 5316   7331   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5317   7332   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5318         -
 5319         -
        let expected = test::v4::test_canonical_request("double-url-encode");
        7333  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5320   7334   
        let actual = format!("{}", creq);
 5321   7335   
        assert_eq!(actual, expected);
 5322   7336   
    }
 5323   7337   
 5324   7338   
    #[test]
 5325   7339   
    fn test_tilde_in_uri() {
 5326   7340   
        let req = http0::Request::builder()
 5327   7341   
            .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
 5328   7342   
        let req = SignableRequest::from(&req);
 5329   7343   
        let identity = Credentials::for_tests().into();
 5330   7344   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5331   7345   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5332   7346   
        assert_eq!(
 5333   7347   
            Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
 5334   7348   
            creq.params.as_deref(),
 5335   7349   
        );
 5336   7350   
    }
 5337   7351   
 5338   7352   
    #[test]
 5339   7353   
    fn test_signing_urls_with_percent_encoded_query_strings() {
 5340   7354   
        let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
 5341   7355   
        let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
 5342   7356   
 5343   7357   
        let mut query_writer = QueryWriter::new(&uri);
 5344   7358   
        query_writer.insert("list-type", "2");
 5345   7359   
        query_writer.insert("prefix", &all_printable_ascii_chars);
 5346   7360   
 5347   7361   
        let req = http0::Request::builder()
 5348   7362   
            .uri(query_writer.build_uri())
 5349   7363   
            .body("")
 5350   7364   
            .unwrap()
 5351   7365   
            .into();
 5352   7366   
        let req = SignableRequest::from(&req);
 5353   7367   
        let identity = Credentials::for_tests().into();
 5354   7368   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5355   7369   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5356   7370   
 5357   7371   
        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~";
 5358   7372   
        let actual = creq.params.unwrap();
 5359   7373   
        assert_eq!(expected, actual);
 5360   7374   
    }
 5361   7375   
 5362   7376   
    #[test]
 5363   7377   
    fn test_omit_session_token() {
 5364         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7378  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7379  +
        let req = test.request();
 5365   7380   
        let req = SignableRequest::from(&req);
 5366   7381   
        let settings = SigningSettings {
 5367   7382   
            session_token_mode: SessionTokenMode::Include,
 5368   7383   
            ..Default::default()
 5369   7384   
        };
 5370   7385   
        let identity = Credentials::for_tests_with_session_token().into();
 5371   7386   
        let mut signing_params = signing_params(&identity, settings);
 5372   7387   
 5373   7388   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5374   7389   
        assert_eq!(
 5375   7390   
            creq.values.signed_headers().as_str(),
 5376   7391   
            "host;x-amz-date;x-amz-security-token"
 5377   7392   
        );
 5378   7393   
        assert_eq!(
 5379   7394   
            creq.headers.get("x-amz-security-token").unwrap(),
 5380   7395   
            "notarealsessiontoken"
 5381   7396   
        );
 5382   7397   
 5383   7398   
        signing_params.set_session_token_mode(SessionTokenMode::Exclude);
 5384   7399   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5385   7400   
        assert_eq!(
 5386   7401   
            creq.headers.get("x-amz-security-token").unwrap(),
 5387   7402   
            "notarealsessiontoken"
 5388   7403   
        );
 5389   7404   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5390   7405   
    }
 5391   7406   
 5392   7407   
    // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
 5393   7408   
    #[test]
 5394   7409   
    fn non_presigning_header_exclusion() {
 5395   7410   
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
 5396   7411   
index c4bbbee..363fc2c 100644
 5397         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
        7412  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 5398   7413   
@@ -6,60 +6,62 @@
 5399   7414   
use super::error::SigningError;
 5400   7415   
use super::{PayloadChecksumKind, SignatureLocation};
 5401   7416   
use crate::http_request::canonical_request::header;
 5402   7417   
use crate::http_request::canonical_request::param;
 5403   7418   
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5404   7419   
use crate::http_request::error::CanonicalRequestError;
 5405   7420   
use crate::http_request::SigningParams;
 5406   7421   
use crate::sign::v4;
 5407   7422   
#[cfg(feature = "sigv4a")]
 5408   7423   
use crate::sign::v4a;
 5409   7424   
use crate::{SignatureVersion, SigningOutput};
 5410   7425   
use http0::Uri;
 5411   7426   
use std::borrow::Cow;
 5412   7427   
use std::fmt::{Debug, Formatter};
 5413   7428   
use std::str;
 5414   7429   
 5415   7430   
const LOG_SIGNABLE_BODY: &str = "LOG_SIGNABLE_BODY";
 5416   7431   
 5417   7432   
/// Represents all of the information necessary to sign an HTTP request.
 5418   7433   
#[derive(Debug)]
 5419   7434   
#[non_exhaustive]
 5420   7435   
pub struct SignableRequest<'a> {
 5421   7436   
    method: &'a str,
 5422   7437   
    uri: Uri,
 5423   7438   
    headers: Vec<(&'a str, &'a str)>,
 5424   7439   
    body: SignableBody<'a>,
 5425   7440   
}
 5426   7441   
 5427   7442   
impl<'a> SignableRequest<'a> {
 5428   7443   
    /// Creates a new `SignableRequest`.
        7444  +
    ///
        7445  +
    /// NOTE: The `uri` is expected to already in encoded form.
 5429   7446   
    pub fn new(
 5430   7447   
        method: &'a str,
 5431   7448   
        uri: impl Into<Cow<'a, str>>,
 5432   7449   
        headers: impl Iterator<Item = (&'a str, &'a str)>,
 5433   7450   
        body: SignableBody<'a>,
 5434   7451   
    ) -> Result<Self, SigningError> {
 5435   7452   
        let uri = uri
 5436   7453   
            .into()
 5437   7454   
            .parse()
 5438   7455   
            .map_err(|e| SigningError::from(CanonicalRequestError::from(e)))?;
 5439   7456   
        let headers = headers.collect();
 5440   7457   
        Ok(Self {
 5441   7458   
            method,
 5442   7459   
            uri,
 5443   7460   
            headers,
 5444   7461   
            body,
 5445   7462   
        })
 5446   7463   
    }
 5447   7464   
 5448   7465   
    /// Returns the signable URI
 5449   7466   
    pub(crate) fn uri(&self) -> &Uri {
 5450   7467   
        &self.uri
 5451   7468   
    }
 5452   7469   
 5453   7470   
    /// Returns the signable HTTP method
 5454   7471   
    pub(crate) fn method(&self) -> &str {
 5455   7472   
        self.method
 5456   7473   
    }
 5457   7474   
 5458   7475   
    /// Returns the request headers
 5459   7476   
@@ -478,436 +480,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 5460   7477   
        sensitive,
 5461   7478   
    });
 5462   7479   
}
 5463   7480   
 5464   7481   
// add signature to authorization header
 5465   7482   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 5466   7483   
fn build_authorization_header(
 5467   7484   
    access_key: &str,
 5468   7485   
    creq: &CanonicalRequest<'_>,
 5469   7486   
    sts: StringToSign<'_>,
 5470   7487   
    signature: &str,
 5471   7488   
    signature_version: SignatureVersion,
 5472   7489   
) -> String {
 5473   7490   
    let scope = match signature_version {
 5474   7491   
        SignatureVersion::V4 => sts.scope.to_string(),
 5475   7492   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 5476   7493   
    };
 5477   7494   
    format!(
 5478   7495   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 5479   7496   
        sts.algorithm,
 5480   7497   
        access_key,
 5481   7498   
        scope,
 5482   7499   
        creq.values.signed_headers().as_str(),
 5483   7500   
        signature
 5484   7501   
    )
 5485   7502   
}
 5486   7503   
#[cfg(test)]
 5487   7504   
mod tests {
 5488   7505   
    use crate::date_time::test_parsers::parse_date_time;
 5489   7506   
    use crate::http_request::sign::{add_header, SignableRequest};
        7507  +
    use crate::http_request::test::SigningSuiteTest;
 5490   7508   
    use crate::http_request::{
 5491         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        7509  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 5492   7510   
        SigningSettings,
 5493   7511   
    };
 5494   7512   
    use crate::sign::v4;
 5495   7513   
    use aws_credential_types::Credentials;
 5496   7514   
    use http0::{HeaderValue, Request};
 5497   7515   
    use pretty_assertions::assert_eq;
 5498   7516   
    use proptest::proptest;
 5499   7517   
    use std::borrow::Cow;
 5500   7518   
    use std::iter;
 5501         -
    use std::time::Duration;
 5502   7519   
 5503   7520   
    macro_rules! assert_req_eq {
 5504   7521   
        (http: $expected:expr, $actual:expr) => {
 5505   7522   
            let mut expected = ($expected).map(|_b|"body");
 5506   7523   
            let mut actual = ($actual).map(|_b|"body");
 5507   7524   
            make_headers_comparable(&mut expected);
 5508   7525   
            make_headers_comparable(&mut actual);
 5509   7526   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 5510   7527   
        };
 5511   7528   
        ($expected:tt, $actual:tt) => {
 5512   7529   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 5513   7530   
        };
 5514   7531   
    }
 5515   7532   
 5516   7533   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 5517   7534   
        for (_name, value) in request.headers_mut() {
 5518   7535   
            value.set_sensitive(false);
 5519   7536   
        }
 5520   7537   
    }
 5521   7538   
 5522         -
    #[test]
 5523         -
    fn test_sign_vanilla_with_headers() {
 5524         -
        let settings = SigningSettings::default();
 5525         -
        let identity = &Credentials::for_tests().into();
 5526         -
        let params = v4::SigningParams {
 5527         -
            identity,
 5528         -
            region: "us-east-1",
 5529         -
            name: "service",
 5530         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5531         -
            settings,
 5532         -
        }
 5533         -
        .into();
 5534         -
 5535         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5536         -
        let signable = SignableRequest::from(&original);
 5537         -
        let out = sign(signable, &params).unwrap();
 5538         -
        assert_eq!(
 5539         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 5540         -
            out.signature
 5541         -
        );
 5542         -
 5543         -
        let mut signed = original.as_http_request();
 5544         -
        out.output.apply_to_request_http0x(&mut signed);
 5545         -
 5546         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 5547         -
        assert_req_eq!(expected, signed);
 5548         -
    }
 5549         -
        7539  +
    // Sigv4A suite tests
 5550   7540   
    #[cfg(feature = "sigv4a")]
 5551         -
    mod sigv4a_tests {
 5552         -
        use super::*;
 5553         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5554         -
        use crate::http_request::{sign, test, SigningParams};
 5555         -
        use crate::sign::v4a;
 5556         -
        use p256::ecdsa::signature::{Signature, Verifier};
 5557         -
        use p256::ecdsa::{DerSignature, SigningKey};
 5558         -
        use pretty_assertions::assert_eq;
 5559         -
 5560         -
        fn new_v4a_signing_params_from_context(
 5561         -
            test_context: &'_ test::v4a::TestContext,
 5562         -
            signature_location: SignatureLocation,
 5563         -
        ) -> SigningParams<'_> {
 5564         -
            let mut params = v4a::SigningParams::from(test_context);
 5565         -
            params.settings.signature_location = signature_location;
 5566         -
 5567         -
            params.into()
 5568         -
        }
 5569         -
 5570         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 5571         -
            let tc = test::v4a::test_context(test_name);
 5572         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 5573         -
 5574         -
            let req = test::v4a::test_request(test_name);
 5575         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 5576         -
            let signable_req = SignableRequest::from(&req);
 5577         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        7541  +
    mod v4a_suite {
        7542  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 5578   7543   
 5579         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
 5580         -
 5581         -
            let expected_string_to_sign =
 5582         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 5583         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 5584         -
            let actual_string_to_sign = StringToSign::new_v4a(
 5585         -
                *params.time(),
 5586         -
                params.region_set().unwrap(),
 5587         -
                params.name(),
 5588         -
                hashed_creq,
 5589         -
            )
 5590         -
            .to_string();
 5591         -
 5592         -
            assert_eq!(
 5593         -
                expected_string_to_sign, actual_string_to_sign,
 5594         -
                "'string to sign' didn't match"
 5595         -
            );
 5596         -
 5597         -
            let out = sign(signable_req, &params).unwrap();
 5598         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 5599         -
            out.output
 5600         -
                .apply_to_request_http0x(&mut req.as_http_request());
 5601         -
 5602         -
            let creds = params.credentials().unwrap();
 5603         -
            let signing_key =
 5604         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 5605         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 5606         -
            let sig = sig
 5607         -
                .try_into()
 5608         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 5609         -
 5610         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 5611         -
            let peer_public_key = signing_key.verifying_key();
 5612         -
            let sts = actual_string_to_sign.as_bytes();
 5613         -
            peer_public_key.verify(sts, &sig).unwrap();
        7544  +
        #[test]
        7545  +
        fn test_get_header_key_duplicate() {
        7546  +
            run_test_suite_v4a("get-header-key-duplicate")
 5614   7547   
        }
 5615   7548   
 5616   7549   
        #[test]
 5617         -
        fn test_get_header_key_duplicate() {
 5618         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        7550  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7551  +
        fn test_get_header_value_multiline() {
        7552  +
            run_test_suite_v4a("get-header-value-multiline")
 5619   7553   
        }
 5620   7554   
 5621   7555   
        #[test]
 5622   7556   
        fn test_get_header_value_order() {
 5623         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        7557  +
            run_test_suite_v4a("get-header-value-order")
 5624   7558   
        }
 5625   7559   
 5626   7560   
        #[test]
 5627   7561   
        fn test_get_header_value_trim() {
 5628         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        7562  +
            run_test_suite_v4a("get-header-value-trim");
 5629   7563   
        }
 5630   7564   
 5631   7565   
        #[test]
 5632   7566   
        fn test_get_relative_normalized() {
 5633         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        7567  +
            run_test_suite_v4a("get-relative-normalized");
 5634   7568   
        }
 5635   7569   
 5636   7570   
        #[test]
 5637   7571   
        fn test_get_relative_relative_normalized() {
 5638         -
            run_v4a_test_suite(
 5639         -
                "get-relative-relative-normalized",
 5640         -
                SignatureLocation::Headers,
 5641         -
            );
        7572  +
            run_test_suite_v4a("get-relative-relative-normalized");
 5642   7573   
        }
 5643   7574   
 5644   7575   
        #[test]
 5645   7576   
        fn test_get_relative_relative_unnormalized() {
 5646         -
            run_v4a_test_suite(
 5647         -
                "get-relative-relative-unnormalized",
 5648         -
                SignatureLocation::Headers,
 5649         -
            );
        7577  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 5650   7578   
        }
 5651   7579   
 5652   7580   
        #[test]
 5653   7581   
        fn test_get_relative_unnormalized() {
 5654         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        7582  +
            run_test_suite_v4a("get-relative-unnormalized");
 5655   7583   
        }
 5656   7584   
 5657   7585   
        #[test]
 5658   7586   
        fn test_get_slash_dot_slash_normalized() {
 5659         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        7587  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 5660   7588   
        }
 5661   7589   
 5662   7590   
        #[test]
 5663   7591   
        fn test_get_slash_dot_slash_unnormalized() {
 5664         -
            run_v4a_test_suite(
 5665         -
                "get-slash-dot-slash-unnormalized",
 5666         -
                SignatureLocation::Headers,
 5667         -
            );
        7592  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 5668   7593   
        }
 5669   7594   
 5670   7595   
        #[test]
 5671   7596   
        fn test_get_slash_normalized() {
 5672         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        7597  +
            run_test_suite_v4a("get-slash-normalized");
 5673   7598   
        }
 5674   7599   
 5675   7600   
        #[test]
 5676   7601   
        fn test_get_slash_pointless_dot_normalized() {
 5677         -
            run_v4a_test_suite(
 5678         -
                "get-slash-pointless-dot-normalized",
 5679         -
                SignatureLocation::Headers,
 5680         -
            );
        7602  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 5681   7603   
        }
 5682   7604   
 5683   7605   
        #[test]
 5684   7606   
        fn test_get_slash_pointless_dot_unnormalized() {
 5685         -
            run_v4a_test_suite(
 5686         -
                "get-slash-pointless-dot-unnormalized",
 5687         -
                SignatureLocation::Headers,
 5688         -
            );
        7607  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 5689   7608   
        }
 5690   7609   
 5691   7610   
        #[test]
 5692   7611   
        fn test_get_slash_unnormalized() {
 5693         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        7612  +
            run_test_suite_v4a("get-slash-unnormalized");
 5694   7613   
        }
 5695   7614   
 5696   7615   
        #[test]
 5697   7616   
        fn test_get_slashes_normalized() {
 5698         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        7617  +
            run_test_suite_v4a("get-slashes-normalized");
 5699   7618   
        }
 5700   7619   
 5701   7620   
        #[test]
 5702   7621   
        fn test_get_slashes_unnormalized() {
 5703         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        7622  +
            run_test_suite_v4a("get-slashes-unnormalized");
        7623  +
        }
        7624  +
        7625  +
        #[test]
        7626  +
        #[ignore = "relies on single encode of path segments"]
        7627  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7628  +
        // skipped until we add control over double_uri_encode in context.json
        7629  +
        fn test_get_space_normalized() {
        7630  +
            run_test_suite_v4a("get-space-normalized");
        7631  +
        }
        7632  +
        7633  +
        #[test]
        7634  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7635  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7636  +
        fn test_get_space_unnormalized() {
        7637  +
            run_test_suite_v4a("get-space-unnormalized");
 5704   7638   
        }
 5705   7639   
 5706   7640   
        #[test]
 5707   7641   
        fn test_get_unreserved() {
 5708         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        7642  +
            run_test_suite_v4a("get-unreserved");
        7643  +
        }
        7644  +
        7645  +
        #[test]
        7646  +
        #[ignore = "httparse fails on invalid uri character"]
        7647  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7648  +
        fn test_get_utf8() {
        7649  +
            run_test_suite_v4a("get-utf8");
 5709   7650   
        }
 5710   7651   
 5711   7652   
        #[test]
 5712   7653   
        fn test_get_vanilla() {
 5713         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        7654  +
            run_test_suite_v4a("get-vanilla");
 5714   7655   
        }
 5715   7656   
 5716   7657   
        #[test]
 5717   7658   
        fn test_get_vanilla_empty_query_key() {
 5718         -
            run_v4a_test_suite(
 5719         -
                "get-vanilla-empty-query-key",
 5720         -
                SignatureLocation::QueryParams,
 5721         -
            );
        7659  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 5722   7660   
        }
 5723   7661   
 5724   7662   
        #[test]
 5725   7663   
        fn test_get_vanilla_query() {
 5726         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        7664  +
            run_test_suite_v4a("get-vanilla-query");
        7665  +
        }
        7666  +
        7667  +
        #[test]
        7668  +
        fn test_get_vanilla_query_order_encoded() {
        7669  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 5727   7670   
        }
 5728   7671   
 5729   7672   
        #[test]
 5730   7673   
        fn test_get_vanilla_query_order_key_case() {
 5731         -
            run_v4a_test_suite(
 5732         -
                "get-vanilla-query-order-key-case",
 5733         -
                SignatureLocation::QueryParams,
 5734         -
            );
        7674  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 5735   7675   
        }
 5736   7676   
 5737   7677   
        #[test]
 5738   7678   
        fn test_get_vanilla_query_unreserved() {
 5739         -
            run_v4a_test_suite(
 5740         -
                "get-vanilla-query-unreserved",
 5741         -
                SignatureLocation::QueryParams,
 5742         -
            );
        7679  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        7680  +
        }
        7681  +
        7682  +
        #[test]
        7683  +
        #[ignore = "httparse fails on invalid uri character"]
        7684  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7685  +
        fn test_get_vanilla_utf8_query() {
        7686  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 5743   7687   
        }
 5744   7688   
 5745   7689   
        #[test]
 5746   7690   
        fn test_get_vanilla_with_session_token() {
 5747         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        7691  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 5748   7692   
        }
 5749   7693   
 5750   7694   
        #[test]
 5751   7695   
        fn test_post_header_key_case() {
 5752         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        7696  +
            run_test_suite_v4a("post-header-key-case");
 5753   7697   
        }
 5754   7698   
 5755   7699   
        #[test]
 5756   7700   
        fn test_post_header_key_sort() {
 5757         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        7701  +
            run_test_suite_v4a("post-header-key-sort");
 5758   7702   
        }
 5759   7703   
 5760   7704   
        #[test]
 5761   7705   
        fn test_post_header_value_case() {
 5762         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        7706  +
            run_test_suite_v4a("post-header-value-case");
 5763   7707   
        }
 5764   7708   
 5765   7709   
        #[test]
 5766   7710   
        fn test_post_sts_header_after() {
 5767         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        7711  +
            run_test_suite_v4a("post-sts-header-after");
 5768   7712   
        }
 5769   7713   
 5770   7714   
        #[test]
 5771   7715   
        fn test_post_sts_header_before() {
 5772         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        7716  +
            run_test_suite_v4a("post-sts-header-before");
 5773   7717   
        }
 5774   7718   
 5775   7719   
        #[test]
 5776   7720   
        fn test_post_vanilla() {
 5777         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        7721  +
            run_test_suite_v4a("post-vanilla");
 5778   7722   
        }
 5779   7723   
 5780   7724   
        #[test]
 5781   7725   
        fn test_post_vanilla_empty_query_value() {
 5782         -
            run_v4a_test_suite(
 5783         -
                "post-vanilla-empty-query-value",
 5784         -
                SignatureLocation::QueryParams,
 5785         -
            );
        7726  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 5786   7727   
        }
 5787   7728   
 5788   7729   
        #[test]
 5789   7730   
        fn test_post_vanilla_query() {
 5790         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        7731  +
            run_test_suite_v4a("post-vanilla-query");
 5791   7732   
        }
 5792   7733   
 5793   7734   
        #[test]
 5794   7735   
        fn test_post_x_www_form_urlencoded() {
 5795         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        7736  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 5796   7737   
        }
 5797   7738   
 5798   7739   
        #[test]
 5799   7740   
        fn test_post_x_www_form_urlencoded_parameters() {
 5800         -
            run_v4a_test_suite(
 5801         -
                "post-x-www-form-urlencoded-parameters",
 5802         -
                SignatureLocation::QueryParams,
 5803         -
            );
        7741  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 5804   7742   
        }
 5805   7743   
    }
 5806   7744   
 5807   7745   
    #[test]
 5808   7746   
    fn test_sign_url_escape() {
 5809         -
        let test = "double-encode-path";
        7747  +
        let test = SigningSuiteTest::v4("double-encode-path");
 5810   7748   
        let settings = SigningSettings::default();
 5811   7749   
        let identity = &Credentials::for_tests().into();
 5812   7750   
        let params = v4::SigningParams {
 5813   7751   
            identity,
 5814   7752   
            region: "us-east-1",
 5815   7753   
            name: "service",
 5816   7754   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5817   7755   
            settings,
 5818   7756   
        }
 5819   7757   
        .into();
 5820   7758   
 5821         -
        let original = test::v4::test_request(test);
        7759  +
        let original = test.request();
 5822   7760   
        let signable = SignableRequest::from(&original);
 5823   7761   
        let out = sign(signable, &params).unwrap();
 5824   7762   
        assert_eq!(
 5825   7763   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 5826   7764   
            out.signature
 5827   7765   
        );
 5828   7766   
 5829   7767   
        let mut signed = original.as_http_request();
 5830   7768   
        out.output.apply_to_request_http0x(&mut signed);
 5831   7769   
 5832         -
        let expected = test::v4::test_signed_request(test);
 5833         -
        assert_req_eq!(expected, signed);
 5834         -
    }
 5835         -
 5836         -
    #[test]
 5837         -
    fn test_sign_vanilla_with_query_params() {
 5838         -
        let settings = SigningSettings {
 5839         -
            signature_location: SignatureLocation::QueryParams,
 5840         -
            expires_in: Some(Duration::from_secs(35)),
 5841         -
            ..Default::default()
 5842         -
        };
 5843         -
        let identity = &Credentials::for_tests().into();
 5844         -
        let params = v4::SigningParams {
 5845         -
            identity,
 5846         -
            region: "us-east-1",
 5847         -
            name: "service",
 5848         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5849         -
            settings,
 5850         -
        }
 5851         -
        .into();
 5852         -
 5853         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5854         -
        let signable = SignableRequest::from(&original);
 5855         -
        let out = sign(signable, &params).unwrap();
 5856         -
        assert_eq!(
 5857         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 5858         -
            out.signature
 5859         -
        );
 5860         -
 5861         -
        let mut signed = original.as_http_request();
 5862         -
        out.output.apply_to_request_http0x(&mut signed);
 5863         -
 5864         -
        let expected =
 5865         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        7770  +
        let expected = test.signed_request(SignatureLocation::Headers);
 5866   7771   
        assert_req_eq!(expected, signed);
 5867   7772   
    }
 5868   7773   
 5869   7774   
    #[test]
 5870   7775   
    fn test_sign_headers_utf8() {
 5871   7776   
        let settings = SigningSettings::default();
 5872   7777   
        let identity = &Credentials::for_tests().into();
 5873   7778   
        let params = v4::SigningParams {
 5874   7779   
            identity,
 5875   7780   
            region: "us-east-1",
 5876   7781   
            name: "service",
 5877   7782   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5878   7783   
            settings,
 5879   7784   
        }
 5880   7785   
        .into();
 5881   7786   
 5882   7787   
        let original = http0::Request::builder()
 5883   7788   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 5884   7789   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 5885   7790   
            .body("")
 5886   7791   
            .unwrap()
 5887   7792   
            .into();
 5888   7793   
        let signable = SignableRequest::from(&original);
 5889   7794   
        let out = sign(signable, &params).unwrap();
 5890   7795   
        assert_eq!(
 5891   7796   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 5892   7797   
            out.signature
 5893   7798   
        );
 5894   7799   
 5895   7800   
        let mut signed = original.as_http_request();
 5896   7801   
@@ -1138,31 +1028,236 @@ mod tests {
 5897   7802   
        let mut request = http::Request::builder()
 5898   7803   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 5899   7804   
            .body("")
 5900   7805   
            .unwrap();
 5901   7806   
 5902   7807   
        instructions.apply_to_request_http1x(&mut request);
 5903   7808   
 5904   7809   
        assert_eq!(
 5905   7810   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 5906   7811   
            request.uri().path_and_query().unwrap().to_string()
 5907   7812   
        );
 5908   7813   
    }
 5909   7814   
 5910   7815   
    #[test]
 5911   7816   
    fn test_debug_signable_body() {
 5912   7817   
        let sut = SignableBody::Bytes(b"hello signable body");
 5913   7818   
        assert_eq!(
 5914   7819   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 5915   7820   
            format!("{sut:?}")
 5916   7821   
        );
 5917   7822   
 5918   7823   
        let sut = SignableBody::UnsignedPayload;
 5919   7824   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 5920   7825   
 5921   7826   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 5922   7827   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 5923   7828   
 5924   7829   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 5925   7830   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 5926   7831   
    }
        7832  +
        7833  +
    // v4 test suite
        7834  +
    mod v4_suite {
        7835  +
        use crate::http_request::test::run_test_suite_v4;
        7836  +
        7837  +
        #[test]
        7838  +
        fn test_get_header_key_duplicate() {
        7839  +
            run_test_suite_v4("get-header-key-duplicate");
        7840  +
        }
        7841  +
        7842  +
        #[test]
        7843  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7844  +
        fn test_get_header_value_multiline() {
        7845  +
            run_test_suite_v4("get-header-value-multiline");
        7846  +
        }
        7847  +
        7848  +
        #[test]
        7849  +
        fn test_get_header_value_order() {
        7850  +
            run_test_suite_v4("get-header-value-order");
        7851  +
        }
        7852  +
        7853  +
        #[test]
        7854  +
        fn test_get_header_value_trim() {
        7855  +
            run_test_suite_v4("get-header-value-trim");
        7856  +
        }
        7857  +
        7858  +
        #[test]
        7859  +
        fn test_get_relative_normalized() {
        7860  +
            run_test_suite_v4("get-relative-normalized");
        7861  +
        }
        7862  +
        7863  +
        #[test]
        7864  +
        fn test_get_relative_relative_normalized() {
        7865  +
            run_test_suite_v4("get-relative-relative-normalized");
        7866  +
        }
        7867  +
        7868  +
        #[test]
        7869  +
        fn test_get_relative_relative_unnormalized() {
        7870  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        7871  +
        }
        7872  +
        7873  +
        #[test]
        7874  +
        fn test_get_relative_unnormalized() {
        7875  +
            run_test_suite_v4("get-relative-unnormalized");
        7876  +
        }
        7877  +
        7878  +
        #[test]
        7879  +
        fn test_get_slash_dot_slash_normalized() {
        7880  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        7881  +
        }
        7882  +
        7883  +
        #[test]
        7884  +
        fn test_get_slash_dot_slash_unnormalized() {
        7885  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        7886  +
        }
        7887  +
        7888  +
        #[test]
        7889  +
        fn test_get_slash_normalized() {
        7890  +
            run_test_suite_v4("get-slash-normalized");
        7891  +
        }
        7892  +
        7893  +
        #[test]
        7894  +
        fn test_get_slash_pointless_dot_normalized() {
        7895  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        7896  +
        }
        7897  +
        7898  +
        #[test]
        7899  +
        fn test_get_slash_pointless_dot_unnormalized() {
        7900  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        7901  +
        }
        7902  +
        7903  +
        #[test]
        7904  +
        fn test_get_slash_unnormalized() {
        7905  +
            run_test_suite_v4("get-slash-unnormalized");
        7906  +
        }
        7907  +
        7908  +
        #[test]
        7909  +
        fn test_get_slashes_normalized() {
        7910  +
            run_test_suite_v4("get-slashes-normalized");
        7911  +
        }
        7912  +
        7913  +
        #[test]
        7914  +
        fn test_get_slashes_unnormalized() {
        7915  +
            run_test_suite_v4("get-slashes-unnormalized");
        7916  +
        }
        7917  +
        7918  +
        #[test]
        7919  +
        #[ignore = "relies on single encode of path segments"]
        7920  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7921  +
        // skipped until we add control over double_uri_encode in context.json
        7922  +
        fn test_get_space_normalized() {
        7923  +
            run_test_suite_v4("get-space-normalized");
        7924  +
        }
        7925  +
        7926  +
        #[test]
        7927  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7928  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7929  +
        fn test_get_space_unnormalized() {
        7930  +
            run_test_suite_v4("get-space-unnormalized");
        7931  +
        }
        7932  +
        7933  +
        #[test]
        7934  +
        fn test_get_unreserved() {
        7935  +
            run_test_suite_v4("get-unreserved");
        7936  +
        }
        7937  +
        7938  +
        #[test]
        7939  +
        #[ignore = "httparse fails on invalid uri character"]
        7940  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7941  +
        fn test_get_utf8() {
        7942  +
            run_test_suite_v4("get-utf8");
        7943  +
        }
        7944  +
        7945  +
        #[test]
        7946  +
        fn test_get_vanilla() {
        7947  +
            run_test_suite_v4("get-vanilla");
        7948  +
        }
        7949  +
        7950  +
        #[test]
        7951  +
        fn test_get_vanilla_empty_query_key() {
        7952  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        7953  +
        }
        7954  +
        7955  +
        #[test]
        7956  +
        fn test_get_vanilla_query() {
        7957  +
            run_test_suite_v4("get-vanilla-query");
        7958  +
        }
        7959  +
        7960  +
        #[test]
        7961  +
        fn test_get_vanilla_query_order_encoded() {
        7962  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        7963  +
        }
        7964  +
        7965  +
        #[test]
        7966  +
        fn test_get_vanilla_query_order_key_case() {
        7967  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        7968  +
        }
        7969  +
        7970  +
        #[test]
        7971  +
        fn test_get_vanilla_query_unreserved() {
        7972  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        7973  +
        }
        7974  +
        7975  +
        #[test]
        7976  +
        #[ignore = "httparse fails on invalid uri character"]
        7977  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7978  +
        fn test_get_vanilla_utf8_query() {
        7979  +
            run_test_suite_v4("get-vanilla-utf8-query");
        7980  +
        }
        7981  +
        7982  +
        #[test]
        7983  +
        fn test_get_vanilla_with_session_token() {
        7984  +
            run_test_suite_v4("get-vanilla-with-session-token");
        7985  +
        }
        7986  +
        7987  +
        #[test]
        7988  +
        fn test_post_header_key_case() {
        7989  +
            run_test_suite_v4("post-header-key-case");
        7990  +
        }
        7991  +
        7992  +
        #[test]
        7993  +
        fn test_post_header_key_sort() {
        7994  +
            run_test_suite_v4("post-header-key-sort");
        7995  +
        }
        7996  +
        7997  +
        #[test]
        7998  +
        fn test_post_header_value_case() {
        7999  +
            run_test_suite_v4("post-header-value-case");
        8000  +
        }
        8001  +
        8002  +
        #[test]
        8003  +
        fn test_post_sts_header_after() {
        8004  +
            run_test_suite_v4("post-sts-header-after");
        8005  +
        }
        8006  +
        8007  +
        #[test]
        8008  +
        fn test_post_sts_header_before() {
        8009  +
            run_test_suite_v4("post-sts-header-before");
        8010  +
        }
        8011  +
        8012  +
        #[test]
        8013  +
        fn test_post_vanilla() {
        8014  +
            run_test_suite_v4("post-vanilla");
        8015  +
        }
        8016  +
        8017  +
        #[test]
        8018  +
        fn test_post_vanilla_empty_query_value() {
        8019  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        8020  +
        }
        8021  +
        8022  +
        #[test]
        8023  +
        fn test_post_vanilla_query() {
        8024  +
            run_test_suite_v4("post-vanilla-query");
        8025  +
        }
        8026  +
        8027  +
        #[test]
        8028  +
        fn test_post_x_www_form_urlencoded() {
        8029  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        8030  +
        }
        8031  +
        8032  +
        #[test]
        8033  +
        fn test_post_x_www_form_urlencoded_parameters() {
        8034  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        8035  +
        }
        8036  +
    }
 5927   8037   
}
 5928   8038   
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
 5929   8039   
index be6c496..86eec20 100644
 5930         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        8040  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 5931   8041   
@@ -1,242 +1,453 @@
 5932   8042   
/*
 5933   8043   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 5934   8044   
 * SPDX-License-Identifier: Apache-2.0
 5935   8045   
 */
 5936   8046   
 5937   8047   
//! Functions shared between the tests of several modules.
 5938   8048   
 5939         -
use crate::http_request::{SignableBody, SignableRequest};
        8049  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        8050  +
use crate::http_request::{
        8051  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        8052  +
    SigningSettings,
        8053  +
};
        8054  +
use aws_credential_types::Credentials;
        8055  +
use aws_smithy_runtime_api::client::identity::Identity;
 5940   8056   
use http0::{Method, Uri};
        8057  +
use std::borrow::Cow;
 5941   8058   
use std::error::Error as StdError;
        8059  +
use std::time::{Duration, SystemTime};
        8060  +
use time::format_description::well_known::Rfc3339;
        8061  +
use time::OffsetDateTime;
        8062  +
        8063  +
/// Common test suite collection
        8064  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        8065  +
enum Collection {
        8066  +
    V4,
        8067  +
    V4A,
        8068  +
}
 5942   8069   
 5943         -
pub(crate) mod v4 {
 5944         -
    use super::*;
        8070  +
/// A test from the common CRT test suite
        8071  +
#[derive(Debug, Clone)]
        8072  +
pub(crate) struct SigningSuiteTest {
        8073  +
    test_name: &'static str,
        8074  +
    collection: Collection,
        8075  +
}
 5945   8076   
 5946         -
    fn path(name: &str, ext: &str) -> String {
 5947         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        8077  +
impl SigningSuiteTest {
        8078  +
    /// Create a new test from the V4 test suite
        8079  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        8080  +
        Self {
        8081  +
            test_name,
        8082  +
            collection: Collection::V4,
 5948   8083   
        }
 5949         -
 5950         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 5951         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 5952         -
        read(&path(name, "creq")).trim().to_string()
 5953   8084   
    }
 5954   8085   
 5955         -
    pub(crate) fn test_sts(name: &str) -> String {
 5956         -
        read(&path(name, "sts"))
        8086  +
    /// Create a new test from the V4a test suite
        8087  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        8088  +
        Self {
        8089  +
            test_name,
        8090  +
            collection: Collection::V4A,
 5957   8091   
        }
 5958         -
 5959         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 5960         -
        test_parsed_request(name, "req")
 5961   8092   
    }
 5962   8093   
 5963         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 5964         -
        test_parsed_request(name, "sreq")
        8094  +
    /// Get the path to a file in this test suite directory
        8095  +
    fn path(&self, filename: &str) -> String {
        8096  +
        let dir = match self.collection {
        8097  +
            Collection::V4 => "v4",
        8098  +
            Collection::V4A => "v4a",
        8099  +
        };
        8100  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 5965   8101   
    }
 5966   8102   
 5967         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 5968         -
        test_parsed_request(name, "qpsreq")
        8103  +
    /// Get the HTTP request for the test
        8104  +
    pub(crate) fn request(&self) -> TestRequest {
        8105  +
        test_parsed_request(&self.path("request.txt"))
 5969   8106   
    }
 5970   8107   
 5971         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 5972         -
        let path = path(name, ext);
 5973         -
        match parse_request(read(&path).as_bytes()) {
 5974         -
            Ok(parsed) => parsed,
 5975         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        8108  +
    /// Get the signed HTTP request for the test
        8109  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        8110  +
        match signature_location {
        8111  +
            SignatureLocation::QueryParams => {
        8112  +
                test_parsed_request(&self.path("query-signed-request.txt"))
 5976   8113   
            }
        8114  +
            SignatureLocation::Headers => {
        8115  +
                test_parsed_request(&self.path("header-signed-request.txt"))
 5977   8116   
            }
 5978         -
 5979         -
    #[test]
 5980         -
    fn test_parse() {
 5981         -
        test_request("post-header-key-case");
 5982   8117   
        }
 5983         -
 5984         -
    #[test]
 5985         -
    fn test_read_query_params() {
 5986         -
        test_request("get-vanilla-query-order-key-case");
 5987   8118   
    }
 5988         -
}
 5989         -
 5990         -
#[cfg(feature = "sigv4a")]
 5991         -
pub(crate) mod v4a {
 5992         -
    use super::*;
 5993         -
    use crate::http_request::{
 5994         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 5995         -
    };
 5996         -
    use aws_credential_types::Credentials;
 5997         -
    use aws_smithy_runtime_api::client::identity::Identity;
 5998         -
    use serde_derive::Deserialize;
 5999         -
    use std::time::{Duration, SystemTime};
 6000         -
    use time::format_description::well_known::Rfc3339;
 6001         -
    use time::OffsetDateTime;
 6002   8119   
 6003         -
    fn path(test_name: &str, definition_name: &str) -> String {
 6004         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        8120  +
    /// Get the canonical request for the test
        8121  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        8122  +
        match signature_location {
        8123  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        8124  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
 6005   8125   
        }
 6006         -
 6007         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6008         -
        test_parsed_request(&path(name, "request"))
 6009   8126   
    }
 6010   8127   
 6011         -
    pub(crate) fn test_canonical_request(
 6012         -
        name: &str,
 6013         -
        signature_location: SignatureLocation,
 6014         -
    ) -> String {
        8128  +
    /// Get the string to sign for the test
        8129  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
 6015   8130   
        match signature_location {
 6016         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 6017         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        8131  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        8132  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 6018   8133   
        }
 6019   8134   
    }
 6020   8135   
 6021         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
        8136  +
    /// Get the signature for the test
        8137  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
 6022   8138   
        match signature_location {
 6023         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 6024         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        8139  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        8140  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        8141  +
        }
 6025   8142   
    }
        8143  +
        8144  +
    /// Get the test context for the test
        8145  +
    pub(crate) fn context(&self) -> TestContext {
        8146  +
        let context = read(&self.path("context.json"));
        8147  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        8148  +
        tc_builder.build()
 6026   8149   
    }
        8150  +
}
 6027   8151   
 6028         -
    fn test_parsed_request(path: &str) -> TestRequest {
        8152  +
fn test_parsed_request(path: &str) -> TestRequest {
 6029   8153   
    match parse_request(read(path).as_bytes()) {
 6030   8154   
        Ok(parsed) => parsed,
 6031   8155   
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 6032   8156   
    }
 6033         -
    }
        8157  +
}
 6034   8158   
 6035         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 6036         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 6037         -
        let context = read(&path);
 6038         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 6039         -
        tc_builder.build()
 6040         -
    }
        8159  +
fn new_v4_signing_params_from_context(
        8160  +
    test_context: &'_ TestContext,
        8161  +
    signature_location: SignatureLocation,
        8162  +
) -> crate::http_request::SigningParams<'_> {
        8163  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        8164  +
    params.settings.signature_location = signature_location;
        8165  +
    params.into()
        8166  +
}
        8167  +
        8168  +
/// Run the given test from the v4 suite for both header and query
        8169  +
/// signature locations
        8170  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        8171  +
    run_v4_test(test_name, SignatureLocation::Headers);
        8172  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        8173  +
}
        8174  +
        8175  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        8176  +
    assert_eq!(expected.scheme(), actual.scheme());
        8177  +
    assert_eq!(expected.authority(), actual.authority());
        8178  +
    assert_eq!(expected.path(), actual.path());
        8179  +
        8180  +
    // query params may be out of order
        8181  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8182  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        8183  +
    expected_params.sort();
        8184  +
        8185  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8186  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        8187  +
    actual_params.sort();
        8188  +
        8189  +
    assert_eq!(expected_params, actual_params);
        8190  +
}
 6041   8191   
 6042         -
    pub(crate) struct TestContext {
        8192  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        8193  +
    let expected = expected.as_http_request();
        8194  +
    let actual = actual;
        8195  +
    assert_eq!(expected.method(), actual.method());
        8196  +
    assert_eq!(
        8197  +
        expected.headers().len(),
        8198  +
        actual.headers().len(),
        8199  +
        "extra or missing headers"
        8200  +
    );
        8201  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        8202  +
    assert_uri_eq(expected.uri(), actual.uri());
        8203  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        8204  +
}
        8205  +
        8206  +
/// Run the given test from the v4 suite for the given signature location
        8207  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        8208  +
    let test = SigningSuiteTest::v4(test_name);
        8209  +
    let tc = test.context();
        8210  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        8211  +
        8212  +
    let req = test.request();
        8213  +
    let expected_creq = test.canonical_request(signature_location);
        8214  +
    let signable_req = SignableRequest::from(&req);
        8215  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8216  +
        8217  +
    // check canonical request
        8218  +
    assert_eq!(
        8219  +
        expected_creq,
        8220  +
        actual_creq.to_string(),
        8221  +
        "canonical request didn't match (signature location: {signature_location:?})"
        8222  +
    );
        8223  +
        8224  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        8225  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8226  +
    let actual_string_to_sign = StringToSign::new_v4(
        8227  +
        *params.time(),
        8228  +
        params.region().unwrap(),
        8229  +
        params.name(),
        8230  +
        hashed_creq,
        8231  +
    )
        8232  +
    .to_string();
        8233  +
        8234  +
    // check string to sign
        8235  +
    assert_eq!(
        8236  +
        expected_string_to_sign, actual_string_to_sign,
        8237  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        8238  +
    );
        8239  +
        8240  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        8241  +
    let mut signed = req.as_http_request();
        8242  +
    out.output.apply_to_request_http0x(&mut signed);
        8243  +
        8244  +
    // check signature
        8245  +
    assert_eq!(
        8246  +
        test.signature(signature_location),
        8247  +
        out.signature,
        8248  +
        "signature didn't match (signature location: {signature_location:?})"
        8249  +
    );
        8250  +
        8251  +
    let expected = test.signed_request(signature_location);
        8252  +
    assert_requests_eq(expected, signed);
        8253  +
}
        8254  +
        8255  +
/// Test suite context.json
        8256  +
pub(crate) struct TestContext {
 6043   8257   
    pub(crate) identity: Identity,
 6044   8258   
    pub(crate) expiration_in_seconds: u64,
 6045   8259   
    pub(crate) normalize: bool,
 6046   8260   
    pub(crate) region: String,
 6047   8261   
    pub(crate) service: String,
 6048   8262   
    pub(crate) timestamp: String,
 6049   8263   
    pub(crate) omit_session_token: bool,
 6050   8264   
    pub(crate) sign_body: bool,
 6051         -
    }
 6052         -
 6053         -
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 6054         -
        fn from(tc: &'a TestContext) -> Self {
 6055         -
            crate::sign::v4a::SigningParams {
 6056         -
                identity: &tc.identity,
 6057         -
                region_set: &tc.region,
 6058         -
                name: &tc.service,
 6059         -
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 6060         -
                    .unwrap()
 6061         -
                    .into(),
 6062         -
                settings: SigningSettings {
 6063         -
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6064         -
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 6065         -
                    uri_path_normalization_mode: tc.normalize.into(),
 6066         -
                    session_token_mode: if tc.omit_session_token {
 6067         -
                        SessionTokenMode::Exclude
 6068         -
                    } else {
 6069         -
                        SessionTokenMode::Include
 6070         -
                    },
 6071         -
                    payload_checksum_kind: if tc.sign_body {
 6072         -
                        PayloadChecksumKind::XAmzSha256
 6073         -
                    } else {
 6074         -
                        PayloadChecksumKind::NoHeader
 6075         -
                    },
 6076         -
                    ..Default::default()
 6077         -
                },
 6078         -
            }
 6079         -
        }
 6080         -
    }
        8265  +
}
 6081   8266   
 6082         -
    // Serde has limitations requiring this odd workaround.
 6083         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 6084         -
    fn return_true() -> bool {
        8267  +
// Serde has limitations requiring this odd workaround.
        8268  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        8269  +
fn return_true() -> bool {
 6085   8270   
    true
 6086         -
    }
        8271  +
}
 6087   8272   
 6088         -
    #[derive(Deserialize)]
 6089         -
    pub(crate) struct TestContextBuilder {
        8273  +
#[derive(serde_derive::Deserialize)]
        8274  +
pub(crate) struct TestContextBuilder {
 6090   8275   
    credentials: TestContextCreds,
 6091   8276   
    expiration_in_seconds: u64,
 6092   8277   
    normalize: bool,
 6093   8278   
    region: String,
 6094   8279   
    service: String,
 6095   8280   
    timestamp: String,
 6096   8281   
    #[serde(default)]
 6097   8282   
    omit_session_token: bool,
 6098   8283   
    #[serde(default = "return_true")]
 6099   8284   
    sign_body: bool,
 6100         -
    }
        8285  +
}
 6101   8286   
 6102         -
    impl TestContextBuilder {
        8287  +
impl TestContextBuilder {
 6103   8288   
    pub(crate) fn build(self) -> TestContext {
 6104   8289   
        let identity = Identity::new(
 6105   8290   
            Credentials::from_keys(
 6106   8291   
                &self.credentials.access_key_id,
 6107   8292   
                &self.credentials.secret_access_key,
 6108   8293   
                self.credentials.token.clone(),
 6109   8294   
            ),
 6110   8295   
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 6111   8296   
        );
 6112   8297   
 6113   8298   
        TestContext {
 6114   8299   
            identity,
 6115   8300   
            expiration_in_seconds: self.expiration_in_seconds,
 6116   8301   
            normalize: self.normalize,
 6117   8302   
            region: self.region,
 6118   8303   
            service: self.service,
 6119   8304   
            timestamp: self.timestamp,
 6120   8305   
            omit_session_token: self.omit_session_token,
 6121   8306   
            sign_body: self.sign_body,
 6122   8307   
        }
 6123   8308   
    }
 6124         -
    }
        8309  +
}
 6125   8310   
 6126         -
    #[derive(Deserialize)]
 6127         -
    pub(crate) struct TestContextCreds {
        8311  +
#[derive(serde_derive::Deserialize)]
        8312  +
pub(crate) struct TestContextCreds {
 6128   8313   
    access_key_id: String,
 6129   8314   
    secret_access_key: String,
 6130   8315   
    token: Option<String>,
        8316  +
}
        8317  +
        8318  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        8319  +
    fn from(tc: &'a TestContext) -> Self {
        8320  +
        crate::sign::v4::SigningParams {
        8321  +
            identity: &tc.identity,
        8322  +
            region: &tc.region,
        8323  +
            name: &tc.service,
        8324  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8325  +
                .unwrap()
        8326  +
                .into(),
        8327  +
            settings: SigningSettings {
        8328  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8329  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8330  +
                uri_path_normalization_mode: tc.normalize.into(),
        8331  +
                session_token_mode: if tc.omit_session_token {
        8332  +
                    SessionTokenMode::Exclude
        8333  +
                } else {
        8334  +
                    SessionTokenMode::Include
        8335  +
                },
        8336  +
                payload_checksum_kind: if tc.sign_body {
        8337  +
                    PayloadChecksumKind::XAmzSha256
        8338  +
                } else {
        8339  +
                    PayloadChecksumKind::NoHeader
        8340  +
                },
        8341  +
                ..Default::default()
        8342  +
            },
        8343  +
        }
        8344  +
    }
        8345  +
}
        8346  +
        8347  +
#[cfg(feature = "sigv4a")]
        8348  +
pub(crate) mod v4a {
        8349  +
    use super::*;
        8350  +
    use crate::http_request::{
        8351  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        8352  +
    };
        8353  +
    use crate::sign::v4a;
        8354  +
    use p256::ecdsa::signature::{Signature, Verifier};
        8355  +
    use p256::ecdsa::{DerSignature, SigningKey};
        8356  +
    use std::time::Duration;
        8357  +
    use time::format_description::well_known::Rfc3339;
        8358  +
    use time::OffsetDateTime;
        8359  +
        8360  +
    fn new_v4a_signing_params_from_context(
        8361  +
        test_context: &'_ TestContext,
        8362  +
        signature_location: SignatureLocation,
        8363  +
    ) -> crate::http_request::SigningParams<'_> {
        8364  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        8365  +
        params.settings.signature_location = signature_location;
        8366  +
        params.into()
        8367  +
    }
        8368  +
        8369  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        8370  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        8371  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
        8372  +
    }
        8373  +
        8374  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        8375  +
        let test = SigningSuiteTest::v4a(test_name);
        8376  +
        let tc = test.context();
        8377  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        8378  +
        8379  +
        let req = test.request();
        8380  +
        let expected_creq = test.canonical_request(signature_location);
        8381  +
        let signable_req = SignableRequest::from(&req);
        8382  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8383  +
        8384  +
        assert_eq!(
        8385  +
            expected_creq,
        8386  +
            actual_creq.to_string(),
        8387  +
            "canonical request didn't match (signature location: {signature_location:?})"
        8388  +
        );
        8389  +
        8390  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        8391  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8392  +
        let actual_string_to_sign = StringToSign::new_v4a(
        8393  +
            *params.time(),
        8394  +
            params.region_set().unwrap(),
        8395  +
            params.name(),
        8396  +
            hashed_creq,
        8397  +
        )
        8398  +
        .to_string();
        8399  +
        8400  +
        assert_eq!(
        8401  +
            expected_string_to_sign, actual_string_to_sign,
        8402  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        8403  +
        );
        8404  +
        8405  +
        let out = sign(signable_req, &params).unwrap();
        8406  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        8407  +
        out.output
        8408  +
            .apply_to_request_http0x(&mut req.as_http_request());
        8409  +
        8410  +
        let creds = params.credentials().unwrap();
        8411  +
        let signing_key =
        8412  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        8413  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        8414  +
        let sig = sig
        8415  +
            .try_into()
        8416  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        8417  +
        8418  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        8419  +
        let peer_public_key = signing_key.verifying_key();
        8420  +
        let sts = actual_string_to_sign.as_bytes();
        8421  +
        peer_public_key.verify(sts, &sig).unwrap();
        8422  +
        // TODO(sigv4a) - use public.key.json as verifying key?
        8423  +
    }
        8424  +
        8425  +
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
        8426  +
        fn from(tc: &'a TestContext) -> Self {
        8427  +
            crate::sign::v4a::SigningParams {
        8428  +
                identity: &tc.identity,
        8429  +
                region_set: &tc.region,
        8430  +
                name: &tc.service,
        8431  +
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8432  +
                    .unwrap()
        8433  +
                    .into(),
        8434  +
                settings: SigningSettings {
        8435  +
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8436  +
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8437  +
                    uri_path_normalization_mode: tc.normalize.into(),
        8438  +
                    session_token_mode: if tc.omit_session_token {
        8439  +
                        SessionTokenMode::Exclude
        8440  +
                    } else {
        8441  +
                        SessionTokenMode::Include
        8442  +
                    },
        8443  +
                    payload_checksum_kind: if tc.sign_body {
        8444  +
                        PayloadChecksumKind::XAmzSha256
        8445  +
                    } else {
        8446  +
                        PayloadChecksumKind::NoHeader
        8447  +
                    },
        8448  +
                    ..Default::default()
        8449  +
                },
        8450  +
            }
        8451  +
        }
 6131   8452   
    }
 6132   8453   
 6133   8454   
    #[test]
 6134   8455   
    fn test_parse() {
 6135         -
        let req = test_request("post-header-key-case");
        8456  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 6136   8457   
        assert_eq!(req.method, "POST");
 6137   8458   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6138   8459   
        assert!(req.headers.is_empty());
 6139   8460   
    }
 6140   8461   
 6141   8462   
    #[test]
 6142   8463   
    fn test_read_query_params() {
 6143         -
        let req = test_request("get-header-value-trim");
        8464  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 6144   8465   
        assert_eq!(req.method, "GET");
 6145   8466   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6146   8467   
        assert!(!req.headers.is_empty());
 6147   8468   
    }
 6148   8469   
}
 6149   8470   
 6150   8471   
fn read(path: &str) -> String {
 6151   8472   
    println!("Loading `{}` for test case...", path);
 6152   8473   
    let v = {
 6153   8474   
        match std::fs::read_to_string(path) {
 6154   8475   
            // This replacement is necessary for tests to pass on Windows, as reading the
 6155   8476   
            // test snapshots from the file system results in CRLF line endings being inserted.
 6156   8477   
            Ok(value) => value.replace("\r\n", "\n"),
 6157   8478   
            Err(err) => {
 6158   8479   
                panic!("failed to load test case `{}`: {}", path, err);
 6159   8480   
            }
 6160   8481   
        }
 6161   8482   
    };
 6162   8483   
 6163   8484   
    v.trim().to_string()
 6164   8485   
}
 6165   8486   
 6166   8487   
pub(crate) struct TestRequest {
 6167   8488   
    pub(crate) uri: String,
 6168   8489   
    pub(crate) method: String,
 6169   8490   
    pub(crate) headers: Vec<(String, String)>,
 6170   8491   
    pub(crate) body: TestSignedBody,
 6171   8492   
}
 6172   8493   
 6173   8494   
pub(crate) enum TestSignedBody {
 6174   8495   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 6175   8496   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 6176   8497   
                    )
 6177   8498   
                })
 6178   8499   
                .collect::<Vec<_>>(),
 6179   8500   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 6180   8501   
        }
 6181   8502   
    }
 6182   8503   
}
 6183   8504   
 6184   8505   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 6185   8506   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 6186   8507   
        SignableRequest::new(
 6187   8508   
            &request.method,
 6188   8509   
            &request.uri,
 6189   8510   
            request
 6190   8511   
                .headers
 6191   8512   
                .iter()
 6192   8513   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 6193   8514   
            request.body.as_signable_body(),
 6194   8515   
        )
 6195   8516   
        .expect("URI MUST be valid")
 6196   8517   
    }
 6197   8518   
}
 6198   8519   
 6199   8520   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 6200   8521   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 6201   8522   
    // httparse 1.5 requires two trailing newlines to head the header section.
 6202   8523   
    let mut with_newline = Vec::from(s);
 6203   8524   
    with_newline.push(b'\n');
 6204   8525   
    let mut req = httparse::Request::new(&mut headers);
 6205         -
    let _ = req.parse(&with_newline).unwrap();
        8526  +
    let status = req.parse(&with_newline).unwrap();
        8527  +
        8528  +
    let body = if status.is_complete() {
        8529  +
        let body_offset = status.unwrap();
        8530  +
        // ignore the newline we added, take from original
        8531  +
        &s[body_offset..]
        8532  +
    } else {
        8533  +
        &[]
        8534  +
    };
 6206   8535   
 6207   8536   
    let mut uri_builder = Uri::builder().scheme("https");
 6208   8537   
    if let Some(path) = req.path {
 6209   8538   
        uri_builder = uri_builder.path_and_query(path);
 6210   8539   
    }
 6211   8540   
 6212   8541   
    let mut headers = vec![];
 6213   8542   
    for header in req.headers {
 6214   8543   
        let name = header.name.to_lowercase();
 6215   8544   
        if name == "host" {
 6216   8545   
            uri_builder = uri_builder.authority(header.value);
 6217   8546   
        } else if !name.is_empty() {
 6218   8547   
            headers.push((
 6219   8548   
                header.name.to_string(),
 6220   8549   
                std::str::from_utf8(header.value)?.to_string(),
 6221   8550   
            ));
 6222   8551   
        }
 6223   8552   
    }
 6224   8553   
 6225   8554   
    Ok(TestRequest {
 6226   8555   
        uri: uri_builder.build()?.to_string(),
 6227   8556   
        method: req.method.unwrap().to_string(),
 6228   8557   
        headers,
 6229         -
        body: TestSignedBody::Bytes(vec![]),
        8558  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 6230   8559   
    })
 6231   8560   
}
 6232   8561   
 6233   8562   
#[test]
 6234   8563   
fn test_parse_headers() {
 6235   8564   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 6236   8565   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 6237   8566   
    assert_eq!(
 6238   8567   
        httparse::parse_headers(buf, &mut headers),
 6239   8568   
        Ok(httparse::Status::Complete((
 6240   8569   
            56,
 6241   8570   
            &[
 6242   8571   
                httparse::Header {
 6243   8572   
                    name: "Host",
 6244   8573   
                    value: b"example.amazonaws.com",
 6245   8574   
                },
 6246   8575   
                httparse::Header {
 6247   8576   
                    name: "X-Amz-Date",
 6248   8577   
                    value: b"20150830T123600Z",
 6249   8578   
                }
 6250   8579   
            ][..]
 6251   8580   
        )))
 6252   8581   
    );
 6253   8582   
}
 6254   8583   
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
 6255   8584   
index a208453..fc00249 100644
 6256         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        8585  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 6257   8586   
@@ -168,52 +168,54 @@ pub mod signing_params {
 6258   8587   
        );
 6259   8588   
 6260   8589   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 6261   8590   
        /// a required argument was not given.
 6262   8591   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 6263   8592   
            Ok(SigningParams {
 6264   8593   
                identity: self
 6265   8594   
                    .identity
 6266   8595   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 6267   8596   
                region: self
 6268   8597   
                    .region
 6269   8598   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 6270   8599   
                name: self
 6271   8600   
                    .name
 6272   8601   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 6273   8602   
                time: self
 6274   8603   
                    .time
 6275   8604   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 6276   8605   
                settings: self
 6277   8606   
                    .settings
 6278   8607   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 6279   8608   
            })
 6280   8609   
        }
 6281   8610   
    }
 6282   8611   
}
 6283   8612   
 6284   8613   
#[cfg(test)]
 6285   8614   
mod tests {
 6286   8615   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 6287   8616   
    use crate::date_time::test_parsers::parse_date_time;
 6288         -
    use crate::http_request::test;
 6289   8617   
 6290   8618   
    #[test]
 6291   8619   
    fn test_signature_calculation() {
 6292   8620   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 6293         -
        let creq = test::v4::test_canonical_request("iam");
        8621  +
        let creq = r#"AWS4-HMAC-SHA256
        8622  +
20150830T123600Z
        8623  +
20150830/us-east-1/iam/aws4_request
        8624  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 6294   8625   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6295   8626   
 6296   8627   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 6297   8628   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 6298   8629   
 6299   8630   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 6300   8631   
        assert_eq!(expected, &signature);
 6301   8632   
    }
 6302   8633   
 6303   8634   
    #[test]
 6304   8635   
    fn sign_payload_empty_string() {
 6305   8636   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 6306   8637   
        let actual = sha256_hex_string([]);
 6307   8638   
        assert_eq!(expected, actual);
 6308   8639   
    }
 6309   8640   
}
 6310   8641   
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
 6311   8642   
index ce78c38..8c2f591 100644
 6312         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        8643  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 6313   8644   
@@ -1,43 +1,43 @@
 6314   8645   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6315   8646   
[package]
 6316   8647   
name = "aws-smithy-checksums"
 6317   8648   
version = "0.63.5"
 6318   8649   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 6319   8650   
description = "Checksum calculation and verification callbacks"
 6320   8651   
edition = "2021"
 6321   8652   
license = "Apache-2.0"
 6322   8653   
repository = "https://github.com/smithy-lang/smithy-rs"
 6323   8654   
[package.metadata.docs.rs]
 6324   8655   
all-features = true
 6325   8656   
targets = ["x86_64-unknown-linux-gnu"]
 6326   8657   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6327   8658   
rustdoc-args = ["--cfg", "docsrs"]
 6328   8659   
 6329   8660   
[dependencies]
 6330   8661   
bytes = "1.10.0"
 6331   8662   
crc-fast = "1.3.0"
 6332   8663   
hex = "0.4.3"
 6333   8664   
http = "0.2.9"
 6334   8665   
http-body = "0.4.5"
 6335   8666   
md-5 = "0.10"
 6336   8667   
pin-project-lite = "0.2.14"
 6337   8668   
sha1 = "0.10"
 6338   8669   
sha2 = "0.10"
 6339   8670   
tracing = "0.1.40"
 6340   8671   
 6341   8672   
[dependencies.aws-smithy-http]
 6342   8673   
path = "../aws-smithy-http"
 6343         -
version = "0.62.2"
        8674  +
version = "0.62.3"
 6344   8675   
 6345   8676   
[dependencies.aws-smithy-types]
 6346   8677   
path = "../aws-smithy-types"
 6347   8678   
version = "1.3.2"
 6348   8679   
 6349   8680   
[dev-dependencies]
 6350   8681   
bytes-utils = "0.1.2"
 6351   8682   
pretty_assertions = "1.3"
 6352   8683   
tracing-test = "0.2.1"
 6353   8684   
 6354   8685   
[dev-dependencies.tokio]
 6355   8686   
version = "1.23.1"
 6356   8687   
features = ["macros", "rt"]
 6357   8688   
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
 6358   8689   
index 970c99e..d3c7a49 100644
 6359         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        8690  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 6360   8691   
@@ -1,34 +1,34 @@
 6361   8692   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6362   8693   
[package]
 6363   8694   
name = "aws-smithy-http"
 6364         -
version = "0.62.2"
        8695  +
version = "0.62.3"
 6365   8696   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6366   8697   
description = "Smithy HTTP logic for smithy-rs."
 6367   8698   
edition = "2021"
 6368   8699   
license = "Apache-2.0"
 6369   8700   
repository = "https://github.com/smithy-lang/smithy-rs"
 6370   8701   
[package.metadata.docs.rs]
 6371   8702   
all-features = true
 6372   8703   
targets = ["x86_64-unknown-linux-gnu"]
 6373   8704   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6374   8705   
rustdoc-args = ["--cfg", "docsrs"]
 6375   8706   
 6376   8707   
[features]
 6377   8708   
event-stream = ["aws-smithy-eventstream"]
 6378   8709   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 6379   8710   
 6380   8711   
[dependencies]
 6381   8712   
bytes = "1.10.0"
 6382   8713   
bytes-utils = "0.1"
 6383   8714   
percent-encoding = "2.3.1"
 6384   8715   
pin-project-lite = "0.2.14"
 6385   8716   
pin-utils = "0.1.0"
 6386   8717   
tracing = "0.1.40"
 6387   8718   
futures-core = "0.3.31"
 6388   8719   
 6389   8720   
[dependencies.aws-smithy-eventstream]
 6390   8721   
path = "../aws-smithy-eventstream"
 6391   8722   
optional = true
 6392   8723   
version = "0.60.10"
 6393   8724   
 6394   8725   
[dependencies.aws-smithy-runtime-api]
 6395   8726   
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
 6396   8727   
index 508f7a2..361545e 100644
 6397         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        8728  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 6398   8729   
@@ -1,27 +1,27 @@
 6399   8730   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6400   8731   
[[bin]]
 6401   8732   
name = "read_many_from_str"
 6402   8733   
path = "fuzz_targets/read_many_from_str.rs"
 6403   8734   
test = false
 6404   8735   
doc = false
 6405   8736   
 6406   8737   
[package]
 6407   8738   
name = "aws-smithy-http-fuzz"
 6408   8739   
version = "0.0.0"
 6409   8740   
authors = ["Automatically generated"]
 6410   8741   
publish = false
 6411   8742   
edition = "2021"
 6412   8743   
 6413   8744   
[package.metadata]
 6414   8745   
cargo-fuzz = true
 6415   8746   
 6416   8747   
[dependencies]
 6417   8748   
libfuzzer-sys = "=0.4.7"
 6418   8749   
http = "0.2.3"
 6419   8750   
 6420   8751   
[dependencies.aws-smithy-http]
 6421   8752   
path = ".."
 6422         -
version = "0.62.2"
        8753  +
version = "0.62.3"
 6423   8754   
 6424   8755   
[workspace]
 6425   8756   
members = ["."]
 6426   8757   
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
 6427   8758   
index fef41d0..7694da6 100644
 6428         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        8759  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 6429   8760   
@@ -25,68 +25,73 @@ impl QueryWriter {
 6430   8761   
    pub fn new(uri: &Uri) -> Self {
 6431   8762   
        let new_path_and_query = uri
 6432   8763   
            .path_and_query()
 6433   8764   
            .map(|pq| pq.to_string())
 6434   8765   
            .unwrap_or_default();
 6435   8766   
        let prefix = if uri.query().is_none() {
 6436   8767   
            Some('?')
 6437   8768   
        } else if !uri.query().unwrap_or_default().is_empty() {
 6438   8769   
            Some('&')
 6439   8770   
        } else {
 6440   8771   
            None
 6441   8772   
        };
 6442   8773   
        QueryWriter {
 6443   8774   
            base_uri: uri.clone(),
 6444   8775   
            new_path_and_query,
 6445   8776   
            prefix,
 6446   8777   
        }
 6447   8778   
    }
 6448   8779   
 6449   8780   
    /// Clears all query parameters.
 6450   8781   
    pub fn clear_params(&mut self) {
 6451   8782   
        if let Some(index) = self.new_path_and_query.find('?') {
 6452   8783   
            self.new_path_and_query.truncate(index);
 6453   8784   
            self.prefix = Some('?');
 6454   8785   
        }
 6455   8786   
    }
 6456   8787   
 6457   8788   
    /// Inserts a new query parameter. The key and value are percent encoded
 6458   8789   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 6459   8790   
    pub fn insert(&mut self, k: &str, v: &str) {
        8791  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        8792  +
    }
        8793  +
        8794  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        8795  +
    /// as is.
        8796  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 6460   8797   
        if let Some(prefix) = self.prefix {
 6461   8798   
            self.new_path_and_query.push(prefix);
 6462   8799   
        }
 6463   8800   
        self.prefix = Some('&');
 6464         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        8801  +
        self.new_path_and_query.push_str(encoded_k);
 6465   8802   
        self.new_path_and_query.push('=');
 6466         -
 6467         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
        8803  +
        self.new_path_and_query.push_str(encoded_v)
 6468   8804   
    }
 6469   8805   
 6470   8806   
    /// Returns just the built query string.
 6471   8807   
    pub fn build_query(self) -> String {
 6472   8808   
        self.build_uri().query().unwrap_or_default().to_string()
 6473   8809   
    }
 6474   8810   
 6475   8811   
    /// Returns a full [`Uri`] with the query string updated.
 6476   8812   
    pub fn build_uri(self) -> Uri {
 6477   8813   
        let mut parts = self.base_uri.into_parts();
 6478   8814   
        parts.path_and_query = Some(
 6479   8815   
            self.new_path_and_query
 6480   8816   
                .parse()
 6481   8817   
                .expect("adding query should not invalidate URI"),
 6482   8818   
        );
 6483   8819   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 6484   8820   
    }
 6485   8821   
}
 6486   8822   
 6487   8823   
#[cfg(test)]
 6488   8824   
mod test {
 6489   8825   
    use super::QueryWriter;
 6490   8826   
    use http_02x::Uri;
 6491   8827   
 6492   8828   
    #[test]
 6493   8829   
    fn empty_uri() {
 6494   8830   
        let uri = Uri::from_static("http://www.example.com");
 6495   8831   
        let mut query_writer = QueryWriter::new(&uri);
 6496   8832   
        query_writer.insert("key", "val%ue");
 6497   8833   
        query_writer.insert("another", "value");
 6498   8834   
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
 6499   8835   
index f108978..df7a9fe 100644
 6500         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
        8836  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 6501   8837   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 6502   8838   
 6503   8839   
[package.metadata.smithy-rs-release-tooling]
 6504   8840   
stable = true
 6505   8841   
[package.metadata.cargo-udeps.ignore]
 6506   8842   
normal = ["aws-smithy-http"]
 6507   8843   
 6508   8844   
[features]
 6509   8845   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 6510   8846   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 6511   8847   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 6512   8848   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 6513   8849   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 6514   8850   
rt-tokio = ["tokio/rt"]
 6515   8851   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 6516   8852   
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"]
 6517   8853   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 6518   8854   
 6519   8855   
[dependencies]
 6520   8856   
bytes = "1.10.0"
 6521   8857   
fastrand = "2.3.0"
 6522   8858   
pin-project-lite = "0.2.14"
 6523   8859   
pin-utils = "0.1.0"
 6524   8860   
tracing = "0.1.40"
 6525   8861   
 6526   8862   
[dependencies.aws-smithy-async]
 6527   8863   
path = "../aws-smithy-async"
 6528   8864   
version = "1.2.5"
 6529   8865   
 6530   8866   
[dependencies.aws-smithy-http]
 6531   8867   
path = "../aws-smithy-http"
 6532         -
version = "0.62.2"
        8868  +
version = "0.62.3"
 6533   8869   
 6534   8870   
[dependencies.aws-smithy-observability]
 6535   8871   
path = "../aws-smithy-observability"
 6536   8872   
version = "0.1.3"
 6537   8873   
 6538   8874   
[dependencies.aws-smithy-runtime-api]
 6539   8875   
path = "../aws-smithy-runtime-api"
 6540   8876   
version = "1.8.5"
 6541   8877   
 6542   8878   
[dependencies.aws-smithy-types]
 6543   8879   
path = "../aws-smithy-types"
 6544   8880   
features = ["http-body-0-4-x"]
 6545   8881   
version = "1.3.2"
 6546   8882   
 6547   8883   
[dependencies.aws-smithy-http-client]
 6548   8884   
path = "../aws-smithy-http-client"
 6549   8885   
optional = true
 6550   8886   
version = "1.0.6"
 6551   8887   
 6552   8888   
[dependencies.http-02x]
 6553   8889   
package = "http"
 6554   8890   
version = "0.2.9"
 6555   8891   
 6556   8892   
[dependencies.http-1x]
 6557   8893   
package = "http"
 6558   8894   
version = "1"
 6559   8895   
 6560   8896   
[dependencies.http-body-04x]
 6561   8897   
package = "http-body"
 6562   8898   
version = "0.4.5"
 6563   8899   
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
 6564   8900   
index 4e050c6..f58eb1c 100644
 6565         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
        8901  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 6566   8902   
@@ -1,33 +1,33 @@
 6567   8903   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6568   8904   
[package]
 6569   8905   
name = "aws-smithy-wasm"
 6570   8906   
version = "0.1.4"
 6571   8907   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 6572   8908   
description = "Smithy WebAssembly configuration for smithy-rs."
 6573   8909   
edition = "2021"
 6574   8910   
license = "Apache-2.0"
 6575   8911   
repository = "https://github.com/awslabs/smithy-rs"
 6576   8912   
[package.metadata.docs.rs]
 6577   8913   
all-features = true
 6578   8914   
targets = ["x86_64-unknown-linux-gnu"]
 6579   8915   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6580   8916   
rustdoc-args = ["--cfg", "docsrs"]
 6581   8917   
 6582   8918   
[dependencies]
 6583   8919   
bytes = "1.10.0"
 6584   8920   
http = "1.0.0"
 6585   8921   
tracing = "0.1.40"
 6586   8922   
wasi = "0.12.1"
 6587   8923   
 6588   8924   
[dependencies.aws-smithy-runtime-api]
 6589   8925   
path = "../aws-smithy-runtime-api"
 6590   8926   
features = ["http-1x"]
 6591   8927   
version = "1.8.5"
 6592   8928   
 6593   8929   
[dependencies.aws-smithy-http]
 6594   8930   
path = "../aws-smithy-http"
 6595         -
version = "0.62.2"
        8931  +
version = "0.62.3"
 6596   8932   
 6597   8933   
[dependencies.aws-smithy-types]
 6598   8934   
path = "../aws-smithy-types"
 6599   8935   
version = "1.3.2"
 6600   8936   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6601   8937   
index a880648..139e808 100644
 6602         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
        8938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6603   8939   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 6604   8940   
edition = "2021"
 6605   8941   
license = "Apache-2.0"
 6606   8942   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6607   8943   
rust-version = "1.86.0"
 6608   8944   
readme = "README.md"
 6609   8945   
[package.metadata.smithy]
 6610   8946   
codegen-version = "ci"
 6611   8947   
[package.metadata.docs.rs]
 6612   8948   
all-features = true
 6613   8949   
targets = ["x86_64-unknown-linux-gnu"]
 6614   8950   
[dependencies.aws-credential-types]
 6615   8951   
path = "../aws-credential-types"
 6616   8952   
version = "1.2.4"
 6617   8953   
 6618   8954   
[dependencies.aws-runtime]
 6619   8955   
path = "../aws-runtime"
 6620   8956   
features = ["event-stream"]
 6621   8957   
version = "1.5.9"
 6622   8958   
 6623   8959   
[dependencies.aws-smithy-async]
 6624   8960   
path = "../aws-smithy-async"
 6625   8961   
version = "1.2.5"
 6626   8962   
 6627   8963   
[dependencies.aws-smithy-eventstream]
 6628   8964   
path = "../aws-smithy-eventstream"
 6629   8965   
version = "0.60.10"
 6630   8966   
 6631   8967   
[dependencies.aws-smithy-http]
 6632   8968   
path = "../aws-smithy-http"
 6633   8969   
features = ["event-stream"]
 6634         -
version = "0.62.2"
        8970  +
version = "0.62.3"
 6635   8971   
 6636   8972   
[dependencies.aws-smithy-json]
 6637   8973   
path = "../aws-smithy-json"
 6638   8974   
version = "0.61.4"
 6639   8975   
 6640   8976   
[dependencies.aws-smithy-runtime]
 6641   8977   
path = "../aws-smithy-runtime"
 6642   8978   
features = ["client"]
 6643   8979   
version = "1.8.5"
 6644   8980   
 6645   8981   
[dependencies.aws-smithy-runtime-api]
 6646   8982   
path = "../aws-smithy-runtime-api"
 6647   8983   
features = ["client", "http-02x"]
 6648   8984   
version = "1.8.5"
 6649   8985   
 6650   8986   
[dependencies.aws-smithy-types]
 6651   8987   
path = "../aws-smithy-types"
 6652   8988   
version = "1.3.2"
 6653   8989   
 6654   8990   
[dependencies.aws-types]
 6655   8991   
path = "../aws-types"
 6656   8992   
version = "1.3.8"
 6657   8993   
 6658   8994   
[dependencies.bytes]
 6659   8995   
version = "1.4.0"
 6660   8996   
 6661   8997   
[dependencies.fastrand]
 6662   8998   
version = "2.0.0"
 6663   8999   
 6664   9000   
[dependencies.http]
 6665   9001   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6666   9002   
index 415ecc9..667d12b 100644
 6667         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
        9003  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6668   9004   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 6669   9005   
edition = "2021"
 6670   9006   
license = "Apache-2.0"
 6671   9007   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6672   9008   
rust-version = "1.86.0"
 6673   9009   
readme = "README.md"
 6674   9010   
[package.metadata.smithy]
 6675   9011   
codegen-version = "ci"
 6676   9012   
[package.metadata.docs.rs]
 6677   9013   
all-features = true
 6678   9014   
targets = ["x86_64-unknown-linux-gnu"]
 6679   9015   
[dependencies.aws-credential-types]
 6680   9016   
path = "../aws-credential-types"
 6681   9017   
version = "1.2.4"
 6682   9018   
 6683   9019   
[dependencies.aws-runtime]
 6684   9020   
path = "../aws-runtime"
 6685   9021   
features = ["event-stream"]
 6686   9022   
version = "1.5.9"
 6687   9023   
 6688   9024   
[dependencies.aws-smithy-async]
 6689   9025   
path = "../aws-smithy-async"
 6690   9026   
version = "1.2.5"
 6691   9027   
 6692   9028   
[dependencies.aws-smithy-eventstream]
 6693   9029   
path = "../aws-smithy-eventstream"
 6694   9030   
version = "0.60.10"
 6695   9031   
 6696   9032   
[dependencies.aws-smithy-http]
 6697   9033   
path = "../aws-smithy-http"
 6698   9034   
features = ["event-stream"]
 6699         -
version = "0.62.2"
        9035  +
version = "0.62.3"
 6700   9036   
 6701   9037   
[dependencies.aws-smithy-json]
 6702   9038   
path = "../aws-smithy-json"
 6703   9039   
version = "0.61.4"
 6704   9040   
 6705   9041   
[dependencies.aws-smithy-runtime]
 6706   9042   
path = "../aws-smithy-runtime"
 6707   9043   
features = ["client"]
 6708   9044   
version = "1.8.5"
 6709   9045   
 6710   9046   
[dependencies.aws-smithy-runtime-api]
 6711   9047   
path = "../aws-smithy-runtime-api"
 6712   9048   
features = ["client", "http-02x"]
 6713   9049   
version = "1.8.5"
 6714   9050   
 6715   9051   
[dependencies.aws-smithy-types]
 6716   9052   
path = "../aws-smithy-types"
 6717   9053   
version = "1.3.2"
 6718   9054   
 6719   9055   
[dependencies.aws-types]
 6720   9056   
path = "../aws-types"
 6721   9057   
version = "1.3.8"
 6722   9058   
 6723   9059   
[dependencies.bytes]
 6724   9060   
version = "1.4.0"
 6725   9061   
 6726   9062   
[dependencies.fastrand]
 6727   9063   
version = "2.0.0"
 6728   9064   
 6729   9065   
[dependencies.http]
 6730   9066   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6731   9067   
index 8871cab..ed88de6 100644
 6732         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
        9068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6733   9069   
@@ -1,61 +1,61 @@
 6734   9070   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6735   9071   
[package]
 6736   9072   
name = "aws-sdk-codecatalyst"
 6737   9073   
version = "0.0.0-local"
 6738   9074   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6739   9075   
description = "AWS SDK for Amazon CodeCatalyst"
 6740   9076   
edition = "2021"
 6741   9077   
license = "Apache-2.0"
 6742   9078   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6743   9079   
rust-version = "1.86.0"
 6744   9080   
readme = "README.md"
 6745   9081   
[package.metadata.smithy]
 6746   9082   
codegen-version = "ci"
 6747   9083   
[package.metadata.docs.rs]
 6748   9084   
all-features = true
 6749   9085   
targets = ["x86_64-unknown-linux-gnu"]
 6750   9086   
[dependencies.aws-credential-types]
 6751   9087   
path = "../aws-credential-types"
 6752   9088   
version = "1.2.4"
 6753   9089   
 6754   9090   
[dependencies.aws-runtime]
 6755   9091   
path = "../aws-runtime"
 6756   9092   
version = "1.5.9"
 6757   9093   
 6758   9094   
[dependencies.aws-smithy-async]
 6759   9095   
path = "../aws-smithy-async"
 6760   9096   
version = "1.2.5"
 6761   9097   
 6762   9098   
[dependencies.aws-smithy-http]
 6763   9099   
path = "../aws-smithy-http"
 6764         -
version = "0.62.2"
        9100  +
version = "0.62.3"
 6765   9101   
 6766   9102   
[dependencies.aws-smithy-json]
 6767   9103   
path = "../aws-smithy-json"
 6768   9104   
version = "0.61.4"
 6769   9105   
 6770   9106   
[dependencies.aws-smithy-runtime]
 6771   9107   
path = "../aws-smithy-runtime"
 6772   9108   
features = ["client", "http-auth"]
 6773   9109   
version = "1.8.5"
 6774   9110   
 6775   9111   
[dependencies.aws-smithy-runtime-api]
 6776   9112   
path = "../aws-smithy-runtime-api"
 6777   9113   
features = ["client", "http-02x", "http-auth"]
 6778   9114   
version = "1.8.5"
 6779   9115   
 6780   9116   
[dependencies.aws-smithy-types]
 6781   9117   
path = "../aws-smithy-types"
 6782   9118   
version = "1.3.2"
 6783   9119   
 6784   9120   
[dependencies.aws-types]
 6785   9121   
path = "../aws-types"
 6786   9122   
version = "1.3.8"
 6787   9123   
 6788   9124   
[dependencies.bytes]
 6789   9125   
version = "1.4.0"
 6790   9126   
 6791   9127   
[dependencies.fastrand]
 6792   9128   
version = "2.0.0"
 6793   9129   
 6794   9130   
[dependencies.http]
 6795   9131   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6796   9132   
index 89573ff..05238af 100644
 6797         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
        9133  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6798   9134   
@@ -1,61 +1,61 @@
 6799   9135   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6800   9136   
[package]
 6801   9137   
name = "aws-sdk-config"
 6802   9138   
version = "0.0.0-local"
 6803   9139   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6804   9140   
description = "AWS SDK for AWS Config"
 6805   9141   
edition = "2021"
 6806   9142   
license = "Apache-2.0"
 6807   9143   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6808   9144   
rust-version = "1.86.0"
 6809   9145   
readme = "README.md"
 6810   9146   
[package.metadata.smithy]
 6811   9147   
codegen-version = "ci"
 6812   9148   
[package.metadata.docs.rs]
 6813   9149   
all-features = true
 6814   9150   
targets = ["x86_64-unknown-linux-gnu"]
 6815   9151   
[dependencies.aws-credential-types]
 6816   9152   
path = "../aws-credential-types"
 6817   9153   
version = "1.2.4"
 6818   9154   
 6819   9155   
[dependencies.aws-runtime]
 6820   9156   
path = "../aws-runtime"
 6821   9157   
version = "1.5.9"
 6822   9158   
 6823   9159   
[dependencies.aws-smithy-async]
 6824   9160   
path = "../aws-smithy-async"
 6825   9161   
version = "1.2.5"
 6826   9162   
 6827   9163   
[dependencies.aws-smithy-http]
 6828   9164   
path = "../aws-smithy-http"
 6829         -
version = "0.62.2"
        9165  +
version = "0.62.3"
 6830   9166   
 6831   9167   
[dependencies.aws-smithy-json]
 6832   9168   
path = "../aws-smithy-json"
 6833   9169   
version = "0.61.4"
 6834   9170   
 6835   9171   
[dependencies.aws-smithy-runtime]
 6836   9172   
path = "../aws-smithy-runtime"
 6837   9173   
features = ["client"]
 6838   9174   
version = "1.8.5"
 6839   9175   
 6840   9176   
[dependencies.aws-smithy-runtime-api]
 6841   9177   
path = "../aws-smithy-runtime-api"
 6842   9178   
features = ["client", "http-02x"]
 6843   9179   
version = "1.8.5"
 6844   9180   
 6845   9181   
[dependencies.aws-smithy-types]
 6846   9182   
path = "../aws-smithy-types"
 6847   9183   
version = "1.3.2"
 6848   9184   
 6849   9185   
[dependencies.aws-types]
 6850   9186   
path = "../aws-types"
 6851   9187   
version = "1.3.8"
 6852   9188   
 6853   9189   
[dependencies.bytes]
 6854   9190   
version = "1.4.0"
 6855   9191   
 6856   9192   
[dependencies.fastrand]
 6857   9193   
version = "2.0.0"
 6858   9194   
 6859   9195   
[dependencies.http]
 6860   9196   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 6861   9197   
index d397c58..2c1062b 100644
 6862         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
        9198  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 6863   9199   
@@ -1,61 +1,61 @@
 6864   9200   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6865   9201   
[package]
 6866   9202   
name = "aws-sdk-dynamodb"
 6867   9203   
version = "0.0.0-local"
 6868   9204   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6869   9205   
description = "AWS SDK for Amazon DynamoDB"
 6870   9206   
edition = "2021"
 6871   9207   
license = "Apache-2.0"
 6872   9208   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6873   9209   
rust-version = "1.86.0"
 6874   9210   
readme = "README.md"
 6875   9211   
[package.metadata.smithy]
 6876   9212   
codegen-version = "ci"
 6877   9213   
[package.metadata.docs.rs]
 6878   9214   
all-features = true
 6879   9215   
targets = ["x86_64-unknown-linux-gnu"]
 6880   9216   
[dependencies.aws-credential-types]
 6881   9217   
path = "../aws-credential-types"
 6882   9218   
version = "1.2.4"
 6883   9219   
 6884   9220   
[dependencies.aws-runtime]
 6885   9221   
path = "../aws-runtime"
 6886   9222   
version = "1.5.9"
 6887   9223   
 6888   9224   
[dependencies.aws-smithy-async]
 6889   9225   
path = "../aws-smithy-async"
 6890   9226   
version = "1.2.5"
 6891   9227   
 6892   9228   
[dependencies.aws-smithy-http]
 6893   9229   
path = "../aws-smithy-http"
 6894         -
version = "0.62.2"
        9230  +
version = "0.62.3"
 6895   9231   
 6896   9232   
[dependencies.aws-smithy-json]
 6897   9233   
path = "../aws-smithy-json"
 6898   9234   
version = "0.61.4"
 6899   9235   
 6900   9236   
[dependencies.aws-smithy-runtime]
 6901   9237   
path = "../aws-smithy-runtime"
 6902   9238   
features = ["client"]
 6903   9239   
version = "1.8.5"
 6904   9240   
 6905   9241   
[dependencies.aws-smithy-runtime-api]
 6906   9242   
path = "../aws-smithy-runtime-api"
 6907   9243   
features = ["client", "http-02x"]
 6908   9244   
version = "1.8.5"
 6909   9245   
 6910   9246   
[dependencies.aws-smithy-types]
 6911   9247   
path = "../aws-smithy-types"
 6912   9248   
version = "1.3.2"
 6913   9249   
 6914   9250   
[dependencies.aws-types]
 6915   9251   
path = "../aws-types"
 6916   9252   
version = "1.3.8"
 6917   9253   
 6918   9254   
[dependencies.bytes]
 6919   9255   
version = "1.4.0"
 6920   9256   
 6921   9257   
[dependencies.fastrand]
 6922   9258   
version = "2.0.0"
 6923   9259   
 6924   9260   
[dependencies.http]
 6925   9261   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 6926   9262   
index c0ba315..46168af 100644
 6927         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
        9263  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 6928   9264   
@@ -1,61 +1,61 @@
 6929   9265   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6930   9266   
[package]
 6931   9267   
name = "aws-sdk-ec2"
 6932   9268   
version = "0.0.0-local"
 6933   9269   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6934   9270   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 6935   9271   
edition = "2021"
 6936   9272   
license = "Apache-2.0"
 6937   9273   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6938   9274   
rust-version = "1.86.0"
 6939   9275   
readme = "README.md"
 6940   9276   
[package.metadata.smithy]
 6941   9277   
codegen-version = "ci"
 6942   9278   
[package.metadata.docs.rs]
 6943   9279   
all-features = true
 6944   9280   
targets = ["x86_64-unknown-linux-gnu"]
 6945   9281   
[dependencies.aws-credential-types]
 6946   9282   
path = "../aws-credential-types"
 6947   9283   
version = "1.2.4"
 6948   9284   
 6949   9285   
[dependencies.aws-runtime]
 6950   9286   
path = "../aws-runtime"
 6951   9287   
version = "1.5.9"
 6952   9288   
 6953   9289   
[dependencies.aws-smithy-async]
 6954   9290   
path = "../aws-smithy-async"
 6955   9291   
version = "1.2.5"
 6956   9292   
 6957   9293   
[dependencies.aws-smithy-http]
 6958   9294   
path = "../aws-smithy-http"
 6959         -
version = "0.62.2"
        9295  +
version = "0.62.3"
 6960   9296   
 6961   9297   
[dependencies.aws-smithy-json]
 6962   9298   
path = "../aws-smithy-json"
 6963   9299   
version = "0.61.4"
 6964   9300   
 6965   9301   
[dependencies.aws-smithy-query]
 6966   9302   
path = "../aws-smithy-query"
 6967   9303   
version = "0.60.7"
 6968   9304   
 6969   9305   
[dependencies.aws-smithy-runtime]
 6970   9306   
path = "../aws-smithy-runtime"
 6971   9307   
features = ["client"]
 6972   9308   
version = "1.8.5"
 6973   9309   
 6974   9310   
[dependencies.aws-smithy-runtime-api]
 6975   9311   
path = "../aws-smithy-runtime-api"
 6976   9312   
features = ["client", "http-02x"]
 6977   9313   
version = "1.8.5"
 6978   9314   
 6979   9315   
[dependencies.aws-smithy-types]
 6980   9316   
path = "../aws-smithy-types"
 6981   9317   
version = "1.3.2"
 6982   9318   
 6983   9319   
[dependencies.aws-smithy-xml]
 6984   9320   
path = "../aws-smithy-xml"
 6985   9321   
version = "0.60.10"
 6986   9322   
 6987   9323   
[dependencies.aws-types]
 6988   9324   
path = "../aws-types"
 6989   9325   
version = "1.3.8"
 6990   9326   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 6991   9327   
index 4474d17..095d40e 100644
 6992         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
        9328  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 6993   9329   
@@ -1,61 +1,61 @@
 6994   9330   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6995   9331   
[package]
 6996   9332   
name = "aws-sdk-ecs"
 6997   9333   
version = "0.0.0-local"
 6998   9334   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6999   9335   
description = "AWS SDK for Amazon EC2 Container Service"
 7000   9336   
edition = "2021"
 7001   9337   
license = "Apache-2.0"
 7002   9338   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7003   9339   
rust-version = "1.86.0"
 7004   9340   
readme = "README.md"
 7005   9341   
[package.metadata.smithy]
 7006   9342   
codegen-version = "ci"
 7007   9343   
[package.metadata.docs.rs]
 7008   9344   
all-features = true
 7009   9345   
targets = ["x86_64-unknown-linux-gnu"]
 7010   9346   
[dependencies.aws-credential-types]
 7011   9347   
path = "../aws-credential-types"
 7012   9348   
version = "1.2.4"
 7013   9349   
 7014   9350   
[dependencies.aws-runtime]
 7015   9351   
path = "../aws-runtime"
 7016   9352   
version = "1.5.9"
 7017   9353   
 7018   9354   
[dependencies.aws-smithy-async]
 7019   9355   
path = "../aws-smithy-async"
 7020   9356   
version = "1.2.5"
 7021   9357   
 7022   9358   
[dependencies.aws-smithy-http]
 7023   9359   
path = "../aws-smithy-http"
 7024         -
version = "0.62.2"
        9360  +
version = "0.62.3"
 7025   9361   
 7026   9362   
[dependencies.aws-smithy-json]
 7027   9363   
path = "../aws-smithy-json"
 7028   9364   
version = "0.61.4"
 7029   9365   
 7030   9366   
[dependencies.aws-smithy-runtime]
 7031   9367   
path = "../aws-smithy-runtime"
 7032   9368   
features = ["client"]
 7033   9369   
version = "1.8.5"
 7034   9370   
 7035   9371   
[dependencies.aws-smithy-runtime-api]
 7036   9372   
path = "../aws-smithy-runtime-api"
 7037   9373   
features = ["client", "http-02x"]
 7038   9374   
version = "1.8.5"
 7039   9375   
 7040   9376   
[dependencies.aws-smithy-types]
 7041   9377   
path = "../aws-smithy-types"
 7042   9378   
version = "1.3.2"
 7043   9379   
 7044   9380   
[dependencies.aws-types]
 7045   9381   
path = "../aws-types"
 7046   9382   
version = "1.3.8"
 7047   9383   
 7048   9384   
[dependencies.bytes]
 7049   9385   
version = "1.4.0"
 7050   9386   
 7051   9387   
[dependencies.fastrand]
 7052   9388   
version = "2.0.0"
 7053   9389   
 7054   9390   
[dependencies.http]
 7055   9391   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7056   9392   
index 15b1d77..16d7d89 100644
 7057         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
        9393  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7058   9394   
@@ -1,65 +1,65 @@
 7059   9395   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7060   9396   
[package]
 7061   9397   
name = "aws-sdk-glacier"
 7062   9398   
version = "0.0.0-local"
 7063   9399   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7064   9400   
description = "AWS SDK for Amazon Glacier"
 7065   9401   
edition = "2021"
 7066   9402   
license = "Apache-2.0"
 7067   9403   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7068   9404   
rust-version = "1.86.0"
 7069   9405   
readme = "README.md"
 7070   9406   
[package.metadata.smithy]
 7071   9407   
codegen-version = "ci"
 7072   9408   
[package.metadata.docs.rs]
 7073   9409   
all-features = true
 7074   9410   
targets = ["x86_64-unknown-linux-gnu"]
 7075   9411   
[dependencies.aws-credential-types]
 7076   9412   
path = "../aws-credential-types"
 7077   9413   
version = "1.2.4"
 7078   9414   
 7079   9415   
[dependencies.aws-runtime]
 7080   9416   
path = "../aws-runtime"
 7081   9417   
version = "1.5.9"
 7082   9418   
 7083   9419   
[dependencies.aws-sigv4]
 7084   9420   
path = "../aws-sigv4"
 7085         -
version = "1.3.3"
        9421  +
version = "1.3.4"
 7086   9422   
 7087   9423   
[dependencies.aws-smithy-async]
 7088   9424   
path = "../aws-smithy-async"
 7089   9425   
version = "1.2.5"
 7090   9426   
 7091   9427   
[dependencies.aws-smithy-http]
 7092   9428   
path = "../aws-smithy-http"
 7093         -
version = "0.62.2"
        9429  +
version = "0.62.3"
 7094   9430   
 7095   9431   
[dependencies.aws-smithy-json]
 7096   9432   
path = "../aws-smithy-json"
 7097   9433   
version = "0.61.4"
 7098   9434   
 7099   9435   
[dependencies.aws-smithy-runtime]
 7100   9436   
path = "../aws-smithy-runtime"
 7101   9437   
features = ["client"]
 7102   9438   
version = "1.8.5"
 7103   9439   
 7104   9440   
[dependencies.aws-smithy-runtime-api]
 7105   9441   
path = "../aws-smithy-runtime-api"
 7106   9442   
features = ["client", "http-02x"]
 7107   9443   
version = "1.8.5"
 7108   9444   
 7109   9445   
[dependencies.aws-smithy-types]
 7110   9446   
path = "../aws-smithy-types"
 7111   9447   
version = "1.3.2"
 7112   9448   
 7113   9449   
[dependencies.aws-types]
 7114   9450   
path = "../aws-types"
 7115   9451   
version = "1.3.8"
 7116   9452   
 7117   9453   
[dependencies.bytes]
 7118   9454   
version = "1.4.0"
 7119   9455   
 7120   9456   
[dependencies.fastrand]
 7121   9457   
version = "2.0.0"
 7122   9458   
 7123   9459   
[dependencies.hex]
 7124   9460   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7125   9461   
index d718a3a..65e6f24 100644
 7126         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
        9462  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7127   9463   
@@ -1,61 +1,61 @@
 7128   9464   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7129   9465   
[package]
 7130   9466   
name = "aws-sdk-iam"
 7131   9467   
version = "0.0.0-local"
 7132   9468   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7133   9469   
description = "AWS SDK for AWS Identity and Access Management"
 7134   9470   
edition = "2021"
 7135   9471   
license = "Apache-2.0"
 7136   9472   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7137   9473   
rust-version = "1.86.0"
 7138   9474   
readme = "README.md"
 7139   9475   
[package.metadata.smithy]
 7140   9476   
codegen-version = "ci"
 7141   9477   
[package.metadata.docs.rs]
 7142   9478   
all-features = true
 7143   9479   
targets = ["x86_64-unknown-linux-gnu"]
 7144   9480   
[dependencies.aws-credential-types]
 7145   9481   
path = "../aws-credential-types"
 7146   9482   
version = "1.2.4"
 7147   9483   
 7148   9484   
[dependencies.aws-runtime]
 7149   9485   
path = "../aws-runtime"
 7150   9486   
version = "1.5.9"
 7151   9487   
 7152   9488   
[dependencies.aws-smithy-async]
 7153   9489   
path = "../aws-smithy-async"
 7154   9490   
version = "1.2.5"
 7155   9491   
 7156   9492   
[dependencies.aws-smithy-http]
 7157   9493   
path = "../aws-smithy-http"
 7158         -
version = "0.62.2"
        9494  +
version = "0.62.3"
 7159   9495   
 7160   9496   
[dependencies.aws-smithy-json]
 7161   9497   
path = "../aws-smithy-json"
 7162   9498   
version = "0.61.4"
 7163   9499   
 7164   9500   
[dependencies.aws-smithy-query]
 7165   9501   
path = "../aws-smithy-query"
 7166   9502   
version = "0.60.7"
 7167   9503   
 7168   9504   
[dependencies.aws-smithy-runtime]
 7169   9505   
path = "../aws-smithy-runtime"
 7170   9506   
features = ["client"]
 7171   9507   
version = "1.8.5"
 7172   9508   
 7173   9509   
[dependencies.aws-smithy-runtime-api]
 7174   9510   
path = "../aws-smithy-runtime-api"
 7175   9511   
features = ["client", "http-02x"]
 7176   9512   
version = "1.8.5"
 7177   9513   
 7178   9514   
[dependencies.aws-smithy-types]
 7179   9515   
path = "../aws-smithy-types"
 7180   9516   
version = "1.3.2"
 7181   9517   
 7182   9518   
[dependencies.aws-smithy-xml]
 7183   9519   
path = "../aws-smithy-xml"
 7184   9520   
version = "0.60.10"
 7185   9521   
 7186   9522   
[dependencies.aws-types]
 7187   9523   
path = "../aws-types"
 7188   9524   
version = "1.3.8"
 7189   9525   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7190   9526   
index 0ed4302..3d828a5 100644
 7191         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
        9527  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7192   9528   
@@ -1,61 +1,61 @@
 7193   9529   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7194   9530   
[package]
 7195   9531   
name = "aws-sdk-kms"
 7196   9532   
version = "0.0.0-local"
 7197   9533   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7198   9534   
description = "AWS SDK for AWS Key Management Service"
 7199   9535   
edition = "2021"
 7200   9536   
license = "Apache-2.0"
 7201   9537   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7202   9538   
rust-version = "1.86.0"
 7203   9539   
readme = "README.md"
 7204   9540   
[package.metadata.smithy]
 7205   9541   
codegen-version = "ci"
 7206   9542   
[package.metadata.docs.rs]
 7207   9543   
all-features = true
 7208   9544   
targets = ["x86_64-unknown-linux-gnu"]
 7209   9545   
[dependencies.aws-credential-types]
 7210   9546   
path = "../aws-credential-types"
 7211   9547   
version = "1.2.4"
 7212   9548   
 7213   9549   
[dependencies.aws-runtime]
 7214   9550   
path = "../aws-runtime"
 7215   9551   
version = "1.5.9"
 7216   9552   
 7217   9553   
[dependencies.aws-smithy-async]
 7218   9554   
path = "../aws-smithy-async"
 7219   9555   
version = "1.2.5"
 7220   9556   
 7221   9557   
[dependencies.aws-smithy-http]
 7222   9558   
path = "../aws-smithy-http"
 7223         -
version = "0.62.2"
        9559  +
version = "0.62.3"
 7224   9560   
 7225   9561   
[dependencies.aws-smithy-json]
 7226   9562   
path = "../aws-smithy-json"
 7227   9563   
version = "0.61.4"
 7228   9564   
 7229   9565   
[dependencies.aws-smithy-runtime]
 7230   9566   
path = "../aws-smithy-runtime"
 7231   9567   
features = ["client"]
 7232   9568   
version = "1.8.5"
 7233   9569   
 7234   9570   
[dependencies.aws-smithy-runtime-api]
 7235   9571   
path = "../aws-smithy-runtime-api"
 7236   9572   
features = ["client", "http-02x"]
 7237   9573   
version = "1.8.5"
 7238   9574   
 7239   9575   
[dependencies.aws-smithy-types]
 7240   9576   
path = "../aws-smithy-types"
 7241   9577   
version = "1.3.2"
 7242   9578   
 7243   9579   
[dependencies.aws-types]
 7244   9580   
path = "../aws-types"
 7245   9581   
version = "1.3.8"
 7246   9582   
 7247   9583   
[dependencies.bytes]
 7248   9584   
version = "1.4.0"
 7249   9585   
 7250   9586   
[dependencies.fastrand]
 7251   9587   
version = "2.0.0"
 7252   9588   
 7253   9589   
[dependencies.http]
 7254   9590   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7255   9591   
index 6518dfc..6b94752 100644
 7256         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
        9592  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7257   9593   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 7258   9594   
edition = "2021"
 7259   9595   
license = "Apache-2.0"
 7260   9596   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7261   9597   
rust-version = "1.86.0"
 7262   9598   
readme = "README.md"
 7263   9599   
[package.metadata.smithy]
 7264   9600   
codegen-version = "ci"
 7265   9601   
[package.metadata.docs.rs]
 7266   9602   
all-features = true
 7267   9603   
targets = ["x86_64-unknown-linux-gnu"]
 7268   9604   
[dependencies.aws-credential-types]
 7269   9605   
path = "../aws-credential-types"
 7270   9606   
version = "1.2.4"
 7271   9607   
 7272   9608   
[dependencies.aws-runtime]
 7273   9609   
path = "../aws-runtime"
 7274   9610   
features = ["event-stream"]
 7275   9611   
version = "1.5.9"
 7276   9612   
 7277   9613   
[dependencies.aws-smithy-async]
 7278   9614   
path = "../aws-smithy-async"
 7279   9615   
version = "1.2.5"
 7280   9616   
 7281   9617   
[dependencies.aws-smithy-eventstream]
 7282   9618   
path = "../aws-smithy-eventstream"
 7283   9619   
version = "0.60.10"
 7284   9620   
 7285   9621   
[dependencies.aws-smithy-http]
 7286   9622   
path = "../aws-smithy-http"
 7287   9623   
features = ["event-stream"]
 7288         -
version = "0.62.2"
        9624  +
version = "0.62.3"
 7289   9625   
 7290   9626   
[dependencies.aws-smithy-json]
 7291   9627   
path = "../aws-smithy-json"
 7292   9628   
version = "0.61.4"
 7293   9629   
 7294   9630   
[dependencies.aws-smithy-runtime]
 7295   9631   
path = "../aws-smithy-runtime"
 7296   9632   
features = ["client"]
 7297   9633   
version = "1.8.5"
 7298   9634   
 7299   9635   
[dependencies.aws-smithy-runtime-api]
 7300   9636   
path = "../aws-smithy-runtime-api"
 7301   9637   
features = ["client", "http-02x"]
 7302   9638   
version = "1.8.5"
 7303   9639   
 7304   9640   
[dependencies.aws-smithy-types]
 7305   9641   
path = "../aws-smithy-types"
 7306   9642   
version = "1.3.2"
 7307   9643   
 7308   9644   
[dependencies.aws-types]
 7309   9645   
path = "../aws-types"
 7310   9646   
version = "1.3.8"
 7311   9647   
 7312   9648   
[dependencies.bytes]
 7313   9649   
version = "1.4.0"
 7314   9650   
 7315   9651   
[dependencies.fastrand]
 7316   9652   
version = "2.0.0"
 7317   9653   
 7318   9654   
[dependencies.http]
 7319   9655   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7320   9656   
index dabb0e0..34cbc15 100644
 7321         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
        9657  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7322   9658   
@@ -1,65 +1,65 @@
 7323   9659   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7324   9660   
[package]
 7325   9661   
name = "aws-sdk-polly"
 7326   9662   
version = "0.0.0-local"
 7327   9663   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7328   9664   
description = "AWS SDK for Amazon Polly"
 7329   9665   
edition = "2021"
 7330   9666   
license = "Apache-2.0"
 7331   9667   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7332   9668   
rust-version = "1.86.0"
 7333   9669   
readme = "README.md"
 7334   9670   
[package.metadata.smithy]
 7335   9671   
codegen-version = "ci"
 7336   9672   
[package.metadata.docs.rs]
 7337   9673   
all-features = true
 7338   9674   
targets = ["x86_64-unknown-linux-gnu"]
 7339   9675   
[dependencies.aws-credential-types]
 7340   9676   
path = "../aws-credential-types"
 7341   9677   
version = "1.2.4"
 7342   9678   
 7343   9679   
[dependencies.aws-runtime]
 7344   9680   
path = "../aws-runtime"
 7345   9681   
version = "1.5.9"
 7346   9682   
 7347   9683   
[dependencies.aws-sigv4]
 7348   9684   
path = "../aws-sigv4"
 7349         -
version = "1.3.3"
        9685  +
version = "1.3.4"
 7350   9686   
 7351   9687   
[dependencies.aws-smithy-async]
 7352   9688   
path = "../aws-smithy-async"
 7353   9689   
version = "1.2.5"
 7354   9690   
 7355   9691   
[dependencies.aws-smithy-http]
 7356   9692   
path = "../aws-smithy-http"
 7357         -
version = "0.62.2"
        9693  +
version = "0.62.3"
 7358   9694   
 7359   9695   
[dependencies.aws-smithy-json]
 7360   9696   
path = "../aws-smithy-json"
 7361   9697   
version = "0.61.4"
 7362   9698   
 7363   9699   
[dependencies.aws-smithy-runtime]
 7364   9700   
path = "../aws-smithy-runtime"
 7365   9701   
features = ["client"]
 7366   9702   
version = "1.8.5"
 7367   9703   
 7368   9704   
[dependencies.aws-smithy-runtime-api]
 7369   9705   
path = "../aws-smithy-runtime-api"
 7370   9706   
features = ["client", "http-02x"]
 7371   9707   
version = "1.8.5"
 7372   9708   
 7373   9709   
[dependencies.aws-smithy-types]
 7374   9710   
path = "../aws-smithy-types"
 7375   9711   
version = "1.3.2"
 7376   9712   
 7377   9713   
[dependencies.aws-types]
 7378   9714   
path = "../aws-types"
 7379   9715   
version = "1.3.8"
 7380   9716   
 7381   9717   
[dependencies.bytes]
 7382   9718   
version = "1.4.0"
 7383   9719   
 7384   9720   
[dependencies.fastrand]
 7385   9721   
version = "2.0.0"
 7386   9722   
 7387   9723   
[dependencies.http]
 7388   9724   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7389   9725   
index a884716..f3d8713 100644
 7390         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
        9726  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7391   9727   
@@ -1,61 +1,61 @@
 7392   9728   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7393   9729   
[package]
 7394   9730   
name = "aws-sdk-qldbsession"
 7395   9731   
version = "0.0.0-local"
 7396   9732   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7397   9733   
description = "AWS SDK for Amazon QLDB Session"
 7398   9734   
edition = "2021"
 7399   9735   
license = "Apache-2.0"
 7400   9736   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7401   9737   
rust-version = "1.86.0"
 7402   9738   
readme = "README.md"
 7403   9739   
[package.metadata.smithy]
 7404   9740   
codegen-version = "ci"
 7405   9741   
[package.metadata.docs.rs]
 7406   9742   
all-features = true
 7407   9743   
targets = ["x86_64-unknown-linux-gnu"]
 7408   9744   
[dependencies.aws-credential-types]
 7409   9745   
path = "../aws-credential-types"
 7410   9746   
version = "1.2.4"
 7411   9747   
 7412   9748   
[dependencies.aws-runtime]
 7413   9749   
path = "../aws-runtime"
 7414   9750   
version = "1.5.9"
 7415   9751   
 7416   9752   
[dependencies.aws-smithy-async]
 7417   9753   
path = "../aws-smithy-async"
 7418   9754   
version = "1.2.5"
 7419   9755   
 7420   9756   
[dependencies.aws-smithy-http]
 7421   9757   
path = "../aws-smithy-http"
 7422         -
version = "0.62.2"
        9758  +
version = "0.62.3"
 7423   9759   
 7424   9760   
[dependencies.aws-smithy-json]
 7425   9761   
path = "../aws-smithy-json"
 7426   9762   
version = "0.61.4"
 7427   9763   
 7428   9764   
[dependencies.aws-smithy-runtime]
 7429   9765   
path = "../aws-smithy-runtime"
 7430   9766   
features = ["client"]
 7431   9767   
version = "1.8.5"
 7432   9768   
 7433   9769   
[dependencies.aws-smithy-runtime-api]
 7434   9770   
path = "../aws-smithy-runtime-api"
 7435   9771   
features = ["client", "http-02x"]
 7436   9772   
version = "1.8.5"
 7437   9773   
 7438   9774   
[dependencies.aws-smithy-types]
 7439   9775   
path = "../aws-smithy-types"
 7440   9776   
version = "1.3.2"
 7441   9777   
 7442   9778   
[dependencies.aws-types]
 7443   9779   
path = "../aws-types"
 7444   9780   
version = "1.3.8"
 7445   9781   
 7446   9782   
[dependencies.bytes]
 7447   9783   
version = "1.4.0"
 7448   9784   
 7449   9785   
[dependencies.fastrand]
 7450   9786   
version = "2.0.0"
 7451   9787   
 7452   9788   
[dependencies.http]
 7453   9789   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7454   9790   
index 32a7dc9..a2c752d 100644
 7455         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
        9791  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7456   9792   
@@ -1,61 +1,61 @@
 7457   9793   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7458   9794   
[package]
 7459   9795   
name = "aws-sdk-route53"
 7460   9796   
version = "0.0.0-local"
 7461   9797   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7462   9798   
description = "AWS SDK for Amazon Route 53"
 7463   9799   
edition = "2021"
 7464   9800   
license = "Apache-2.0"
 7465   9801   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7466   9802   
rust-version = "1.86.0"
 7467   9803   
readme = "README.md"
 7468   9804   
[package.metadata.smithy]
 7469   9805   
codegen-version = "ci"
 7470   9806   
[package.metadata.docs.rs]
 7471   9807   
all-features = true
 7472   9808   
targets = ["x86_64-unknown-linux-gnu"]
 7473   9809   
[dependencies.aws-credential-types]
 7474   9810   
path = "../aws-credential-types"
 7475   9811   
version = "1.2.4"
 7476   9812   
 7477   9813   
[dependencies.aws-runtime]
 7478   9814   
path = "../aws-runtime"
 7479   9815   
version = "1.5.9"
 7480   9816   
 7481   9817   
[dependencies.aws-smithy-async]
 7482   9818   
path = "../aws-smithy-async"
 7483   9819   
version = "1.2.5"
 7484   9820   
 7485   9821   
[dependencies.aws-smithy-http]
 7486   9822   
path = "../aws-smithy-http"
 7487         -
version = "0.62.2"
        9823  +
version = "0.62.3"
 7488   9824   
 7489   9825   
[dependencies.aws-smithy-json]
 7490   9826   
path = "../aws-smithy-json"
 7491   9827   
version = "0.61.4"
 7492   9828   
 7493   9829   
[dependencies.aws-smithy-runtime]
 7494   9830   
path = "../aws-smithy-runtime"
 7495   9831   
features = ["client"]
 7496   9832   
version = "1.8.5"
 7497   9833   
 7498   9834   
[dependencies.aws-smithy-runtime-api]
 7499   9835   
path = "../aws-smithy-runtime-api"
 7500   9836   
features = ["client", "http-02x"]
 7501   9837   
version = "1.8.5"
 7502   9838   
 7503   9839   
[dependencies.aws-smithy-types]
 7504   9840   
path = "../aws-smithy-types"
 7505   9841   
version = "1.3.2"
 7506   9842   
 7507   9843   
[dependencies.aws-smithy-xml]
 7508   9844   
path = "../aws-smithy-xml"
 7509   9845   
version = "0.60.10"
 7510   9846   
 7511   9847   
[dependencies.aws-types]
 7512   9848   
path = "../aws-types"
 7513   9849   
version = "1.3.8"
 7514   9850   
 7515   9851   
[dependencies.fastrand]
 7516   9852   
version = "2.0.0"
 7517   9853   
 7518   9854   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7519   9855   
index f65e261..2f6bec0 100644
 7520         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
        9856  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7521   9857   
@@ -1,75 +1,75 @@
 7522   9858   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7523   9859   
[package]
 7524   9860   
name = "aws-sdk-s3"
 7525   9861   
version = "0.0.0-local"
 7526   9862   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7527   9863   
description = "AWS SDK for Amazon Simple Storage Service"
 7528   9864   
edition = "2021"
 7529   9865   
license = "Apache-2.0"
 7530   9866   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7531   9867   
rust-version = "1.86.0"
 7532   9868   
readme = "README.md"
 7533   9869   
[package.metadata.smithy]
 7534   9870   
codegen-version = "ci"
 7535   9871   
[package.metadata.docs.rs]
 7536   9872   
all-features = true
 7537   9873   
targets = ["x86_64-unknown-linux-gnu"]
 7538   9874   
[dependencies.aws-credential-types]
 7539   9875   
path = "../aws-credential-types"
 7540   9876   
version = "1.2.4"
 7541   9877   
 7542   9878   
[dependencies.aws-runtime]
 7543   9879   
path = "../aws-runtime"
 7544   9880   
features = ["event-stream", "http-02x"]
 7545   9881   
version = "1.5.9"
 7546   9882   
 7547   9883   
[dependencies.aws-sigv4]
 7548   9884   
path = "../aws-sigv4"
 7549         -
version = "1.3.3"
        9885  +
version = "1.3.4"
 7550   9886   
 7551   9887   
[dependencies.aws-smithy-async]
 7552   9888   
path = "../aws-smithy-async"
 7553   9889   
version = "1.2.5"
 7554   9890   
 7555   9891   
[dependencies.aws-smithy-checksums]
 7556   9892   
path = "../aws-smithy-checksums"
 7557   9893   
version = "0.63.5"
 7558   9894   
 7559   9895   
[dependencies.aws-smithy-eventstream]
 7560   9896   
path = "../aws-smithy-eventstream"
 7561   9897   
version = "0.60.10"
 7562   9898   
 7563   9899   
[dependencies.aws-smithy-http]
 7564   9900   
path = "../aws-smithy-http"
 7565   9901   
features = ["event-stream"]
 7566         -
version = "0.62.2"
        9902  +
version = "0.62.3"
 7567   9903   
 7568   9904   
[dependencies.aws-smithy-json]
 7569   9905   
path = "../aws-smithy-json"
 7570   9906   
version = "0.61.4"
 7571   9907   
 7572   9908   
[dependencies.aws-smithy-runtime]
 7573   9909   
path = "../aws-smithy-runtime"
 7574   9910   
features = ["client"]
 7575   9911   
version = "1.8.5"
 7576   9912   
 7577   9913   
[dependencies.aws-smithy-runtime-api]
 7578   9914   
path = "../aws-smithy-runtime-api"
 7579   9915   
features = ["client", "http-02x"]
 7580   9916   
version = "1.8.5"
 7581   9917   
 7582   9918   
[dependencies.aws-smithy-types]
 7583   9919   
path = "../aws-smithy-types"
 7584   9920   
version = "1.3.2"
 7585   9921   
 7586   9922   
[dependencies.aws-smithy-xml]
 7587   9923   
path = "../aws-smithy-xml"
 7588   9924   
version = "0.60.10"
 7589   9925   
 7590   9926   
[dependencies.aws-types]
 7591   9927   
path = "../aws-types"
 7592   9928   
version = "1.3.8"
 7593   9929   
 7594   9930   
[dependencies.bytes]
 7595   9931   
version = "1.4.0"
 7596   9932   
 7597   9933   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7598   9934   
index b4d1cdd..861c0cc 100644
 7599         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
        9935  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7600   9936   
@@ -1,61 +1,61 @@
 7601   9937   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7602   9938   
[package]
 7603   9939   
name = "aws-sdk-s3control"
 7604   9940   
version = "0.0.0-local"
 7605   9941   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7606   9942   
description = "AWS SDK for AWS S3 Control"
 7607   9943   
edition = "2021"
 7608   9944   
license = "Apache-2.0"
 7609   9945   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7610   9946   
rust-version = "1.86.0"
 7611   9947   
readme = "README.md"
 7612   9948   
[package.metadata.smithy]
 7613   9949   
codegen-version = "ci"
 7614   9950   
[package.metadata.docs.rs]
 7615   9951   
all-features = true
 7616   9952   
targets = ["x86_64-unknown-linux-gnu"]
 7617   9953   
[dependencies.aws-credential-types]
 7618   9954   
path = "../aws-credential-types"
 7619   9955   
version = "1.2.4"
 7620   9956   
 7621   9957   
[dependencies.aws-runtime]
 7622   9958   
path = "../aws-runtime"
 7623   9959   
version = "1.5.9"
 7624   9960   
 7625   9961   
[dependencies.aws-smithy-async]
 7626   9962   
path = "../aws-smithy-async"
 7627   9963   
version = "1.2.5"
 7628   9964   
 7629   9965   
[dependencies.aws-smithy-http]
 7630   9966   
path = "../aws-smithy-http"
 7631         -
version = "0.62.2"
        9967  +
version = "0.62.3"
 7632   9968   
 7633   9969   
[dependencies.aws-smithy-json]
 7634   9970   
path = "../aws-smithy-json"
 7635   9971   
version = "0.61.4"
 7636   9972   
 7637   9973   
[dependencies.aws-smithy-runtime]
 7638   9974   
path = "../aws-smithy-runtime"
 7639   9975   
features = ["client"]
 7640   9976   
version = "1.8.5"
 7641   9977   
 7642   9978   
[dependencies.aws-smithy-runtime-api]
 7643   9979   
path = "../aws-smithy-runtime-api"
 7644   9980   
features = ["client", "http-02x"]
 7645   9981   
version = "1.8.5"
 7646   9982   
 7647   9983   
[dependencies.aws-smithy-types]
 7648   9984   
path = "../aws-smithy-types"
 7649   9985   
version = "1.3.2"
 7650   9986   
 7651   9987   
[dependencies.aws-smithy-xml]
 7652   9988   
path = "../aws-smithy-xml"
 7653   9989   
version = "0.60.10"
 7654   9990   
 7655   9991   
[dependencies.aws-types]
 7656   9992   
path = "../aws-types"
 7657   9993   
version = "1.3.8"
 7658   9994   
 7659   9995   
[dependencies.fastrand]
 7660   9996   
version = "2.0.0"
 7661   9997   
 7662   9998   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7663   9999   
index 2cde182..fc367f4 100644
 7664         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
       10000  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7665  10001   
@@ -1,61 +1,61 @@
 7666  10002   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7667  10003   
[package]
 7668  10004   
name = "aws-sdk-sso"
 7669  10005   
version = "0.0.0-local"
 7670  10006   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7671  10007   
description = "AWS SDK for AWS Single Sign-On"
 7672  10008   
edition = "2021"
 7673  10009   
license = "Apache-2.0"
 7674  10010   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7675  10011   
rust-version = "1.86.0"
 7676  10012   
readme = "README.md"
 7677  10013   
[package.metadata.smithy]
 7678  10014   
codegen-version = "ci"
 7679  10015   
[package.metadata.docs.rs]
 7680  10016   
all-features = true
 7681  10017   
targets = ["x86_64-unknown-linux-gnu"]
 7682  10018   
[dependencies.aws-credential-types]
 7683  10019   
path = "../aws-credential-types"
 7684  10020   
version = "1.2.4"
 7685  10021   
 7686  10022   
[dependencies.aws-runtime]
 7687  10023   
path = "../aws-runtime"
 7688  10024   
version = "1.5.9"
 7689  10025   
 7690  10026   
[dependencies.aws-smithy-async]
 7691  10027   
path = "../aws-smithy-async"
 7692  10028   
version = "1.2.5"
 7693  10029   
 7694  10030   
[dependencies.aws-smithy-http]
 7695  10031   
path = "../aws-smithy-http"
 7696         -
version = "0.62.2"
       10032  +
version = "0.62.3"
 7697  10033   
 7698  10034   
[dependencies.aws-smithy-json]
 7699  10035   
path = "../aws-smithy-json"
 7700  10036   
version = "0.61.4"
 7701  10037   
 7702  10038   
[dependencies.aws-smithy-runtime]
 7703  10039   
path = "../aws-smithy-runtime"
 7704  10040   
features = ["client"]
 7705  10041   
version = "1.8.5"
 7706  10042   
 7707  10043   
[dependencies.aws-smithy-runtime-api]
 7708  10044   
path = "../aws-smithy-runtime-api"
 7709  10045   
features = ["client", "http-02x"]
 7710  10046   
version = "1.8.5"
 7711  10047   
 7712  10048   
[dependencies.aws-smithy-types]
 7713  10049   
path = "../aws-smithy-types"
 7714  10050   
version = "1.3.2"
 7715  10051   
 7716  10052   
[dependencies.aws-types]
 7717  10053   
path = "../aws-types"
 7718  10054   
version = "1.3.8"
 7719  10055   
 7720  10056   
[dependencies.bytes]
 7721  10057   
version = "1.4.0"
 7722  10058   
 7723  10059   
[dependencies.fastrand]
 7724  10060   
version = "2.0.0"
 7725  10061   
 7726  10062   
[dependencies.http]
 7727  10063   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7728  10064   
index 7a34c16..588d0bd 100644
 7729         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       10065  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7730  10066   
@@ -1,61 +1,61 @@
 7731  10067   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7732  10068   
[package]
 7733  10069   
name = "aws-sdk-ssooidc"
 7734  10070   
version = "0.0.0-local"
 7735  10071   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7736  10072   
description = "AWS SDK for AWS SSO OIDC"
 7737  10073   
edition = "2021"
 7738  10074   
license = "Apache-2.0"
 7739  10075   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7740  10076   
rust-version = "1.86.0"
 7741  10077   
readme = "README.md"
 7742  10078   
[package.metadata.smithy]
 7743  10079   
codegen-version = "ci"
 7744  10080   
[package.metadata.docs.rs]
 7745  10081   
all-features = true
 7746  10082   
targets = ["x86_64-unknown-linux-gnu"]
 7747  10083   
[dependencies.aws-credential-types]
 7748  10084   
path = "../aws-credential-types"
 7749  10085   
version = "1.2.4"
 7750  10086   
 7751  10087   
[dependencies.aws-runtime]
 7752  10088   
path = "../aws-runtime"
 7753  10089   
version = "1.5.9"
 7754  10090   
 7755  10091   
[dependencies.aws-smithy-async]
 7756  10092   
path = "../aws-smithy-async"
 7757  10093   
version = "1.2.5"
 7758  10094   
 7759  10095   
[dependencies.aws-smithy-http]
 7760  10096   
path = "../aws-smithy-http"
 7761         -
version = "0.62.2"
       10097  +
version = "0.62.3"
 7762  10098   
 7763  10099   
[dependencies.aws-smithy-json]
 7764  10100   
path = "../aws-smithy-json"
 7765  10101   
version = "0.61.4"
 7766  10102   
 7767  10103   
[dependencies.aws-smithy-runtime]
 7768  10104   
path = "../aws-smithy-runtime"
 7769  10105   
features = ["client"]
 7770  10106   
version = "1.8.5"
 7771  10107   
 7772  10108   
[dependencies.aws-smithy-runtime-api]
 7773  10109   
path = "../aws-smithy-runtime-api"
 7774  10110   
features = ["client", "http-02x"]
 7775  10111   
version = "1.8.5"
 7776  10112   
 7777  10113   
[dependencies.aws-smithy-types]
 7778  10114   
path = "../aws-smithy-types"
 7779  10115   
version = "1.3.2"
 7780  10116   
 7781  10117   
[dependencies.aws-types]
 7782  10118   
path = "../aws-types"
 7783  10119   
version = "1.3.8"
 7784  10120   
 7785  10121   
[dependencies.bytes]
 7786  10122   
version = "1.4.0"
 7787  10123   
 7788  10124   
[dependencies.fastrand]
 7789  10125   
version = "2.0.0"
 7790  10126   
 7791  10127   
[dependencies.http]
 7792  10128   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7793  10129   
index 895dfb3..f2ce34e 100644
 7794         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       10130  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7795  10131   
@@ -1,61 +1,61 @@
 7796  10132   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7797  10133   
[package]
 7798  10134   
name = "aws-sdk-sts"
 7799  10135   
version = "0.0.0-local"
 7800  10136   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7801  10137   
description = "AWS SDK for AWS Security Token Service"
 7802  10138   
edition = "2021"
 7803  10139   
license = "Apache-2.0"
 7804  10140   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7805  10141   
rust-version = "1.86.0"
 7806  10142   
readme = "README.md"
 7807  10143   
[package.metadata.smithy]
 7808  10144   
codegen-version = "ci"
 7809  10145   
[package.metadata.docs.rs]
 7810  10146   
all-features = true
 7811  10147   
targets = ["x86_64-unknown-linux-gnu"]
 7812  10148   
[dependencies.aws-credential-types]
 7813  10149   
path = "../aws-credential-types"
 7814  10150   
version = "1.2.4"
 7815  10151   
 7816  10152   
[dependencies.aws-runtime]
 7817  10153   
path = "../aws-runtime"
 7818  10154   
version = "1.5.9"
 7819  10155   
 7820  10156   
[dependencies.aws-smithy-async]
 7821  10157   
path = "../aws-smithy-async"
 7822  10158   
version = "1.2.5"
 7823  10159   
 7824  10160   
[dependencies.aws-smithy-http]
 7825  10161   
path = "../aws-smithy-http"
 7826         -
version = "0.62.2"
       10162  +
version = "0.62.3"
 7827  10163   
 7828  10164   
[dependencies.aws-smithy-json]
 7829  10165   
path = "../aws-smithy-json"
 7830  10166   
version = "0.61.4"
 7831  10167   
 7832  10168   
[dependencies.aws-smithy-query]
 7833  10169   
path = "../aws-smithy-query"
 7834  10170   
version = "0.60.7"
 7835  10171   
 7836  10172   
[dependencies.aws-smithy-runtime]
 7837  10173   
path = "../aws-smithy-runtime"
 7838  10174   
features = ["client"]
 7839  10175   
version = "1.8.5"
 7840  10176   
 7841  10177   
[dependencies.aws-smithy-runtime-api]
 7842  10178   
path = "../aws-smithy-runtime-api"
 7843  10179   
features = ["client", "http-02x"]
 7844  10180   
version = "1.8.5"
 7845  10181   
 7846  10182   
[dependencies.aws-smithy-types]
 7847  10183   
path = "../aws-smithy-types"
 7848  10184   
version = "1.3.2"
 7849  10185   
 7850  10186   
[dependencies.aws-smithy-xml]
 7851  10187   
path = "../aws-smithy-xml"
 7852  10188   
version = "0.60.10"
 7853  10189   
 7854  10190   
[dependencies.aws-types]
 7855  10191   
path = "../aws-types"
 7856  10192   
version = "1.3.8"
 7857  10193   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 7858  10194   
index d556561..91178b6 100644
 7859         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       10195  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 7860  10196   
@@ -1,61 +1,61 @@
 7861  10197   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7862  10198   
[package]
 7863  10199   
name = "aws-sdk-timestreamquery"
 7864  10200   
version = "0.0.0-local"
 7865  10201   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7866  10202   
description = "AWS SDK for Amazon Timestream Query"
 7867  10203   
edition = "2021"
 7868  10204   
license = "Apache-2.0"
 7869  10205   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7870  10206   
rust-version = "1.86.0"
 7871  10207   
readme = "README.md"
 7872  10208   
[package.metadata.smithy]
 7873  10209   
codegen-version = "ci"
 7874  10210   
[package.metadata.docs.rs]
 7875  10211   
all-features = true
 7876  10212   
targets = ["x86_64-unknown-linux-gnu"]
 7877  10213   
[dependencies.aws-credential-types]
 7878  10214   
path = "../aws-credential-types"
 7879  10215   
version = "1.2.4"
 7880  10216   
 7881  10217   
[dependencies.aws-runtime]
 7882  10218   
path = "../aws-runtime"
 7883  10219   
version = "1.5.9"
 7884  10220   
 7885  10221   
[dependencies.aws-smithy-async]
 7886  10222   
path = "../aws-smithy-async"
 7887  10223   
version = "1.2.5"
 7888  10224   
 7889  10225   
[dependencies.aws-smithy-http]
 7890  10226   
path = "../aws-smithy-http"
 7891         -
version = "0.62.2"
       10227  +
version = "0.62.3"
 7892  10228   
 7893  10229   
[dependencies.aws-smithy-json]
 7894  10230   
path = "../aws-smithy-json"
 7895  10231   
version = "0.61.4"
 7896  10232   
 7897  10233   
[dependencies.aws-smithy-runtime]
 7898  10234   
path = "../aws-smithy-runtime"
 7899  10235   
features = ["client"]
 7900  10236   
version = "1.8.5"
 7901  10237   
 7902  10238   
[dependencies.aws-smithy-runtime-api]
 7903  10239   
path = "../aws-smithy-runtime-api"
 7904  10240   
features = ["client", "http-02x"]
 7905  10241   
version = "1.8.5"
 7906  10242   
 7907  10243   
[dependencies.aws-smithy-types]
 7908  10244   
path = "../aws-smithy-types"
 7909  10245   
version = "1.3.2"
 7910  10246   
 7911  10247   
[dependencies.aws-types]
 7912  10248   
path = "../aws-types"
 7913  10249   
version = "1.3.8"
 7914  10250   
 7915  10251   
[dependencies.bytes]
 7916  10252   
version = "1.4.0"
 7917  10253   
 7918  10254   
[dependencies.fastrand]
 7919  10255   
version = "2.0.0"
 7920  10256   
 7921  10257   
[dependencies.http]
 7922  10258   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 7923  10259   
index 0c56e4c..95731e3 100644
 7924         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       10260  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 7925  10261   
@@ -1,61 +1,61 @@
 7926  10262   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7927  10263   
[package]
 7928  10264   
name = "aws-sdk-timestreamwrite"
 7929  10265   
version = "0.0.0-local"
 7930  10266   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7931  10267   
description = "AWS SDK for Amazon Timestream Write"
 7932  10268   
edition = "2021"
 7933  10269   
license = "Apache-2.0"
 7934  10270   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7935  10271   
rust-version = "1.86.0"
 7936  10272   
readme = "README.md"
 7937  10273   
[package.metadata.smithy]
 7938  10274   
codegen-version = "ci"
 7939  10275   
[package.metadata.docs.rs]
 7940  10276   
all-features = true
 7941  10277   
targets = ["x86_64-unknown-linux-gnu"]
 7942  10278   
[dependencies.aws-credential-types]
 7943  10279   
path = "../aws-credential-types"
 7944  10280   
version = "1.2.4"
 7945  10281   
 7946  10282   
[dependencies.aws-runtime]
 7947  10283   
path = "../aws-runtime"
 7948  10284   
version = "1.5.9"
 7949  10285   
 7950  10286   
[dependencies.aws-smithy-async]
 7951  10287   
path = "../aws-smithy-async"
 7952  10288   
version = "1.2.5"
 7953  10289   
 7954  10290   
[dependencies.aws-smithy-http]
 7955  10291   
path = "../aws-smithy-http"
 7956         -
version = "0.62.2"
       10292  +
version = "0.62.3"
 7957  10293   
 7958  10294   
[dependencies.aws-smithy-json]
 7959  10295   
path = "../aws-smithy-json"
 7960  10296   
version = "0.61.4"
 7961  10297   
 7962  10298   
[dependencies.aws-smithy-runtime]
 7963  10299   
path = "../aws-smithy-runtime"
 7964  10300   
features = ["client"]
 7965  10301   
version = "1.8.5"
 7966  10302   
 7967  10303   
[dependencies.aws-smithy-runtime-api]
 7968  10304   
path = "../aws-smithy-runtime-api"
 7969  10305   
features = ["client", "http-02x"]
 7970  10306   
version = "1.8.5"
 7971  10307   
 7972  10308   
[dependencies.aws-smithy-types]
 7973  10309   
path = "../aws-smithy-types"
 7974  10310   
version = "1.3.2"
 7975  10311   
 7976  10312   
[dependencies.aws-types]
 7977  10313   
path = "../aws-types"
 7978  10314   
version = "1.3.8"
 7979  10315   
 7980  10316   
[dependencies.bytes]
 7981  10317   
version = "1.4.0"
 7982  10318   
 7983  10319   
[dependencies.fastrand]
 7984  10320   
version = "2.0.0"
 7985  10321   
 7986  10322   
[dependencies.http]
 7987  10323   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 7988  10324   
index 5b35037..9fb220a 100644
 7989         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       10325  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 7990  10326   
@@ -1,71 +1,71 @@
 7991  10327   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7992  10328   
[package]
 7993  10329   
name = "aws-sdk-transcribestreaming"
 7994  10330   
version = "0.0.0-local"
 7995  10331   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7996  10332   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 7997  10333   
edition = "2021"
 7998  10334   
license = "Apache-2.0"
 7999  10335   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8000  10336   
rust-version = "1.86.0"
 8001  10337   
readme = "README.md"
 8002  10338   
[package.metadata.smithy]
 8003  10339   
codegen-version = "ci"
 8004  10340   
[package.metadata.docs.rs]
 8005  10341   
all-features = true
 8006  10342   
targets = ["x86_64-unknown-linux-gnu"]
 8007  10343   
[dependencies.aws-credential-types]
 8008  10344   
path = "../aws-credential-types"
 8009  10345   
version = "1.2.4"
 8010  10346   
 8011  10347   
[dependencies.aws-runtime]
 8012  10348   
path = "../aws-runtime"
 8013  10349   
features = ["event-stream"]
 8014  10350   
version = "1.5.9"
 8015  10351   
 8016  10352   
[dependencies.aws-sigv4]
 8017  10353   
path = "../aws-sigv4"
 8018         -
version = "1.3.3"
       10354  +
version = "1.3.4"
 8019  10355   
 8020  10356   
[dependencies.aws-smithy-async]
 8021  10357   
path = "../aws-smithy-async"
 8022  10358   
version = "1.2.5"
 8023  10359   
 8024  10360   
[dependencies.aws-smithy-eventstream]
 8025  10361   
path = "../aws-smithy-eventstream"
 8026  10362   
version = "0.60.10"
 8027  10363   
 8028  10364   
[dependencies.aws-smithy-http]
 8029  10365   
path = "../aws-smithy-http"
 8030  10366   
features = ["event-stream"]
 8031         -
version = "0.62.2"
       10367  +
version = "0.62.3"
 8032  10368   
 8033  10369   
[dependencies.aws-smithy-json]
 8034  10370   
path = "../aws-smithy-json"
 8035  10371   
version = "0.61.4"
 8036  10372   
 8037  10373   
[dependencies.aws-smithy-runtime]
 8038  10374   
path = "../aws-smithy-runtime"
 8039  10375   
features = ["client"]
 8040  10376   
version = "1.8.5"
 8041  10377