AWS SDK

AWS SDK

rev. 3964b40d6806bc3f52bd311e2c791030c3325f2c (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 +8001,10336 @@
    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..30b4743 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   
@@ -478,436 +478,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 5399   7414   
        sensitive,
 5400   7415   
    });
 5401   7416   
}
 5402   7417   
 5403   7418   
// add signature to authorization header
 5404   7419   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 5405   7420   
fn build_authorization_header(
 5406   7421   
    access_key: &str,
 5407   7422   
    creq: &CanonicalRequest<'_>,
 5408   7423   
    sts: StringToSign<'_>,
 5409   7424   
    signature: &str,
 5410   7425   
    signature_version: SignatureVersion,
 5411   7426   
) -> String {
 5412   7427   
    let scope = match signature_version {
 5413   7428   
        SignatureVersion::V4 => sts.scope.to_string(),
 5414   7429   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 5415   7430   
    };
 5416   7431   
    format!(
 5417   7432   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 5418   7433   
        sts.algorithm,
 5419   7434   
        access_key,
 5420   7435   
        scope,
 5421   7436   
        creq.values.signed_headers().as_str(),
 5422   7437   
        signature
 5423   7438   
    )
 5424   7439   
}
 5425   7440   
#[cfg(test)]
 5426   7441   
mod tests {
 5427   7442   
    use crate::date_time::test_parsers::parse_date_time;
 5428   7443   
    use crate::http_request::sign::{add_header, SignableRequest};
        7444  +
    use crate::http_request::test::SigningSuiteTest;
 5429   7445   
    use crate::http_request::{
 5430         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        7446  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 5431   7447   
        SigningSettings,
 5432   7448   
    };
 5433   7449   
    use crate::sign::v4;
 5434   7450   
    use aws_credential_types::Credentials;
 5435   7451   
    use http0::{HeaderValue, Request};
 5436   7452   
    use pretty_assertions::assert_eq;
 5437   7453   
    use proptest::proptest;
 5438   7454   
    use std::borrow::Cow;
 5439   7455   
    use std::iter;
 5440         -
    use std::time::Duration;
 5441   7456   
 5442   7457   
    macro_rules! assert_req_eq {
 5443   7458   
        (http: $expected:expr, $actual:expr) => {
 5444   7459   
            let mut expected = ($expected).map(|_b|"body");
 5445   7460   
            let mut actual = ($actual).map(|_b|"body");
 5446   7461   
            make_headers_comparable(&mut expected);
 5447   7462   
            make_headers_comparable(&mut actual);
 5448   7463   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 5449   7464   
        };
 5450   7465   
        ($expected:tt, $actual:tt) => {
 5451   7466   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 5452   7467   
        };
 5453   7468   
    }
 5454   7469   
 5455   7470   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 5456   7471   
        for (_name, value) in request.headers_mut() {
 5457   7472   
            value.set_sensitive(false);
 5458   7473   
        }
 5459   7474   
    }
 5460   7475   
 5461         -
    #[test]
 5462         -
    fn test_sign_vanilla_with_headers() {
 5463         -
        let settings = SigningSettings::default();
 5464         -
        let identity = &Credentials::for_tests().into();
 5465         -
        let params = v4::SigningParams {
 5466         -
            identity,
 5467         -
            region: "us-east-1",
 5468         -
            name: "service",
 5469         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5470         -
            settings,
 5471         -
        }
 5472         -
        .into();
 5473         -
 5474         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5475         -
        let signable = SignableRequest::from(&original);
 5476         -
        let out = sign(signable, &params).unwrap();
 5477         -
        assert_eq!(
 5478         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 5479         -
            out.signature
 5480         -
        );
 5481         -
 5482         -
        let mut signed = original.as_http_request();
 5483         -
        out.output.apply_to_request_http0x(&mut signed);
 5484         -
 5485         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 5486         -
        assert_req_eq!(expected, signed);
 5487         -
    }
 5488         -
        7476  +
    // Sigv4A suite tests
 5489   7477   
    #[cfg(feature = "sigv4a")]
 5490         -
    mod sigv4a_tests {
 5491         -
        use super::*;
 5492         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5493         -
        use crate::http_request::{sign, test, SigningParams};
 5494         -
        use crate::sign::v4a;
 5495         -
        use p256::ecdsa::signature::{Signature, Verifier};
 5496         -
        use p256::ecdsa::{DerSignature, SigningKey};
 5497         -
        use pretty_assertions::assert_eq;
 5498         -
 5499         -
        fn new_v4a_signing_params_from_context(
 5500         -
            test_context: &'_ test::v4a::TestContext,
 5501         -
            signature_location: SignatureLocation,
 5502         -
        ) -> SigningParams<'_> {
 5503         -
            let mut params = v4a::SigningParams::from(test_context);
 5504         -
            params.settings.signature_location = signature_location;
 5505         -
 5506         -
            params.into()
 5507         -
        }
 5508         -
 5509         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 5510         -
            let tc = test::v4a::test_context(test_name);
 5511         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 5512         -
 5513         -
            let req = test::v4a::test_request(test_name);
 5514         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 5515         -
            let signable_req = SignableRequest::from(&req);
 5516         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
 5517         -
 5518         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
        7478  +
    mod v4a_suite {
        7479  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 5519   7480   
 5520         -
            let expected_string_to_sign =
 5521         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 5522         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 5523         -
            let actual_string_to_sign = StringToSign::new_v4a(
 5524         -
                *params.time(),
 5525         -
                params.region_set().unwrap(),
 5526         -
                params.name(),
 5527         -
                hashed_creq,
 5528         -
            )
 5529         -
            .to_string();
 5530         -
 5531         -
            assert_eq!(
 5532         -
                expected_string_to_sign, actual_string_to_sign,
 5533         -
                "'string to sign' didn't match"
 5534         -
            );
 5535         -
 5536         -
            let out = sign(signable_req, &params).unwrap();
 5537         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 5538         -
            out.output
 5539         -
                .apply_to_request_http0x(&mut req.as_http_request());
 5540         -
 5541         -
            let creds = params.credentials().unwrap();
 5542         -
            let signing_key =
 5543         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 5544         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 5545         -
            let sig = sig
 5546         -
                .try_into()
 5547         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 5548         -
 5549         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 5550         -
            let peer_public_key = signing_key.verifying_key();
 5551         -
            let sts = actual_string_to_sign.as_bytes();
 5552         -
            peer_public_key.verify(sts, &sig).unwrap();
        7481  +
        #[test]
        7482  +
        fn test_get_header_key_duplicate() {
        7483  +
            run_test_suite_v4a("get-header-key-duplicate")
 5553   7484   
        }
 5554   7485   
 5555   7486   
        #[test]
 5556         -
        fn test_get_header_key_duplicate() {
 5557         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        7487  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7488  +
        fn test_get_header_value_multiline() {
        7489  +
            run_test_suite_v4a("get-header-value-multiline")
 5558   7490   
        }
 5559   7491   
 5560   7492   
        #[test]
 5561   7493   
        fn test_get_header_value_order() {
 5562         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        7494  +
            run_test_suite_v4a("get-header-value-order")
 5563   7495   
        }
 5564   7496   
 5565   7497   
        #[test]
 5566   7498   
        fn test_get_header_value_trim() {
 5567         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        7499  +
            run_test_suite_v4a("get-header-value-trim");
 5568   7500   
        }
 5569   7501   
 5570   7502   
        #[test]
 5571   7503   
        fn test_get_relative_normalized() {
 5572         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        7504  +
            run_test_suite_v4a("get-relative-normalized");
 5573   7505   
        }
 5574   7506   
 5575   7507   
        #[test]
 5576   7508   
        fn test_get_relative_relative_normalized() {
 5577         -
            run_v4a_test_suite(
 5578         -
                "get-relative-relative-normalized",
 5579         -
                SignatureLocation::Headers,
 5580         -
            );
        7509  +
            run_test_suite_v4a("get-relative-relative-normalized");
 5581   7510   
        }
 5582   7511   
 5583   7512   
        #[test]
 5584   7513   
        fn test_get_relative_relative_unnormalized() {
 5585         -
            run_v4a_test_suite(
 5586         -
                "get-relative-relative-unnormalized",
 5587         -
                SignatureLocation::Headers,
 5588         -
            );
        7514  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 5589   7515   
        }
 5590   7516   
 5591   7517   
        #[test]
 5592   7518   
        fn test_get_relative_unnormalized() {
 5593         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        7519  +
            run_test_suite_v4a("get-relative-unnormalized");
 5594   7520   
        }
 5595   7521   
 5596   7522   
        #[test]
 5597   7523   
        fn test_get_slash_dot_slash_normalized() {
 5598         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        7524  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 5599   7525   
        }
 5600   7526   
 5601   7527   
        #[test]
 5602   7528   
        fn test_get_slash_dot_slash_unnormalized() {
 5603         -
            run_v4a_test_suite(
 5604         -
                "get-slash-dot-slash-unnormalized",
 5605         -
                SignatureLocation::Headers,
 5606         -
            );
        7529  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 5607   7530   
        }
 5608   7531   
 5609   7532   
        #[test]
 5610   7533   
        fn test_get_slash_normalized() {
 5611         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        7534  +
            run_test_suite_v4a("get-slash-normalized");
 5612   7535   
        }
 5613   7536   
 5614   7537   
        #[test]
 5615   7538   
        fn test_get_slash_pointless_dot_normalized() {
 5616         -
            run_v4a_test_suite(
 5617         -
                "get-slash-pointless-dot-normalized",
 5618         -
                SignatureLocation::Headers,
 5619         -
            );
        7539  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 5620   7540   
        }
 5621   7541   
 5622   7542   
        #[test]
 5623   7543   
        fn test_get_slash_pointless_dot_unnormalized() {
 5624         -
            run_v4a_test_suite(
 5625         -
                "get-slash-pointless-dot-unnormalized",
 5626         -
                SignatureLocation::Headers,
 5627         -
            );
        7544  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 5628   7545   
        }
 5629   7546   
 5630   7547   
        #[test]
 5631   7548   
        fn test_get_slash_unnormalized() {
 5632         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        7549  +
            run_test_suite_v4a("get-slash-unnormalized");
 5633   7550   
        }
 5634   7551   
 5635   7552   
        #[test]
 5636   7553   
        fn test_get_slashes_normalized() {
 5637         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        7554  +
            run_test_suite_v4a("get-slashes-normalized");
 5638   7555   
        }
 5639   7556   
 5640   7557   
        #[test]
 5641   7558   
        fn test_get_slashes_unnormalized() {
 5642         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        7559  +
            run_test_suite_v4a("get-slashes-unnormalized");
        7560  +
        }
        7561  +
        7562  +
        #[test]
        7563  +
        #[ignore = "relies on single encode of path segments"]
        7564  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7565  +
        // skipped until we add control over double_uri_encode in context.json
        7566  +
        fn test_get_space_normalized() {
        7567  +
            run_test_suite_v4a("get-space-normalized");
        7568  +
        }
        7569  +
        7570  +
        #[test]
        7571  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7572  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7573  +
        fn test_get_space_unnormalized() {
        7574  +
            run_test_suite_v4a("get-space-unnormalized");
 5643   7575   
        }
 5644   7576   
 5645   7577   
        #[test]
 5646   7578   
        fn test_get_unreserved() {
 5647         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        7579  +
            run_test_suite_v4a("get-unreserved");
        7580  +
        }
        7581  +
        7582  +
        #[test]
        7583  +
        #[ignore = "httparse fails on invalid uri character"]
        7584  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7585  +
        fn test_get_utf8() {
        7586  +
            run_test_suite_v4a("get-utf8");
 5648   7587   
        }
 5649   7588   
 5650   7589   
        #[test]
 5651   7590   
        fn test_get_vanilla() {
 5652         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        7591  +
            run_test_suite_v4a("get-vanilla");
 5653   7592   
        }
 5654   7593   
 5655   7594   
        #[test]
 5656   7595   
        fn test_get_vanilla_empty_query_key() {
 5657         -
            run_v4a_test_suite(
 5658         -
                "get-vanilla-empty-query-key",
 5659         -
                SignatureLocation::QueryParams,
 5660         -
            );
        7596  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 5661   7597   
        }
 5662   7598   
 5663   7599   
        #[test]
 5664   7600   
        fn test_get_vanilla_query() {
 5665         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        7601  +
            run_test_suite_v4a("get-vanilla-query");
        7602  +
        }
        7603  +
        7604  +
        #[test]
        7605  +
        fn test_get_vanilla_query_order_encoded() {
        7606  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 5666   7607   
        }
 5667   7608   
 5668   7609   
        #[test]
 5669   7610   
        fn test_get_vanilla_query_order_key_case() {
 5670         -
            run_v4a_test_suite(
 5671         -
                "get-vanilla-query-order-key-case",
 5672         -
                SignatureLocation::QueryParams,
 5673         -
            );
        7611  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 5674   7612   
        }
 5675   7613   
 5676   7614   
        #[test]
 5677   7615   
        fn test_get_vanilla_query_unreserved() {
 5678         -
            run_v4a_test_suite(
 5679         -
                "get-vanilla-query-unreserved",
 5680         -
                SignatureLocation::QueryParams,
 5681         -
            );
        7616  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        7617  +
        }
        7618  +
        7619  +
        #[test]
        7620  +
        #[ignore = "httparse fails on invalid uri character"]
        7621  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7622  +
        fn test_get_vanilla_utf8_query() {
        7623  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 5682   7624   
        }
 5683   7625   
 5684   7626   
        #[test]
 5685   7627   
        fn test_get_vanilla_with_session_token() {
 5686         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        7628  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 5687   7629   
        }
 5688   7630   
 5689   7631   
        #[test]
 5690   7632   
        fn test_post_header_key_case() {
 5691         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        7633  +
            run_test_suite_v4a("post-header-key-case");
 5692   7634   
        }
 5693   7635   
 5694   7636   
        #[test]
 5695   7637   
        fn test_post_header_key_sort() {
 5696         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        7638  +
            run_test_suite_v4a("post-header-key-sort");
 5697   7639   
        }
 5698   7640   
 5699   7641   
        #[test]
 5700   7642   
        fn test_post_header_value_case() {
 5701         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        7643  +
            run_test_suite_v4a("post-header-value-case");
 5702   7644   
        }
 5703   7645   
 5704   7646   
        #[test]
 5705   7647   
        fn test_post_sts_header_after() {
 5706         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        7648  +
            run_test_suite_v4a("post-sts-header-after");
 5707   7649   
        }
 5708   7650   
 5709   7651   
        #[test]
 5710   7652   
        fn test_post_sts_header_before() {
 5711         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        7653  +
            run_test_suite_v4a("post-sts-header-before");
 5712   7654   
        }
 5713   7655   
 5714   7656   
        #[test]
 5715   7657   
        fn test_post_vanilla() {
 5716         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        7658  +
            run_test_suite_v4a("post-vanilla");
 5717   7659   
        }
 5718   7660   
 5719   7661   
        #[test]
 5720   7662   
        fn test_post_vanilla_empty_query_value() {
 5721         -
            run_v4a_test_suite(
 5722         -
                "post-vanilla-empty-query-value",
 5723         -
                SignatureLocation::QueryParams,
 5724         -
            );
        7663  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 5725   7664   
        }
 5726   7665   
 5727   7666   
        #[test]
 5728   7667   
        fn test_post_vanilla_query() {
 5729         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        7668  +
            run_test_suite_v4a("post-vanilla-query");
 5730   7669   
        }
 5731   7670   
 5732   7671   
        #[test]
 5733   7672   
        fn test_post_x_www_form_urlencoded() {
 5734         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        7673  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 5735   7674   
        }
 5736   7675   
 5737   7676   
        #[test]
 5738   7677   
        fn test_post_x_www_form_urlencoded_parameters() {
 5739         -
            run_v4a_test_suite(
 5740         -
                "post-x-www-form-urlencoded-parameters",
 5741         -
                SignatureLocation::QueryParams,
 5742         -
            );
        7678  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 5743   7679   
        }
 5744   7680   
    }
 5745   7681   
 5746   7682   
    #[test]
 5747   7683   
    fn test_sign_url_escape() {
 5748         -
        let test = "double-encode-path";
        7684  +
        let test = SigningSuiteTest::v4("double-encode-path");
 5749   7685   
        let settings = SigningSettings::default();
 5750   7686   
        let identity = &Credentials::for_tests().into();
 5751   7687   
        let params = v4::SigningParams {
 5752   7688   
            identity,
 5753   7689   
            region: "us-east-1",
 5754   7690   
            name: "service",
 5755   7691   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5756   7692   
            settings,
 5757   7693   
        }
 5758   7694   
        .into();
 5759   7695   
 5760         -
        let original = test::v4::test_request(test);
        7696  +
        let original = test.request();
 5761   7697   
        let signable = SignableRequest::from(&original);
 5762   7698   
        let out = sign(signable, &params).unwrap();
 5763   7699   
        assert_eq!(
 5764   7700   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 5765   7701   
            out.signature
 5766   7702   
        );
 5767   7703   
 5768   7704   
        let mut signed = original.as_http_request();
 5769   7705   
        out.output.apply_to_request_http0x(&mut signed);
 5770   7706   
 5771         -
        let expected = test::v4::test_signed_request(test);
 5772         -
        assert_req_eq!(expected, signed);
 5773         -
    }
 5774         -
 5775         -
    #[test]
 5776         -
    fn test_sign_vanilla_with_query_params() {
 5777         -
        let settings = SigningSettings {
 5778         -
            signature_location: SignatureLocation::QueryParams,
 5779         -
            expires_in: Some(Duration::from_secs(35)),
 5780         -
            ..Default::default()
 5781         -
        };
 5782         -
        let identity = &Credentials::for_tests().into();
 5783         -
        let params = v4::SigningParams {
 5784         -
            identity,
 5785         -
            region: "us-east-1",
 5786         -
            name: "service",
 5787         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5788         -
            settings,
 5789         -
        }
 5790         -
        .into();
 5791         -
 5792         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5793         -
        let signable = SignableRequest::from(&original);
 5794         -
        let out = sign(signable, &params).unwrap();
 5795         -
        assert_eq!(
 5796         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 5797         -
            out.signature
 5798         -
        );
 5799         -
 5800         -
        let mut signed = original.as_http_request();
 5801         -
        out.output.apply_to_request_http0x(&mut signed);
 5802         -
 5803         -
        let expected =
 5804         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        7707  +
        let expected = test.signed_request(SignatureLocation::Headers);
 5805   7708   
        assert_req_eq!(expected, signed);
 5806   7709   
    }
 5807   7710   
 5808   7711   
    #[test]
 5809   7712   
    fn test_sign_headers_utf8() {
 5810   7713   
        let settings = SigningSettings::default();
 5811   7714   
        let identity = &Credentials::for_tests().into();
 5812   7715   
        let params = v4::SigningParams {
 5813   7716   
            identity,
 5814   7717   
            region: "us-east-1",
 5815   7718   
            name: "service",
 5816   7719   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5817   7720   
            settings,
 5818   7721   
        }
 5819   7722   
        .into();
 5820   7723   
 5821   7724   
        let original = http0::Request::builder()
 5822   7725   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 5823   7726   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 5824   7727   
            .body("")
 5825   7728   
            .unwrap()
 5826   7729   
            .into();
 5827   7730   
        let signable = SignableRequest::from(&original);
 5828   7731   
        let out = sign(signable, &params).unwrap();
 5829   7732   
        assert_eq!(
 5830   7733   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 5831   7734   
            out.signature
 5832   7735   
        );
 5833   7736   
 5834   7737   
        let mut signed = original.as_http_request();
 5835   7738   
@@ -1138,31 +1026,236 @@ mod tests {
 5836   7739   
        let mut request = http::Request::builder()
 5837   7740   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 5838   7741   
            .body("")
 5839   7742   
            .unwrap();
 5840   7743   
 5841   7744   
        instructions.apply_to_request_http1x(&mut request);
 5842   7745   
 5843   7746   
        assert_eq!(
 5844   7747   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 5845   7748   
            request.uri().path_and_query().unwrap().to_string()
 5846   7749   
        );
 5847   7750   
    }
 5848   7751   
 5849   7752   
    #[test]
 5850   7753   
    fn test_debug_signable_body() {
 5851   7754   
        let sut = SignableBody::Bytes(b"hello signable body");
 5852   7755   
        assert_eq!(
 5853   7756   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 5854   7757   
            format!("{sut:?}")
 5855   7758   
        );
 5856   7759   
 5857   7760   
        let sut = SignableBody::UnsignedPayload;
 5858   7761   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 5859   7762   
 5860   7763   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 5861   7764   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 5862   7765   
 5863   7766   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 5864   7767   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 5865   7768   
    }
        7769  +
        7770  +
    // v4 test suite
        7771  +
    mod v4_suite {
        7772  +
        use crate::http_request::test::run_test_suite_v4;
        7773  +
        7774  +
        #[test]
        7775  +
        fn test_get_header_key_duplicate() {
        7776  +
            run_test_suite_v4("get-header-key-duplicate");
        7777  +
        }
        7778  +
        7779  +
        #[test]
        7780  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7781  +
        fn test_get_header_value_multiline() {
        7782  +
            run_test_suite_v4("get-header-value-multiline");
        7783  +
        }
        7784  +
        7785  +
        #[test]
        7786  +
        fn test_get_header_value_order() {
        7787  +
            run_test_suite_v4("get-header-value-order");
        7788  +
        }
        7789  +
        7790  +
        #[test]
        7791  +
        fn test_get_header_value_trim() {
        7792  +
            run_test_suite_v4("get-header-value-trim");
        7793  +
        }
        7794  +
        7795  +
        #[test]
        7796  +
        fn test_get_relative_normalized() {
        7797  +
            run_test_suite_v4("get-relative-normalized");
        7798  +
        }
        7799  +
        7800  +
        #[test]
        7801  +
        fn test_get_relative_relative_normalized() {
        7802  +
            run_test_suite_v4("get-relative-relative-normalized");
        7803  +
        }
        7804  +
        7805  +
        #[test]
        7806  +
        fn test_get_relative_relative_unnormalized() {
        7807  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        7808  +
        }
        7809  +
        7810  +
        #[test]
        7811  +
        fn test_get_relative_unnormalized() {
        7812  +
            run_test_suite_v4("get-relative-unnormalized");
        7813  +
        }
        7814  +
        7815  +
        #[test]
        7816  +
        fn test_get_slash_dot_slash_normalized() {
        7817  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        7818  +
        }
        7819  +
        7820  +
        #[test]
        7821  +
        fn test_get_slash_dot_slash_unnormalized() {
        7822  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        7823  +
        }
        7824  +
        7825  +
        #[test]
        7826  +
        fn test_get_slash_normalized() {
        7827  +
            run_test_suite_v4("get-slash-normalized");
        7828  +
        }
        7829  +
        7830  +
        #[test]
        7831  +
        fn test_get_slash_pointless_dot_normalized() {
        7832  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        7833  +
        }
        7834  +
        7835  +
        #[test]
        7836  +
        fn test_get_slash_pointless_dot_unnormalized() {
        7837  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        7838  +
        }
        7839  +
        7840  +
        #[test]
        7841  +
        fn test_get_slash_unnormalized() {
        7842  +
            run_test_suite_v4("get-slash-unnormalized");
        7843  +
        }
        7844  +
        7845  +
        #[test]
        7846  +
        fn test_get_slashes_normalized() {
        7847  +
            run_test_suite_v4("get-slashes-normalized");
        7848  +
        }
        7849  +
        7850  +
        #[test]
        7851  +
        fn test_get_slashes_unnormalized() {
        7852  +
            run_test_suite_v4("get-slashes-unnormalized");
        7853  +
        }
        7854  +
        7855  +
        #[test]
        7856  +
        #[ignore = "relies on single encode of path segments"]
        7857  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7858  +
        // skipped until we add control over double_uri_encode in context.json
        7859  +
        fn test_get_space_normalized() {
        7860  +
            run_test_suite_v4("get-space-normalized");
        7861  +
        }
        7862  +
        7863  +
        #[test]
        7864  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7865  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7866  +
        fn test_get_space_unnormalized() {
        7867  +
            run_test_suite_v4("get-space-unnormalized");
        7868  +
        }
        7869  +
        7870  +
        #[test]
        7871  +
        fn test_get_unreserved() {
        7872  +
            run_test_suite_v4("get-unreserved");
        7873  +
        }
        7874  +
        7875  +
        #[test]
        7876  +
        #[ignore = "httparse fails on invalid uri character"]
        7877  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7878  +
        fn test_get_utf8() {
        7879  +
            run_test_suite_v4("get-utf8");
        7880  +
        }
        7881  +
        7882  +
        #[test]
        7883  +
        fn test_get_vanilla() {
        7884  +
            run_test_suite_v4("get-vanilla");
        7885  +
        }
        7886  +
        7887  +
        #[test]
        7888  +
        fn test_get_vanilla_empty_query_key() {
        7889  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        7890  +
        }
        7891  +
        7892  +
        #[test]
        7893  +
        fn test_get_vanilla_query() {
        7894  +
            run_test_suite_v4("get-vanilla-query");
        7895  +
        }
        7896  +
        7897  +
        #[test]
        7898  +
        fn test_get_vanilla_query_order_encoded() {
        7899  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        7900  +
        }
        7901  +
        7902  +
        #[test]
        7903  +
        fn test_get_vanilla_query_order_key_case() {
        7904  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        7905  +
        }
        7906  +
        7907  +
        #[test]
        7908  +
        fn test_get_vanilla_query_unreserved() {
        7909  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        7910  +
        }
        7911  +
        7912  +
        #[test]
        7913  +
        #[ignore = "httparse fails on invalid uri character"]
        7914  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7915  +
        fn test_get_vanilla_utf8_query() {
        7916  +
            run_test_suite_v4("get-vanilla-utf8-query");
        7917  +
        }
        7918  +
        7919  +
        #[test]
        7920  +
        fn test_get_vanilla_with_session_token() {
        7921  +
            run_test_suite_v4("get-vanilla-with-session-token");
        7922  +
        }
        7923  +
        7924  +
        #[test]
        7925  +
        fn test_post_header_key_case() {
        7926  +
            run_test_suite_v4("post-header-key-case");
        7927  +
        }
        7928  +
        7929  +
        #[test]
        7930  +
        fn test_post_header_key_sort() {
        7931  +
            run_test_suite_v4("post-header-key-sort");
        7932  +
        }
        7933  +
        7934  +
        #[test]
        7935  +
        fn test_post_header_value_case() {
        7936  +
            run_test_suite_v4("post-header-value-case");
        7937  +
        }
        7938  +
        7939  +
        #[test]
        7940  +
        fn test_post_sts_header_after() {
        7941  +
            run_test_suite_v4("post-sts-header-after");
        7942  +
        }
        7943  +
        7944  +
        #[test]
        7945  +
        fn test_post_sts_header_before() {
        7946  +
            run_test_suite_v4("post-sts-header-before");
        7947  +
        }
        7948  +
        7949  +
        #[test]
        7950  +
        fn test_post_vanilla() {
        7951  +
            run_test_suite_v4("post-vanilla");
        7952  +
        }
        7953  +
        7954  +
        #[test]
        7955  +
        fn test_post_vanilla_empty_query_value() {
        7956  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        7957  +
        }
        7958  +
        7959  +
        #[test]
        7960  +
        fn test_post_vanilla_query() {
        7961  +
            run_test_suite_v4("post-vanilla-query");
        7962  +
        }
        7963  +
        7964  +
        #[test]
        7965  +
        fn test_post_x_www_form_urlencoded() {
        7966  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        7967  +
        }
        7968  +
        7969  +
        #[test]
        7970  +
        fn test_post_x_www_form_urlencoded_parameters() {
        7971  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        7972  +
        }
        7973  +
    }
 5866   7974   
}
 5867   7975   
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
 5868   7976   
index be6c496..86eec20 100644
 5869         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        7977  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 5870   7978   
@@ -1,242 +1,453 @@
 5871   7979   
/*
 5872   7980   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 5873   7981   
 * SPDX-License-Identifier: Apache-2.0
 5874   7982   
 */
 5875   7983   
 5876   7984   
//! Functions shared between the tests of several modules.
 5877   7985   
 5878         -
use crate::http_request::{SignableBody, SignableRequest};
        7986  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        7987  +
use crate::http_request::{
        7988  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        7989  +
    SigningSettings,
        7990  +
};
        7991  +
use aws_credential_types::Credentials;
        7992  +
use aws_smithy_runtime_api::client::identity::Identity;
 5879   7993   
use http0::{Method, Uri};
        7994  +
use std::borrow::Cow;
 5880   7995   
use std::error::Error as StdError;
        7996  +
use std::time::{Duration, SystemTime};
        7997  +
use time::format_description::well_known::Rfc3339;
        7998  +
use time::OffsetDateTime;
        7999  +
        8000  +
/// Common test suite collection
        8001  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        8002  +
enum Collection {
        8003  +
    V4,
        8004  +
    V4A,
        8005  +
}
 5881   8006   
 5882         -
pub(crate) mod v4 {
 5883         -
    use super::*;
        8007  +
/// A test from the common CRT test suite
        8008  +
#[derive(Debug, Clone)]
        8009  +
pub(crate) struct SigningSuiteTest {
        8010  +
    test_name: &'static str,
        8011  +
    collection: Collection,
        8012  +
}
 5884   8013   
 5885         -
    fn path(name: &str, ext: &str) -> String {
 5886         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        8014  +
impl SigningSuiteTest {
        8015  +
    /// Create a new test from the V4 test suite
        8016  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        8017  +
        Self {
        8018  +
            test_name,
        8019  +
            collection: Collection::V4,
 5887   8020   
        }
 5888         -
 5889         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 5890         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 5891         -
        read(&path(name, "creq")).trim().to_string()
 5892   8021   
    }
 5893   8022   
 5894         -
    pub(crate) fn test_sts(name: &str) -> String {
 5895         -
        read(&path(name, "sts"))
        8023  +
    /// Create a new test from the V4a test suite
        8024  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        8025  +
        Self {
        8026  +
            test_name,
        8027  +
            collection: Collection::V4A,
 5896   8028   
        }
 5897         -
 5898         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 5899         -
        test_parsed_request(name, "req")
 5900   8029   
    }
 5901   8030   
 5902         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 5903         -
        test_parsed_request(name, "sreq")
        8031  +
    /// Get the path to a file in this test suite directory
        8032  +
    fn path(&self, filename: &str) -> String {
        8033  +
        let dir = match self.collection {
        8034  +
            Collection::V4 => "v4",
        8035  +
            Collection::V4A => "v4a",
        8036  +
        };
        8037  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 5904   8038   
    }
 5905   8039   
 5906         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 5907         -
        test_parsed_request(name, "qpsreq")
        8040  +
    /// Get the HTTP request for the test
        8041  +
    pub(crate) fn request(&self) -> TestRequest {
        8042  +
        test_parsed_request(&self.path("request.txt"))
 5908   8043   
    }
 5909   8044   
 5910         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 5911         -
        let path = path(name, ext);
 5912         -
        match parse_request(read(&path).as_bytes()) {
 5913         -
            Ok(parsed) => parsed,
 5914         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        8045  +
    /// Get the signed HTTP request for the test
        8046  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        8047  +
        match signature_location {
        8048  +
            SignatureLocation::QueryParams => {
        8049  +
                test_parsed_request(&self.path("query-signed-request.txt"))
 5915   8050   
            }
        8051  +
            SignatureLocation::Headers => {
        8052  +
                test_parsed_request(&self.path("header-signed-request.txt"))
 5916   8053   
            }
 5917         -
 5918         -
    #[test]
 5919         -
    fn test_parse() {
 5920         -
        test_request("post-header-key-case");
 5921   8054   
        }
 5922         -
 5923         -
    #[test]
 5924         -
    fn test_read_query_params() {
 5925         -
        test_request("get-vanilla-query-order-key-case");
 5926   8055   
    }
 5927         -
}
 5928         -
 5929         -
#[cfg(feature = "sigv4a")]
 5930         -
pub(crate) mod v4a {
 5931         -
    use super::*;
 5932         -
    use crate::http_request::{
 5933         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 5934         -
    };
 5935         -
    use aws_credential_types::Credentials;
 5936         -
    use aws_smithy_runtime_api::client::identity::Identity;
 5937         -
    use serde_derive::Deserialize;
 5938         -
    use std::time::{Duration, SystemTime};
 5939         -
    use time::format_description::well_known::Rfc3339;
 5940         -
    use time::OffsetDateTime;
 5941   8056   
 5942         -
    fn path(test_name: &str, definition_name: &str) -> String {
 5943         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        8057  +
    /// Get the canonical request for the test
        8058  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        8059  +
        match signature_location {
        8060  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        8061  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
 5944   8062   
        }
 5945         -
 5946         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 5947         -
        test_parsed_request(&path(name, "request"))
 5948   8063   
    }
 5949   8064   
 5950         -
    pub(crate) fn test_canonical_request(
 5951         -
        name: &str,
 5952         -
        signature_location: SignatureLocation,
 5953         -
    ) -> String {
        8065  +
    /// Get the string to sign for the test
        8066  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
 5954   8067   
        match signature_location {
 5955         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 5956         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        8068  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        8069  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 5957   8070   
        }
 5958   8071   
    }
 5959   8072   
 5960         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
        8073  +
    /// Get the signature for the test
        8074  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
 5961   8075   
        match signature_location {
 5962         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 5963         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        8076  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        8077  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        8078  +
        }
 5964   8079   
    }
        8080  +
        8081  +
    /// Get the test context for the test
        8082  +
    pub(crate) fn context(&self) -> TestContext {
        8083  +
        let context = read(&self.path("context.json"));
        8084  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        8085  +
        tc_builder.build()
 5965   8086   
    }
        8087  +
}
 5966   8088   
 5967         -
    fn test_parsed_request(path: &str) -> TestRequest {
        8089  +
fn test_parsed_request(path: &str) -> TestRequest {
 5968   8090   
    match parse_request(read(path).as_bytes()) {
 5969   8091   
        Ok(parsed) => parsed,
 5970   8092   
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 5971   8093   
    }
 5972         -
    }
        8094  +
}
 5973   8095   
 5974         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 5975         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 5976         -
        let context = read(&path);
 5977         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 5978         -
        tc_builder.build()
 5979         -
    }
        8096  +
fn new_v4_signing_params_from_context(
        8097  +
    test_context: &'_ TestContext,
        8098  +
    signature_location: SignatureLocation,
        8099  +
) -> crate::http_request::SigningParams<'_> {
        8100  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        8101  +
    params.settings.signature_location = signature_location;
        8102  +
    params.into()
        8103  +
}
        8104  +
        8105  +
/// Run the given test from the v4 suite for both header and query
        8106  +
/// signature locations
        8107  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        8108  +
    run_v4_test(test_name, SignatureLocation::Headers);
        8109  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        8110  +
}
        8111  +
        8112  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        8113  +
    assert_eq!(expected.scheme(), actual.scheme());
        8114  +
    assert_eq!(expected.authority(), actual.authority());
        8115  +
    assert_eq!(expected.path(), actual.path());
        8116  +
        8117  +
    // query params may be out of order
        8118  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8119  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        8120  +
    expected_params.sort();
        8121  +
        8122  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8123  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        8124  +
    actual_params.sort();
        8125  +
        8126  +
    assert_eq!(expected_params, actual_params);
        8127  +
}
 5980   8128   
 5981         -
    pub(crate) struct TestContext {
        8129  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        8130  +
    let expected = expected.as_http_request();
        8131  +
    let actual = actual;
        8132  +
    assert_eq!(expected.method(), actual.method());
        8133  +
    assert_eq!(
        8134  +
        expected.headers().len(),
        8135  +
        actual.headers().len(),
        8136  +
        "extra or missing headers"
        8137  +
    );
        8138  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        8139  +
    assert_uri_eq(expected.uri(), actual.uri());
        8140  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        8141  +
}
        8142  +
        8143  +
/// Run the given test from the v4 suite for the given signature location
        8144  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        8145  +
    let test = SigningSuiteTest::v4(test_name);
        8146  +
    let tc = test.context();
        8147  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        8148  +
        8149  +
    let req = test.request();
        8150  +
    let expected_creq = test.canonical_request(signature_location);
        8151  +
    let signable_req = SignableRequest::from(&req);
        8152  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8153  +
        8154  +
    // check canonical request
        8155  +
    assert_eq!(
        8156  +
        expected_creq,
        8157  +
        actual_creq.to_string(),
        8158  +
        "canonical request didn't match (signature location: {signature_location:?})"
        8159  +
    );
        8160  +
        8161  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        8162  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8163  +
    let actual_string_to_sign = StringToSign::new_v4(
        8164  +
        *params.time(),
        8165  +
        params.region().unwrap(),
        8166  +
        params.name(),
        8167  +
        hashed_creq,
        8168  +
    )
        8169  +
    .to_string();
        8170  +
        8171  +
    // check string to sign
        8172  +
    assert_eq!(
        8173  +
        expected_string_to_sign, actual_string_to_sign,
        8174  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        8175  +
    );
        8176  +
        8177  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        8178  +
    let mut signed = req.as_http_request();
        8179  +
    out.output.apply_to_request_http0x(&mut signed);
        8180  +
        8181  +
    // check signature
        8182  +
    assert_eq!(
        8183  +
        test.signature(signature_location),
        8184  +
        out.signature,
        8185  +
        "signature didn't match (signature location: {signature_location:?})"
        8186  +
    );
        8187  +
        8188  +
    let expected = test.signed_request(signature_location);
        8189  +
    assert_requests_eq(expected, signed);
        8190  +
}
        8191  +
        8192  +
/// Test suite context.json
        8193  +
pub(crate) struct TestContext {
 5982   8194   
    pub(crate) identity: Identity,
 5983   8195   
    pub(crate) expiration_in_seconds: u64,
 5984   8196   
    pub(crate) normalize: bool,
 5985   8197   
    pub(crate) region: String,
 5986   8198   
    pub(crate) service: String,
 5987   8199   
    pub(crate) timestamp: String,
 5988   8200   
    pub(crate) omit_session_token: bool,
 5989   8201   
    pub(crate) sign_body: bool,
 5990         -
    }
 5991         -
 5992         -
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 5993         -
        fn from(tc: &'a TestContext) -> Self {
 5994         -
            crate::sign::v4a::SigningParams {
 5995         -
                identity: &tc.identity,
 5996         -
                region_set: &tc.region,
 5997         -
                name: &tc.service,
 5998         -
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 5999         -
                    .unwrap()
 6000         -
                    .into(),
 6001         -
                settings: SigningSettings {
 6002         -
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6003         -
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 6004         -
                    uri_path_normalization_mode: tc.normalize.into(),
 6005         -
                    session_token_mode: if tc.omit_session_token {
 6006         -
                        SessionTokenMode::Exclude
 6007         -
                    } else {
 6008         -
                        SessionTokenMode::Include
 6009         -
                    },
 6010         -
                    payload_checksum_kind: if tc.sign_body {
 6011         -
                        PayloadChecksumKind::XAmzSha256
 6012         -
                    } else {
 6013         -
                        PayloadChecksumKind::NoHeader
 6014         -
                    },
 6015         -
                    ..Default::default()
 6016         -
                },
 6017         -
            }
 6018         -
        }
 6019         -
    }
        8202  +
}
 6020   8203   
 6021         -
    // Serde has limitations requiring this odd workaround.
 6022         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 6023         -
    fn return_true() -> bool {
        8204  +
// Serde has limitations requiring this odd workaround.
        8205  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        8206  +
fn return_true() -> bool {
 6024   8207   
    true
 6025         -
    }
        8208  +
}
 6026   8209   
 6027         -
    #[derive(Deserialize)]
 6028         -
    pub(crate) struct TestContextBuilder {
        8210  +
#[derive(serde_derive::Deserialize)]
        8211  +
pub(crate) struct TestContextBuilder {
 6029   8212   
    credentials: TestContextCreds,
 6030   8213   
    expiration_in_seconds: u64,
 6031   8214   
    normalize: bool,
 6032   8215   
    region: String,
 6033   8216   
    service: String,
 6034   8217   
    timestamp: String,
 6035   8218   
    #[serde(default)]
 6036   8219   
    omit_session_token: bool,
 6037   8220   
    #[serde(default = "return_true")]
 6038   8221   
    sign_body: bool,
 6039         -
    }
        8222  +
}
 6040   8223   
 6041         -
    impl TestContextBuilder {
        8224  +
impl TestContextBuilder {
 6042   8225   
    pub(crate) fn build(self) -> TestContext {
 6043   8226   
        let identity = Identity::new(
 6044   8227   
            Credentials::from_keys(
 6045   8228   
                &self.credentials.access_key_id,
 6046   8229   
                &self.credentials.secret_access_key,
 6047   8230   
                self.credentials.token.clone(),
 6048   8231   
            ),
 6049   8232   
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 6050   8233   
        );
 6051   8234   
 6052   8235   
        TestContext {
 6053   8236   
            identity,
 6054   8237   
            expiration_in_seconds: self.expiration_in_seconds,
 6055   8238   
            normalize: self.normalize,
 6056   8239   
            region: self.region,
 6057   8240   
            service: self.service,
 6058   8241   
            timestamp: self.timestamp,
 6059   8242   
            omit_session_token: self.omit_session_token,
 6060   8243   
            sign_body: self.sign_body,
 6061   8244   
        }
 6062   8245   
    }
 6063         -
    }
        8246  +
}
 6064   8247   
 6065         -
    #[derive(Deserialize)]
 6066         -
    pub(crate) struct TestContextCreds {
        8248  +
#[derive(serde_derive::Deserialize)]
        8249  +
pub(crate) struct TestContextCreds {
 6067   8250   
    access_key_id: String,
 6068   8251   
    secret_access_key: String,
 6069   8252   
    token: Option<String>,
        8253  +
}
        8254  +
        8255  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        8256  +
    fn from(tc: &'a TestContext) -> Self {
        8257  +
        crate::sign::v4::SigningParams {
        8258  +
            identity: &tc.identity,
        8259  +
            region: &tc.region,
        8260  +
            name: &tc.service,
        8261  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8262  +
                .unwrap()
        8263  +
                .into(),
        8264  +
            settings: SigningSettings {
        8265  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8266  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8267  +
                uri_path_normalization_mode: tc.normalize.into(),
        8268  +
                session_token_mode: if tc.omit_session_token {
        8269  +
                    SessionTokenMode::Exclude
        8270  +
                } else {
        8271  +
                    SessionTokenMode::Include
        8272  +
                },
        8273  +
                payload_checksum_kind: if tc.sign_body {
        8274  +
                    PayloadChecksumKind::XAmzSha256
        8275  +
                } else {
        8276  +
                    PayloadChecksumKind::NoHeader
        8277  +
                },
        8278  +
                ..Default::default()
        8279  +
            },
        8280  +
        }
        8281  +
    }
        8282  +
}
        8283  +
        8284  +
#[cfg(feature = "sigv4a")]
        8285  +
pub(crate) mod v4a {
        8286  +
    use super::*;
        8287  +
    use crate::http_request::{
        8288  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        8289  +
    };
        8290  +
    use crate::sign::v4a;
        8291  +
    use p256::ecdsa::signature::{Signature, Verifier};
        8292  +
    use p256::ecdsa::{DerSignature, SigningKey};
        8293  +
    use std::time::Duration;
        8294  +
    use time::format_description::well_known::Rfc3339;
        8295  +
    use time::OffsetDateTime;
        8296  +
        8297  +
    fn new_v4a_signing_params_from_context(
        8298  +
        test_context: &'_ TestContext,
        8299  +
        signature_location: SignatureLocation,
        8300  +
    ) -> crate::http_request::SigningParams<'_> {
        8301  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        8302  +
        params.settings.signature_location = signature_location;
        8303  +
        params.into()
        8304  +
    }
        8305  +
        8306  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        8307  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        8308  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
        8309  +
    }
        8310  +
        8311  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        8312  +
        let test = SigningSuiteTest::v4a(test_name);
        8313  +
        let tc = test.context();
        8314  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        8315  +
        8316  +
        let req = test.request();
        8317  +
        let expected_creq = test.canonical_request(signature_location);
        8318  +
        let signable_req = SignableRequest::from(&req);
        8319  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8320  +
        8321  +
        assert_eq!(
        8322  +
            expected_creq,
        8323  +
            actual_creq.to_string(),
        8324  +
            "canonical request didn't match (signature location: {signature_location:?})"
        8325  +
        );
        8326  +
        8327  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        8328  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8329  +
        let actual_string_to_sign = StringToSign::new_v4a(
        8330  +
            *params.time(),
        8331  +
            params.region_set().unwrap(),
        8332  +
            params.name(),
        8333  +
            hashed_creq,
        8334  +
        )
        8335  +
        .to_string();
        8336  +
        8337  +
        assert_eq!(
        8338  +
            expected_string_to_sign, actual_string_to_sign,
        8339  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        8340  +
        );
        8341  +
        8342  +
        let out = sign(signable_req, &params).unwrap();
        8343  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        8344  +
        out.output
        8345  +
            .apply_to_request_http0x(&mut req.as_http_request());
        8346  +
        8347  +
        let creds = params.credentials().unwrap();
        8348  +
        let signing_key =
        8349  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        8350  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        8351  +
        let sig = sig
        8352  +
            .try_into()
        8353  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        8354  +
        8355  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        8356  +
        let peer_public_key = signing_key.verifying_key();
        8357  +
        let sts = actual_string_to_sign.as_bytes();
        8358  +
        peer_public_key.verify(sts, &sig).unwrap();
        8359  +
        // TODO(sigv4a) - use public.key.json as verifying key?
        8360  +
    }
        8361  +
        8362  +
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
        8363  +
        fn from(tc: &'a TestContext) -> Self {
        8364  +
            crate::sign::v4a::SigningParams {
        8365  +
                identity: &tc.identity,
        8366  +
                region_set: &tc.region,
        8367  +
                name: &tc.service,
        8368  +
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8369  +
                    .unwrap()
        8370  +
                    .into(),
        8371  +
                settings: SigningSettings {
        8372  +
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8373  +
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8374  +
                    uri_path_normalization_mode: tc.normalize.into(),
        8375  +
                    session_token_mode: if tc.omit_session_token {
        8376  +
                        SessionTokenMode::Exclude
        8377  +
                    } else {
        8378  +
                        SessionTokenMode::Include
        8379  +
                    },
        8380  +
                    payload_checksum_kind: if tc.sign_body {
        8381  +
                        PayloadChecksumKind::XAmzSha256
        8382  +
                    } else {
        8383  +
                        PayloadChecksumKind::NoHeader
        8384  +
                    },
        8385  +
                    ..Default::default()
        8386  +
                },
        8387  +
            }
        8388  +
        }
 6070   8389   
    }
 6071   8390   
 6072   8391   
    #[test]
 6073   8392   
    fn test_parse() {
 6074         -
        let req = test_request("post-header-key-case");
        8393  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 6075   8394   
        assert_eq!(req.method, "POST");
 6076   8395   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6077   8396   
        assert!(req.headers.is_empty());
 6078   8397   
    }
 6079   8398   
 6080   8399   
    #[test]
 6081   8400   
    fn test_read_query_params() {
 6082         -
        let req = test_request("get-header-value-trim");
        8401  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 6083   8402   
        assert_eq!(req.method, "GET");
 6084   8403   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6085   8404   
        assert!(!req.headers.is_empty());
 6086   8405   
    }
 6087   8406   
}
 6088   8407   
 6089   8408   
fn read(path: &str) -> String {
 6090   8409   
    println!("Loading `{}` for test case...", path);
 6091   8410   
    let v = {
 6092   8411   
        match std::fs::read_to_string(path) {
 6093   8412   
            // This replacement is necessary for tests to pass on Windows, as reading the
 6094   8413   
            // test snapshots from the file system results in CRLF line endings being inserted.
 6095   8414   
            Ok(value) => value.replace("\r\n", "\n"),
 6096   8415   
            Err(err) => {
 6097   8416   
                panic!("failed to load test case `{}`: {}", path, err);
 6098   8417   
            }
 6099   8418   
        }
 6100   8419   
    };
 6101   8420   
 6102   8421   
    v.trim().to_string()
 6103   8422   
}
 6104   8423   
 6105   8424   
pub(crate) struct TestRequest {
 6106   8425   
    pub(crate) uri: String,
 6107   8426   
    pub(crate) method: String,
 6108   8427   
    pub(crate) headers: Vec<(String, String)>,
 6109   8428   
    pub(crate) body: TestSignedBody,
 6110   8429   
}
 6111   8430   
 6112   8431   
pub(crate) enum TestSignedBody {
 6113   8432   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 6114   8433   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 6115   8434   
                    )
 6116   8435   
                })
 6117   8436   
                .collect::<Vec<_>>(),
 6118   8437   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 6119   8438   
        }
 6120   8439   
    }
 6121   8440   
}
 6122   8441   
 6123   8442   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 6124   8443   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 6125   8444   
        SignableRequest::new(
 6126   8445   
            &request.method,
 6127   8446   
            &request.uri,
 6128   8447   
            request
 6129   8448   
                .headers
 6130   8449   
                .iter()
 6131   8450   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 6132   8451   
            request.body.as_signable_body(),
 6133   8452   
        )
 6134   8453   
        .expect("URI MUST be valid")
 6135   8454   
    }
 6136   8455   
}
 6137   8456   
 6138   8457   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 6139   8458   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 6140   8459   
    // httparse 1.5 requires two trailing newlines to head the header section.
 6141   8460   
    let mut with_newline = Vec::from(s);
 6142   8461   
    with_newline.push(b'\n');
 6143   8462   
    let mut req = httparse::Request::new(&mut headers);
 6144         -
    let _ = req.parse(&with_newline).unwrap();
        8463  +
    let status = req.parse(&with_newline).unwrap();
        8464  +
        8465  +
    let body = if status.is_complete() {
        8466  +
        let body_offset = status.unwrap();
        8467  +
        // ignore the newline we added, take from original
        8468  +
        &s[body_offset..]
        8469  +
    } else {
        8470  +
        &[]
        8471  +
    };
 6145   8472   
 6146   8473   
    let mut uri_builder = Uri::builder().scheme("https");
 6147   8474   
    if let Some(path) = req.path {
 6148   8475   
        uri_builder = uri_builder.path_and_query(path);
 6149   8476   
    }
 6150   8477   
 6151   8478   
    let mut headers = vec![];
 6152   8479   
    for header in req.headers {
 6153   8480   
        let name = header.name.to_lowercase();
 6154   8481   
        if name == "host" {
 6155   8482   
            uri_builder = uri_builder.authority(header.value);
 6156   8483   
        } else if !name.is_empty() {
 6157   8484   
            headers.push((
 6158   8485   
                header.name.to_string(),
 6159   8486   
                std::str::from_utf8(header.value)?.to_string(),
 6160   8487   
            ));
 6161   8488   
        }
 6162   8489   
    }
 6163   8490   
 6164   8491   
    Ok(TestRequest {
 6165   8492   
        uri: uri_builder.build()?.to_string(),
 6166   8493   
        method: req.method.unwrap().to_string(),
 6167   8494   
        headers,
 6168         -
        body: TestSignedBody::Bytes(vec![]),
        8495  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 6169   8496   
    })
 6170   8497   
}
 6171   8498   
 6172   8499   
#[test]
 6173   8500   
fn test_parse_headers() {
 6174   8501   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 6175   8502   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 6176   8503   
    assert_eq!(
 6177   8504   
        httparse::parse_headers(buf, &mut headers),
 6178   8505   
        Ok(httparse::Status::Complete((
 6179   8506   
            56,
 6180   8507   
            &[
 6181   8508   
                httparse::Header {
 6182   8509   
                    name: "Host",
 6183   8510   
                    value: b"example.amazonaws.com",
 6184   8511   
                },
 6185   8512   
                httparse::Header {
 6186   8513   
                    name: "X-Amz-Date",
 6187   8514   
                    value: b"20150830T123600Z",
 6188   8515   
                }
 6189   8516   
            ][..]
 6190   8517   
        )))
 6191   8518   
    );
 6192   8519   
}
 6193   8520   
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
 6194   8521   
index a208453..fc00249 100644
 6195         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        8522  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 6196   8523   
@@ -168,52 +168,54 @@ pub mod signing_params {
 6197   8524   
        );
 6198   8525   
 6199   8526   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 6200   8527   
        /// a required argument was not given.
 6201   8528   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 6202   8529   
            Ok(SigningParams {
 6203   8530   
                identity: self
 6204   8531   
                    .identity
 6205   8532   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 6206   8533   
                region: self
 6207   8534   
                    .region
 6208   8535   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 6209   8536   
                name: self
 6210   8537   
                    .name
 6211   8538   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 6212   8539   
                time: self
 6213   8540   
                    .time
 6214   8541   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 6215   8542   
                settings: self
 6216   8543   
                    .settings
 6217   8544   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 6218   8545   
            })
 6219   8546   
        }
 6220   8547   
    }
 6221   8548   
}
 6222   8549   
 6223   8550   
#[cfg(test)]
 6224   8551   
mod tests {
 6225   8552   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 6226   8553   
    use crate::date_time::test_parsers::parse_date_time;
 6227         -
    use crate::http_request::test;
 6228   8554   
 6229   8555   
    #[test]
 6230   8556   
    fn test_signature_calculation() {
 6231   8557   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 6232         -
        let creq = test::v4::test_canonical_request("iam");
        8558  +
        let creq = r#"AWS4-HMAC-SHA256
        8559  +
20150830T123600Z
        8560  +
20150830/us-east-1/iam/aws4_request
        8561  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 6233   8562   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6234   8563   
 6235   8564   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 6236   8565   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 6237   8566   
 6238   8567   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 6239   8568   
        assert_eq!(expected, &signature);
 6240   8569   
    }
 6241   8570   
 6242   8571   
    #[test]
 6243   8572   
    fn sign_payload_empty_string() {
 6244   8573   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 6245   8574   
        let actual = sha256_hex_string([]);
 6246   8575   
        assert_eq!(expected, actual);
 6247   8576   
    }
 6248   8577   
}
 6249   8578   
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
 6250   8579   
index ce78c38..8c2f591 100644
 6251         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        8580  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 6252   8581   
@@ -1,43 +1,43 @@
 6253   8582   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6254   8583   
[package]
 6255   8584   
name = "aws-smithy-checksums"
 6256   8585   
version = "0.63.5"
 6257   8586   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 6258   8587   
description = "Checksum calculation and verification callbacks"
 6259   8588   
edition = "2021"
 6260   8589   
license = "Apache-2.0"
 6261   8590   
repository = "https://github.com/smithy-lang/smithy-rs"
 6262   8591   
[package.metadata.docs.rs]
 6263   8592   
all-features = true
 6264   8593   
targets = ["x86_64-unknown-linux-gnu"]
 6265   8594   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6266   8595   
rustdoc-args = ["--cfg", "docsrs"]
 6267   8596   
 6268   8597   
[dependencies]
 6269   8598   
bytes = "1.10.0"
 6270   8599   
crc-fast = "1.3.0"
 6271   8600   
hex = "0.4.3"
 6272   8601   
http = "0.2.9"
 6273   8602   
http-body = "0.4.5"
 6274   8603   
md-5 = "0.10"
 6275   8604   
pin-project-lite = "0.2.14"
 6276   8605   
sha1 = "0.10"
 6277   8606   
sha2 = "0.10"
 6278   8607   
tracing = "0.1.40"
 6279   8608   
 6280   8609   
[dependencies.aws-smithy-http]
 6281   8610   
path = "../aws-smithy-http"
 6282         -
version = "0.62.2"
        8611  +
version = "0.62.3"
 6283   8612   
 6284   8613   
[dependencies.aws-smithy-types]
 6285   8614   
path = "../aws-smithy-types"
 6286   8615   
version = "1.3.2"
 6287   8616   
 6288   8617   
[dev-dependencies]
 6289   8618   
bytes-utils = "0.1.2"
 6290   8619   
pretty_assertions = "1.3"
 6291   8620   
tracing-test = "0.2.1"
 6292   8621   
 6293   8622   
[dev-dependencies.tokio]
 6294   8623   
version = "1.23.1"
 6295   8624   
features = ["macros", "rt"]
 6296   8625   
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
 6297   8626   
index 970c99e..d3c7a49 100644
 6298         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        8627  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 6299   8628   
@@ -1,34 +1,34 @@
 6300   8629   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6301   8630   
[package]
 6302   8631   
name = "aws-smithy-http"
 6303         -
version = "0.62.2"
        8632  +
version = "0.62.3"
 6304   8633   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6305   8634   
description = "Smithy HTTP logic for smithy-rs."
 6306   8635   
edition = "2021"
 6307   8636   
license = "Apache-2.0"
 6308   8637   
repository = "https://github.com/smithy-lang/smithy-rs"
 6309   8638   
[package.metadata.docs.rs]
 6310   8639   
all-features = true
 6311   8640   
targets = ["x86_64-unknown-linux-gnu"]
 6312   8641   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6313   8642   
rustdoc-args = ["--cfg", "docsrs"]
 6314   8643   
 6315   8644   
[features]
 6316   8645   
event-stream = ["aws-smithy-eventstream"]
 6317   8646   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 6318   8647   
 6319   8648   
[dependencies]
 6320   8649   
bytes = "1.10.0"
 6321   8650   
bytes-utils = "0.1"
 6322   8651   
percent-encoding = "2.3.1"
 6323   8652   
pin-project-lite = "0.2.14"
 6324   8653   
pin-utils = "0.1.0"
 6325   8654   
tracing = "0.1.40"
 6326   8655   
futures-core = "0.3.31"
 6327   8656   
 6328   8657   
[dependencies.aws-smithy-eventstream]
 6329   8658   
path = "../aws-smithy-eventstream"
 6330   8659   
optional = true
 6331   8660   
version = "0.60.10"
 6332   8661   
 6333   8662   
[dependencies.aws-smithy-runtime-api]
 6334   8663   
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
 6335   8664   
index 508f7a2..361545e 100644
 6336         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        8665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 6337   8666   
@@ -1,27 +1,27 @@
 6338   8667   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6339   8668   
[[bin]]
 6340   8669   
name = "read_many_from_str"
 6341   8670   
path = "fuzz_targets/read_many_from_str.rs"
 6342   8671   
test = false
 6343   8672   
doc = false
 6344   8673   
 6345   8674   
[package]
 6346   8675   
name = "aws-smithy-http-fuzz"
 6347   8676   
version = "0.0.0"
 6348   8677   
authors = ["Automatically generated"]
 6349   8678   
publish = false
 6350   8679   
edition = "2021"
 6351   8680   
 6352   8681   
[package.metadata]
 6353   8682   
cargo-fuzz = true
 6354   8683   
 6355   8684   
[dependencies]
 6356   8685   
libfuzzer-sys = "=0.4.7"
 6357   8686   
http = "0.2.3"
 6358   8687   
 6359   8688   
[dependencies.aws-smithy-http]
 6360   8689   
path = ".."
 6361         -
version = "0.62.2"
        8690  +
version = "0.62.3"
 6362   8691   
 6363   8692   
[workspace]
 6364   8693   
members = ["."]
 6365   8694   
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
 6366   8695   
index fef41d0..2792229 100644
 6367         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        8696  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 6368   8697   
@@ -25,68 +25,74 @@ impl QueryWriter {
 6369   8698   
    pub fn new(uri: &Uri) -> Self {
 6370   8699   
        let new_path_and_query = uri
 6371   8700   
            .path_and_query()
 6372   8701   
            .map(|pq| pq.to_string())
 6373   8702   
            .unwrap_or_default();
 6374   8703   
        let prefix = if uri.query().is_none() {
 6375   8704   
            Some('?')
 6376   8705   
        } else if !uri.query().unwrap_or_default().is_empty() {
 6377   8706   
            Some('&')
 6378   8707   
        } else {
 6379   8708   
            None
 6380   8709   
        };
 6381   8710   
        QueryWriter {
 6382   8711   
            base_uri: uri.clone(),
 6383   8712   
            new_path_and_query,
 6384   8713   
            prefix,
 6385   8714   
        }
 6386   8715   
    }
 6387   8716   
 6388   8717   
    /// Clears all query parameters.
 6389   8718   
    pub fn clear_params(&mut self) {
 6390   8719   
        if let Some(index) = self.new_path_and_query.find('?') {
 6391   8720   
            self.new_path_and_query.truncate(index);
 6392   8721   
            self.prefix = Some('?');
 6393   8722   
        }
 6394   8723   
    }
 6395   8724   
 6396   8725   
    /// Inserts a new query parameter. The key and value are percent encoded
 6397   8726   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 6398   8727   
    pub fn insert(&mut self, k: &str, v: &str) {
        8728  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        8729  +
    }
        8730  +
    
        8731  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        8732  +
    /// as is.
        8733  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 6399   8734   
        if let Some(prefix) = self.prefix {
 6400   8735   
            self.new_path_and_query.push(prefix);
 6401   8736   
        }
 6402   8737   
        self.prefix = Some('&');
 6403         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        8738  +
        self.new_path_and_query.push_str(encoded_k);
 6404   8739   
        self.new_path_and_query.push('=');
        8740  +
        self.new_path_and_query.push_str(encoded_v)
 6405   8741   
        
 6406         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
 6407   8742   
    }
 6408   8743   
 6409   8744   
    /// Returns just the built query string.
 6410   8745   
    pub fn build_query(self) -> String {
 6411   8746   
        self.build_uri().query().unwrap_or_default().to_string()
 6412   8747   
    }
 6413   8748   
 6414   8749   
    /// Returns a full [`Uri`] with the query string updated.
 6415   8750   
    pub fn build_uri(self) -> Uri {
 6416   8751   
        let mut parts = self.base_uri.into_parts();
 6417   8752   
        parts.path_and_query = Some(
 6418   8753   
            self.new_path_and_query
 6419   8754   
                .parse()
 6420   8755   
                .expect("adding query should not invalidate URI"),
 6421   8756   
        );
 6422   8757   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 6423   8758   
    }
 6424   8759   
}
 6425   8760   
 6426   8761   
#[cfg(test)]
 6427   8762   
mod test {
 6428   8763   
    use super::QueryWriter;
 6429   8764   
    use http_02x::Uri;
 6430   8765   
 6431   8766   
    #[test]
 6432   8767   
    fn empty_uri() {
 6433   8768   
        let uri = Uri::from_static("http://www.example.com");
 6434   8769   
        let mut query_writer = QueryWriter::new(&uri);
 6435   8770   
        query_writer.insert("key", "val%ue");
 6436   8771   
        query_writer.insert("another", "value");
 6437   8772   
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
 6438   8773   
index f108978..df7a9fe 100644
 6439         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
        8774  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 6440   8775   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 6441   8776   
 6442   8777   
[package.metadata.smithy-rs-release-tooling]
 6443   8778   
stable = true
 6444   8779   
[package.metadata.cargo-udeps.ignore]
 6445   8780   
normal = ["aws-smithy-http"]
 6446   8781   
 6447   8782   
[features]
 6448   8783   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 6449   8784   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 6450   8785   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 6451   8786   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 6452   8787   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 6453   8788   
rt-tokio = ["tokio/rt"]
 6454   8789   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 6455   8790   
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"]
 6456   8791   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 6457   8792   
 6458   8793   
[dependencies]
 6459   8794   
bytes = "1.10.0"
 6460   8795   
fastrand = "2.3.0"
 6461   8796   
pin-project-lite = "0.2.14"
 6462   8797   
pin-utils = "0.1.0"
 6463   8798   
tracing = "0.1.40"
 6464   8799   
 6465   8800   
[dependencies.aws-smithy-async]
 6466   8801   
path = "../aws-smithy-async"
 6467   8802   
version = "1.2.5"
 6468   8803   
 6469   8804   
[dependencies.aws-smithy-http]
 6470   8805   
path = "../aws-smithy-http"
 6471         -
version = "0.62.2"
        8806  +
version = "0.62.3"
 6472   8807   
 6473   8808   
[dependencies.aws-smithy-observability]
 6474   8809   
path = "../aws-smithy-observability"
 6475   8810   
version = "0.1.3"
 6476   8811   
 6477   8812   
[dependencies.aws-smithy-runtime-api]
 6478   8813   
path = "../aws-smithy-runtime-api"
 6479   8814   
version = "1.8.5"
 6480   8815   
 6481   8816   
[dependencies.aws-smithy-types]
 6482   8817   
path = "../aws-smithy-types"
 6483   8818   
features = ["http-body-0-4-x"]
 6484   8819   
version = "1.3.2"
 6485   8820   
 6486   8821   
[dependencies.aws-smithy-http-client]
 6487   8822   
path = "../aws-smithy-http-client"
 6488   8823   
optional = true
 6489   8824   
version = "1.0.6"
 6490   8825   
 6491   8826   
[dependencies.http-02x]
 6492   8827   
package = "http"
 6493   8828   
version = "0.2.9"
 6494   8829   
 6495   8830   
[dependencies.http-1x]
 6496   8831   
package = "http"
 6497   8832   
version = "1"
 6498   8833   
 6499   8834   
[dependencies.http-body-04x]
 6500   8835   
package = "http-body"
 6501   8836   
version = "0.4.5"
 6502   8837   
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
 6503   8838   
index 4e050c6..f58eb1c 100644
 6504         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
        8839  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 6505   8840   
@@ -1,33 +1,33 @@
 6506   8841   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6507   8842   
[package]
 6508   8843   
name = "aws-smithy-wasm"
 6509   8844   
version = "0.1.4"
 6510   8845   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 6511   8846   
description = "Smithy WebAssembly configuration for smithy-rs."
 6512   8847   
edition = "2021"
 6513   8848   
license = "Apache-2.0"
 6514   8849   
repository = "https://github.com/awslabs/smithy-rs"
 6515   8850   
[package.metadata.docs.rs]
 6516   8851   
all-features = true
 6517   8852   
targets = ["x86_64-unknown-linux-gnu"]
 6518   8853   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6519   8854   
rustdoc-args = ["--cfg", "docsrs"]
 6520   8855   
 6521   8856   
[dependencies]
 6522   8857   
bytes = "1.10.0"
 6523   8858   
http = "1.0.0"
 6524   8859   
tracing = "0.1.40"
 6525   8860   
wasi = "0.12.1"
 6526   8861   
 6527   8862   
[dependencies.aws-smithy-runtime-api]
 6528   8863   
path = "../aws-smithy-runtime-api"
 6529   8864   
features = ["http-1x"]
 6530   8865   
version = "1.8.5"
 6531   8866   
 6532   8867   
[dependencies.aws-smithy-http]
 6533   8868   
path = "../aws-smithy-http"
 6534         -
version = "0.62.2"
        8869  +
version = "0.62.3"
 6535   8870   
 6536   8871   
[dependencies.aws-smithy-types]
 6537   8872   
path = "../aws-smithy-types"
 6538   8873   
version = "1.3.2"
 6539   8874   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6540   8875   
index a880648..139e808 100644
 6541         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
        8876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6542   8877   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 6543   8878   
edition = "2021"
 6544   8879   
license = "Apache-2.0"
 6545   8880   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6546   8881   
rust-version = "1.86.0"
 6547   8882   
readme = "README.md"
 6548   8883   
[package.metadata.smithy]
 6549   8884   
codegen-version = "ci"
 6550   8885   
[package.metadata.docs.rs]
 6551   8886   
all-features = true
 6552   8887   
targets = ["x86_64-unknown-linux-gnu"]
 6553   8888   
[dependencies.aws-credential-types]
 6554   8889   
path = "../aws-credential-types"
 6555   8890   
version = "1.2.4"
 6556   8891   
 6557   8892   
[dependencies.aws-runtime]
 6558   8893   
path = "../aws-runtime"
 6559   8894   
features = ["event-stream"]
 6560   8895   
version = "1.5.9"
 6561   8896   
 6562   8897   
[dependencies.aws-smithy-async]
 6563   8898   
path = "../aws-smithy-async"
 6564   8899   
version = "1.2.5"
 6565   8900   
 6566   8901   
[dependencies.aws-smithy-eventstream]
 6567   8902   
path = "../aws-smithy-eventstream"
 6568   8903   
version = "0.60.10"
 6569   8904   
 6570   8905   
[dependencies.aws-smithy-http]
 6571   8906   
path = "../aws-smithy-http"
 6572   8907   
features = ["event-stream"]
 6573         -
version = "0.62.2"
        8908  +
version = "0.62.3"
 6574   8909   
 6575   8910   
[dependencies.aws-smithy-json]
 6576   8911   
path = "../aws-smithy-json"
 6577   8912   
version = "0.61.4"
 6578   8913   
 6579   8914   
[dependencies.aws-smithy-runtime]
 6580   8915   
path = "../aws-smithy-runtime"
 6581   8916   
features = ["client"]
 6582   8917   
version = "1.8.5"
 6583   8918   
 6584   8919   
[dependencies.aws-smithy-runtime-api]
 6585   8920   
path = "../aws-smithy-runtime-api"
 6586   8921   
features = ["client", "http-02x"]
 6587   8922   
version = "1.8.5"
 6588   8923   
 6589   8924   
[dependencies.aws-smithy-types]
 6590   8925   
path = "../aws-smithy-types"
 6591   8926   
version = "1.3.2"
 6592   8927   
 6593   8928   
[dependencies.aws-types]
 6594   8929   
path = "../aws-types"
 6595   8930   
version = "1.3.8"
 6596   8931   
 6597   8932   
[dependencies.bytes]
 6598   8933   
version = "1.4.0"
 6599   8934   
 6600   8935   
[dependencies.fastrand]
 6601   8936   
version = "2.0.0"
 6602   8937   
 6603   8938   
[dependencies.http]
 6604   8939   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6605   8940   
index 415ecc9..667d12b 100644
 6606         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
        8941  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6607   8942   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 6608   8943   
edition = "2021"
 6609   8944   
license = "Apache-2.0"
 6610   8945   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6611   8946   
rust-version = "1.86.0"
 6612   8947   
readme = "README.md"
 6613   8948   
[package.metadata.smithy]
 6614   8949   
codegen-version = "ci"
 6615   8950   
[package.metadata.docs.rs]
 6616   8951   
all-features = true
 6617   8952   
targets = ["x86_64-unknown-linux-gnu"]
 6618   8953   
[dependencies.aws-credential-types]
 6619   8954   
path = "../aws-credential-types"
 6620   8955   
version = "1.2.4"
 6621   8956   
 6622   8957   
[dependencies.aws-runtime]
 6623   8958   
path = "../aws-runtime"
 6624   8959   
features = ["event-stream"]
 6625   8960   
version = "1.5.9"
 6626   8961   
 6627   8962   
[dependencies.aws-smithy-async]
 6628   8963   
path = "../aws-smithy-async"
 6629   8964   
version = "1.2.5"
 6630   8965   
 6631   8966   
[dependencies.aws-smithy-eventstream]
 6632   8967   
path = "../aws-smithy-eventstream"
 6633   8968   
version = "0.60.10"
 6634   8969   
 6635   8970   
[dependencies.aws-smithy-http]
 6636   8971   
path = "../aws-smithy-http"
 6637   8972   
features = ["event-stream"]
 6638         -
version = "0.62.2"
        8973  +
version = "0.62.3"
 6639   8974   
 6640   8975   
[dependencies.aws-smithy-json]
 6641   8976   
path = "../aws-smithy-json"
 6642   8977   
version = "0.61.4"
 6643   8978   
 6644   8979   
[dependencies.aws-smithy-runtime]
 6645   8980   
path = "../aws-smithy-runtime"
 6646   8981   
features = ["client"]
 6647   8982   
version = "1.8.5"
 6648   8983   
 6649   8984   
[dependencies.aws-smithy-runtime-api]
 6650   8985   
path = "../aws-smithy-runtime-api"
 6651   8986   
features = ["client", "http-02x"]
 6652   8987   
version = "1.8.5"
 6653   8988   
 6654   8989   
[dependencies.aws-smithy-types]
 6655   8990   
path = "../aws-smithy-types"
 6656   8991   
version = "1.3.2"
 6657   8992   
 6658   8993   
[dependencies.aws-types]
 6659   8994   
path = "../aws-types"
 6660   8995   
version = "1.3.8"
 6661   8996   
 6662   8997   
[dependencies.bytes]
 6663   8998   
version = "1.4.0"
 6664   8999   
 6665   9000   
[dependencies.fastrand]
 6666   9001   
version = "2.0.0"
 6667   9002   
 6668   9003   
[dependencies.http]
 6669   9004   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6670   9005   
index 8871cab..ed88de6 100644
 6671         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
        9006  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6672   9007   
@@ -1,61 +1,61 @@
 6673   9008   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6674   9009   
[package]
 6675   9010   
name = "aws-sdk-codecatalyst"
 6676   9011   
version = "0.0.0-local"
 6677   9012   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6678   9013   
description = "AWS SDK for Amazon CodeCatalyst"
 6679   9014   
edition = "2021"
 6680   9015   
license = "Apache-2.0"
 6681   9016   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6682   9017   
rust-version = "1.86.0"
 6683   9018   
readme = "README.md"
 6684   9019   
[package.metadata.smithy]
 6685   9020   
codegen-version = "ci"
 6686   9021   
[package.metadata.docs.rs]
 6687   9022   
all-features = true
 6688   9023   
targets = ["x86_64-unknown-linux-gnu"]
 6689   9024   
[dependencies.aws-credential-types]
 6690   9025   
path = "../aws-credential-types"
 6691   9026   
version = "1.2.4"
 6692   9027   
 6693   9028   
[dependencies.aws-runtime]
 6694   9029   
path = "../aws-runtime"
 6695   9030   
version = "1.5.9"
 6696   9031   
 6697   9032   
[dependencies.aws-smithy-async]
 6698   9033   
path = "../aws-smithy-async"
 6699   9034   
version = "1.2.5"
 6700   9035   
 6701   9036   
[dependencies.aws-smithy-http]
 6702   9037   
path = "../aws-smithy-http"
 6703         -
version = "0.62.2"
        9038  +
version = "0.62.3"
 6704   9039   
 6705   9040   
[dependencies.aws-smithy-json]
 6706   9041   
path = "../aws-smithy-json"
 6707   9042   
version = "0.61.4"
 6708   9043   
 6709   9044   
[dependencies.aws-smithy-runtime]
 6710   9045   
path = "../aws-smithy-runtime"
 6711   9046   
features = ["client", "http-auth"]
 6712   9047   
version = "1.8.5"
 6713   9048   
 6714   9049   
[dependencies.aws-smithy-runtime-api]
 6715   9050   
path = "../aws-smithy-runtime-api"
 6716   9051   
features = ["client", "http-02x", "http-auth"]
 6717   9052   
version = "1.8.5"
 6718   9053   
 6719   9054   
[dependencies.aws-smithy-types]
 6720   9055   
path = "../aws-smithy-types"
 6721   9056   
version = "1.3.2"
 6722   9057   
 6723   9058   
[dependencies.aws-types]
 6724   9059   
path = "../aws-types"
 6725   9060   
version = "1.3.8"
 6726   9061   
 6727   9062   
[dependencies.bytes]
 6728   9063   
version = "1.4.0"
 6729   9064   
 6730   9065   
[dependencies.fastrand]
 6731   9066   
version = "2.0.0"
 6732   9067   
 6733   9068   
[dependencies.http]
 6734   9069   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6735   9070   
index 89573ff..05238af 100644
 6736         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
        9071  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6737   9072   
@@ -1,61 +1,61 @@
 6738   9073   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6739   9074   
[package]
 6740   9075   
name = "aws-sdk-config"
 6741   9076   
version = "0.0.0-local"
 6742   9077   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6743   9078   
description = "AWS SDK for AWS Config"
 6744   9079   
edition = "2021"
 6745   9080   
license = "Apache-2.0"
 6746   9081   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6747   9082   
rust-version = "1.86.0"
 6748   9083   
readme = "README.md"
 6749   9084   
[package.metadata.smithy]
 6750   9085   
codegen-version = "ci"
 6751   9086   
[package.metadata.docs.rs]
 6752   9087   
all-features = true
 6753   9088   
targets = ["x86_64-unknown-linux-gnu"]
 6754   9089   
[dependencies.aws-credential-types]
 6755   9090   
path = "../aws-credential-types"
 6756   9091   
version = "1.2.4"
 6757   9092   
 6758   9093   
[dependencies.aws-runtime]
 6759   9094   
path = "../aws-runtime"
 6760   9095   
version = "1.5.9"
 6761   9096   
 6762   9097   
[dependencies.aws-smithy-async]
 6763   9098   
path = "../aws-smithy-async"
 6764   9099   
version = "1.2.5"
 6765   9100   
 6766   9101   
[dependencies.aws-smithy-http]
 6767   9102   
path = "../aws-smithy-http"
 6768         -
version = "0.62.2"
        9103  +
version = "0.62.3"
 6769   9104   
 6770   9105   
[dependencies.aws-smithy-json]
 6771   9106   
path = "../aws-smithy-json"
 6772   9107   
version = "0.61.4"
 6773   9108   
 6774   9109   
[dependencies.aws-smithy-runtime]
 6775   9110   
path = "../aws-smithy-runtime"
 6776   9111   
features = ["client"]
 6777   9112   
version = "1.8.5"
 6778   9113   
 6779   9114   
[dependencies.aws-smithy-runtime-api]
 6780   9115   
path = "../aws-smithy-runtime-api"
 6781   9116   
features = ["client", "http-02x"]
 6782   9117   
version = "1.8.5"
 6783   9118   
 6784   9119   
[dependencies.aws-smithy-types]
 6785   9120   
path = "../aws-smithy-types"
 6786   9121   
version = "1.3.2"
 6787   9122   
 6788   9123   
[dependencies.aws-types]
 6789   9124   
path = "../aws-types"
 6790   9125   
version = "1.3.8"
 6791   9126   
 6792   9127   
[dependencies.bytes]
 6793   9128   
version = "1.4.0"
 6794   9129   
 6795   9130   
[dependencies.fastrand]
 6796   9131   
version = "2.0.0"
 6797   9132   
 6798   9133   
[dependencies.http]
 6799   9134   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 6800   9135   
index d397c58..2c1062b 100644
 6801         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
        9136  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 6802   9137   
@@ -1,61 +1,61 @@
 6803   9138   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6804   9139   
[package]
 6805   9140   
name = "aws-sdk-dynamodb"
 6806   9141   
version = "0.0.0-local"
 6807   9142   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6808   9143   
description = "AWS SDK for Amazon DynamoDB"
 6809   9144   
edition = "2021"
 6810   9145   
license = "Apache-2.0"
 6811   9146   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6812   9147   
rust-version = "1.86.0"
 6813   9148   
readme = "README.md"
 6814   9149   
[package.metadata.smithy]
 6815   9150   
codegen-version = "ci"
 6816   9151   
[package.metadata.docs.rs]
 6817   9152   
all-features = true
 6818   9153   
targets = ["x86_64-unknown-linux-gnu"]
 6819   9154   
[dependencies.aws-credential-types]
 6820   9155   
path = "../aws-credential-types"
 6821   9156   
version = "1.2.4"
 6822   9157   
 6823   9158   
[dependencies.aws-runtime]
 6824   9159   
path = "../aws-runtime"
 6825   9160   
version = "1.5.9"
 6826   9161   
 6827   9162   
[dependencies.aws-smithy-async]
 6828   9163   
path = "../aws-smithy-async"
 6829   9164   
version = "1.2.5"
 6830   9165   
 6831   9166   
[dependencies.aws-smithy-http]
 6832   9167   
path = "../aws-smithy-http"
 6833         -
version = "0.62.2"
        9168  +
version = "0.62.3"
 6834   9169   
 6835   9170   
[dependencies.aws-smithy-json]
 6836   9171   
path = "../aws-smithy-json"
 6837   9172   
version = "0.61.4"
 6838   9173   
 6839   9174   
[dependencies.aws-smithy-runtime]
 6840   9175   
path = "../aws-smithy-runtime"
 6841   9176   
features = ["client"]
 6842   9177   
version = "1.8.5"
 6843   9178   
 6844   9179   
[dependencies.aws-smithy-runtime-api]
 6845   9180   
path = "../aws-smithy-runtime-api"
 6846   9181   
features = ["client", "http-02x"]
 6847   9182   
version = "1.8.5"
 6848   9183   
 6849   9184   
[dependencies.aws-smithy-types]
 6850   9185   
path = "../aws-smithy-types"
 6851   9186   
version = "1.3.2"
 6852   9187   
 6853   9188   
[dependencies.aws-types]
 6854   9189   
path = "../aws-types"
 6855   9190   
version = "1.3.8"
 6856   9191   
 6857   9192   
[dependencies.bytes]
 6858   9193   
version = "1.4.0"
 6859   9194   
 6860   9195   
[dependencies.fastrand]
 6861   9196   
version = "2.0.0"
 6862   9197   
 6863   9198   
[dependencies.http]
 6864   9199   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 6865   9200   
index c0ba315..46168af 100644
 6866         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
        9201  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 6867   9202   
@@ -1,61 +1,61 @@
 6868   9203   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6869   9204   
[package]
 6870   9205   
name = "aws-sdk-ec2"
 6871   9206   
version = "0.0.0-local"
 6872   9207   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6873   9208   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 6874   9209   
edition = "2021"
 6875   9210   
license = "Apache-2.0"
 6876   9211   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6877   9212   
rust-version = "1.86.0"
 6878   9213   
readme = "README.md"
 6879   9214   
[package.metadata.smithy]
 6880   9215   
codegen-version = "ci"
 6881   9216   
[package.metadata.docs.rs]
 6882   9217   
all-features = true
 6883   9218   
targets = ["x86_64-unknown-linux-gnu"]
 6884   9219   
[dependencies.aws-credential-types]
 6885   9220   
path = "../aws-credential-types"
 6886   9221   
version = "1.2.4"
 6887   9222   
 6888   9223   
[dependencies.aws-runtime]
 6889   9224   
path = "../aws-runtime"
 6890   9225   
version = "1.5.9"
 6891   9226   
 6892   9227   
[dependencies.aws-smithy-async]
 6893   9228   
path = "../aws-smithy-async"
 6894   9229   
version = "1.2.5"
 6895   9230   
 6896   9231   
[dependencies.aws-smithy-http]
 6897   9232   
path = "../aws-smithy-http"
 6898         -
version = "0.62.2"
        9233  +
version = "0.62.3"
 6899   9234   
 6900   9235   
[dependencies.aws-smithy-json]
 6901   9236   
path = "../aws-smithy-json"
 6902   9237   
version = "0.61.4"
 6903   9238   
 6904   9239   
[dependencies.aws-smithy-query]
 6905   9240   
path = "../aws-smithy-query"
 6906   9241   
version = "0.60.7"
 6907   9242   
 6908   9243   
[dependencies.aws-smithy-runtime]
 6909   9244   
path = "../aws-smithy-runtime"
 6910   9245   
features = ["client"]
 6911   9246   
version = "1.8.5"
 6912   9247   
 6913   9248   
[dependencies.aws-smithy-runtime-api]
 6914   9249   
path = "../aws-smithy-runtime-api"
 6915   9250   
features = ["client", "http-02x"]
 6916   9251   
version = "1.8.5"
 6917   9252   
 6918   9253   
[dependencies.aws-smithy-types]
 6919   9254   
path = "../aws-smithy-types"
 6920   9255   
version = "1.3.2"
 6921   9256   
 6922   9257   
[dependencies.aws-smithy-xml]
 6923   9258   
path = "../aws-smithy-xml"
 6924   9259   
version = "0.60.10"
 6925   9260   
 6926   9261   
[dependencies.aws-types]
 6927   9262   
path = "../aws-types"
 6928   9263   
version = "1.3.8"
 6929   9264   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 6930   9265   
index 4474d17..095d40e 100644
 6931         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
        9266  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 6932   9267   
@@ -1,61 +1,61 @@
 6933   9268   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6934   9269   
[package]
 6935   9270   
name = "aws-sdk-ecs"
 6936   9271   
version = "0.0.0-local"
 6937   9272   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6938   9273   
description = "AWS SDK for Amazon EC2 Container Service"
 6939   9274   
edition = "2021"
 6940   9275   
license = "Apache-2.0"
 6941   9276   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6942   9277   
rust-version = "1.86.0"
 6943   9278   
readme = "README.md"
 6944   9279   
[package.metadata.smithy]
 6945   9280   
codegen-version = "ci"
 6946   9281   
[package.metadata.docs.rs]
 6947   9282   
all-features = true
 6948   9283   
targets = ["x86_64-unknown-linux-gnu"]
 6949   9284   
[dependencies.aws-credential-types]
 6950   9285   
path = "../aws-credential-types"
 6951   9286   
version = "1.2.4"
 6952   9287   
 6953   9288   
[dependencies.aws-runtime]
 6954   9289   
path = "../aws-runtime"
 6955   9290   
version = "1.5.9"
 6956   9291   
 6957   9292   
[dependencies.aws-smithy-async]
 6958   9293   
path = "../aws-smithy-async"
 6959   9294   
version = "1.2.5"
 6960   9295   
 6961   9296   
[dependencies.aws-smithy-http]
 6962   9297   
path = "../aws-smithy-http"
 6963         -
version = "0.62.2"
        9298  +
version = "0.62.3"
 6964   9299   
 6965   9300   
[dependencies.aws-smithy-json]
 6966   9301   
path = "../aws-smithy-json"
 6967   9302   
version = "0.61.4"
 6968   9303   
 6969   9304   
[dependencies.aws-smithy-runtime]
 6970   9305   
path = "../aws-smithy-runtime"
 6971   9306   
features = ["client"]
 6972   9307   
version = "1.8.5"
 6973   9308   
 6974   9309   
[dependencies.aws-smithy-runtime-api]
 6975   9310   
path = "../aws-smithy-runtime-api"
 6976   9311   
features = ["client", "http-02x"]
 6977   9312   
version = "1.8.5"
 6978   9313   
 6979   9314   
[dependencies.aws-smithy-types]
 6980   9315   
path = "../aws-smithy-types"
 6981   9316   
version = "1.3.2"
 6982   9317   
 6983   9318   
[dependencies.aws-types]
 6984   9319   
path = "../aws-types"
 6985   9320   
version = "1.3.8"
 6986   9321   
 6987   9322   
[dependencies.bytes]
 6988   9323   
version = "1.4.0"
 6989   9324   
 6990   9325   
[dependencies.fastrand]
 6991   9326   
version = "2.0.0"
 6992   9327   
 6993   9328   
[dependencies.http]
 6994   9329   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 6995   9330   
index 15b1d77..16d7d89 100644
 6996         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
        9331  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 6997   9332   
@@ -1,65 +1,65 @@
 6998   9333   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6999   9334   
[package]
 7000   9335   
name = "aws-sdk-glacier"
 7001   9336   
version = "0.0.0-local"
 7002   9337   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7003   9338   
description = "AWS SDK for Amazon Glacier"
 7004   9339   
edition = "2021"
 7005   9340   
license = "Apache-2.0"
 7006   9341   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7007   9342   
rust-version = "1.86.0"
 7008   9343   
readme = "README.md"
 7009   9344   
[package.metadata.smithy]
 7010   9345   
codegen-version = "ci"
 7011   9346   
[package.metadata.docs.rs]
 7012   9347   
all-features = true
 7013   9348   
targets = ["x86_64-unknown-linux-gnu"]
 7014   9349   
[dependencies.aws-credential-types]
 7015   9350   
path = "../aws-credential-types"
 7016   9351   
version = "1.2.4"
 7017   9352   
 7018   9353   
[dependencies.aws-runtime]
 7019   9354   
path = "../aws-runtime"
 7020   9355   
version = "1.5.9"
 7021   9356   
 7022   9357   
[dependencies.aws-sigv4]
 7023   9358   
path = "../aws-sigv4"
 7024         -
version = "1.3.3"
        9359  +
version = "1.3.4"
 7025   9360   
 7026   9361   
[dependencies.aws-smithy-async]
 7027   9362   
path = "../aws-smithy-async"
 7028   9363   
version = "1.2.5"
 7029   9364   
 7030   9365   
[dependencies.aws-smithy-http]
 7031   9366   
path = "../aws-smithy-http"
 7032         -
version = "0.62.2"
        9367  +
version = "0.62.3"
 7033   9368   
 7034   9369   
[dependencies.aws-smithy-json]
 7035   9370   
path = "../aws-smithy-json"
 7036   9371   
version = "0.61.4"
 7037   9372   
 7038   9373   
[dependencies.aws-smithy-runtime]
 7039   9374   
path = "../aws-smithy-runtime"
 7040   9375   
features = ["client"]
 7041   9376   
version = "1.8.5"
 7042   9377   
 7043   9378   
[dependencies.aws-smithy-runtime-api]
 7044   9379   
path = "../aws-smithy-runtime-api"
 7045   9380   
features = ["client", "http-02x"]
 7046   9381   
version = "1.8.5"
 7047   9382   
 7048   9383   
[dependencies.aws-smithy-types]
 7049   9384   
path = "../aws-smithy-types"
 7050   9385   
version = "1.3.2"
 7051   9386   
 7052   9387   
[dependencies.aws-types]
 7053   9388   
path = "../aws-types"
 7054   9389   
version = "1.3.8"
 7055   9390   
 7056   9391   
[dependencies.bytes]
 7057   9392   
version = "1.4.0"
 7058   9393   
 7059   9394   
[dependencies.fastrand]
 7060   9395   
version = "2.0.0"
 7061   9396   
 7062   9397   
[dependencies.hex]
 7063   9398   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7064   9399   
index d718a3a..65e6f24 100644
 7065         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
        9400  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7066   9401   
@@ -1,61 +1,61 @@
 7067   9402   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7068   9403   
[package]
 7069   9404   
name = "aws-sdk-iam"
 7070   9405   
version = "0.0.0-local"
 7071   9406   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7072   9407   
description = "AWS SDK for AWS Identity and Access Management"
 7073   9408   
edition = "2021"
 7074   9409   
license = "Apache-2.0"
 7075   9410   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7076   9411   
rust-version = "1.86.0"
 7077   9412   
readme = "README.md"
 7078   9413   
[package.metadata.smithy]
 7079   9414   
codegen-version = "ci"
 7080   9415   
[package.metadata.docs.rs]
 7081   9416   
all-features = true
 7082   9417   
targets = ["x86_64-unknown-linux-gnu"]
 7083   9418   
[dependencies.aws-credential-types]
 7084   9419   
path = "../aws-credential-types"
 7085   9420   
version = "1.2.4"
 7086   9421   
 7087   9422   
[dependencies.aws-runtime]
 7088   9423   
path = "../aws-runtime"
 7089   9424   
version = "1.5.9"
 7090   9425   
 7091   9426   
[dependencies.aws-smithy-async]
 7092   9427   
path = "../aws-smithy-async"
 7093   9428   
version = "1.2.5"
 7094   9429   
 7095   9430   
[dependencies.aws-smithy-http]
 7096   9431   
path = "../aws-smithy-http"
 7097         -
version = "0.62.2"
        9432  +
version = "0.62.3"
 7098   9433   
 7099   9434   
[dependencies.aws-smithy-json]
 7100   9435   
path = "../aws-smithy-json"
 7101   9436   
version = "0.61.4"
 7102   9437   
 7103   9438   
[dependencies.aws-smithy-query]
 7104   9439   
path = "../aws-smithy-query"
 7105   9440   
version = "0.60.7"
 7106   9441   
 7107   9442   
[dependencies.aws-smithy-runtime]
 7108   9443   
path = "../aws-smithy-runtime"
 7109   9444   
features = ["client"]
 7110   9445   
version = "1.8.5"
 7111   9446   
 7112   9447   
[dependencies.aws-smithy-runtime-api]
 7113   9448   
path = "../aws-smithy-runtime-api"
 7114   9449   
features = ["client", "http-02x"]
 7115   9450   
version = "1.8.5"
 7116   9451   
 7117   9452   
[dependencies.aws-smithy-types]
 7118   9453   
path = "../aws-smithy-types"
 7119   9454   
version = "1.3.2"
 7120   9455   
 7121   9456   
[dependencies.aws-smithy-xml]
 7122   9457   
path = "../aws-smithy-xml"
 7123   9458   
version = "0.60.10"
 7124   9459   
 7125   9460   
[dependencies.aws-types]
 7126   9461   
path = "../aws-types"
 7127   9462   
version = "1.3.8"
 7128   9463   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7129   9464   
index 0ed4302..3d828a5 100644
 7130         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
        9465  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7131   9466   
@@ -1,61 +1,61 @@
 7132   9467   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7133   9468   
[package]
 7134   9469   
name = "aws-sdk-kms"
 7135   9470   
version = "0.0.0-local"
 7136   9471   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7137   9472   
description = "AWS SDK for AWS Key Management Service"
 7138   9473   
edition = "2021"
 7139   9474   
license = "Apache-2.0"
 7140   9475   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7141   9476   
rust-version = "1.86.0"
 7142   9477   
readme = "README.md"
 7143   9478   
[package.metadata.smithy]
 7144   9479   
codegen-version = "ci"
 7145   9480   
[package.metadata.docs.rs]
 7146   9481   
all-features = true
 7147   9482   
targets = ["x86_64-unknown-linux-gnu"]
 7148   9483   
[dependencies.aws-credential-types]
 7149   9484   
path = "../aws-credential-types"
 7150   9485   
version = "1.2.4"
 7151   9486   
 7152   9487   
[dependencies.aws-runtime]
 7153   9488   
path = "../aws-runtime"
 7154   9489   
version = "1.5.9"
 7155   9490   
 7156   9491   
[dependencies.aws-smithy-async]
 7157   9492   
path = "../aws-smithy-async"
 7158   9493   
version = "1.2.5"
 7159   9494   
 7160   9495   
[dependencies.aws-smithy-http]
 7161   9496   
path = "../aws-smithy-http"
 7162         -
version = "0.62.2"
        9497  +
version = "0.62.3"
 7163   9498   
 7164   9499   
[dependencies.aws-smithy-json]
 7165   9500   
path = "../aws-smithy-json"
 7166   9501   
version = "0.61.4"
 7167   9502   
 7168   9503   
[dependencies.aws-smithy-runtime]
 7169   9504   
path = "../aws-smithy-runtime"
 7170   9505   
features = ["client"]
 7171   9506   
version = "1.8.5"
 7172   9507   
 7173   9508   
[dependencies.aws-smithy-runtime-api]
 7174   9509   
path = "../aws-smithy-runtime-api"
 7175   9510   
features = ["client", "http-02x"]
 7176   9511   
version = "1.8.5"
 7177   9512   
 7178   9513   
[dependencies.aws-smithy-types]
 7179   9514   
path = "../aws-smithy-types"
 7180   9515   
version = "1.3.2"
 7181   9516   
 7182   9517   
[dependencies.aws-types]
 7183   9518   
path = "../aws-types"
 7184   9519   
version = "1.3.8"
 7185   9520   
 7186   9521   
[dependencies.bytes]
 7187   9522   
version = "1.4.0"
 7188   9523   
 7189   9524   
[dependencies.fastrand]
 7190   9525   
version = "2.0.0"
 7191   9526   
 7192   9527   
[dependencies.http]
 7193   9528   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7194   9529   
index 6518dfc..6b94752 100644
 7195         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
        9530  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7196   9531   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 7197   9532   
edition = "2021"
 7198   9533   
license = "Apache-2.0"
 7199   9534   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7200   9535   
rust-version = "1.86.0"
 7201   9536   
readme = "README.md"
 7202   9537   
[package.metadata.smithy]
 7203   9538   
codegen-version = "ci"
 7204   9539   
[package.metadata.docs.rs]
 7205   9540   
all-features = true
 7206   9541   
targets = ["x86_64-unknown-linux-gnu"]
 7207   9542   
[dependencies.aws-credential-types]
 7208   9543   
path = "../aws-credential-types"
 7209   9544   
version = "1.2.4"
 7210   9545   
 7211   9546   
[dependencies.aws-runtime]
 7212   9547   
path = "../aws-runtime"
 7213   9548   
features = ["event-stream"]
 7214   9549   
version = "1.5.9"
 7215   9550   
 7216   9551   
[dependencies.aws-smithy-async]
 7217   9552   
path = "../aws-smithy-async"
 7218   9553   
version = "1.2.5"
 7219   9554   
 7220   9555   
[dependencies.aws-smithy-eventstream]
 7221   9556   
path = "../aws-smithy-eventstream"
 7222   9557   
version = "0.60.10"
 7223   9558   
 7224   9559   
[dependencies.aws-smithy-http]
 7225   9560   
path = "../aws-smithy-http"
 7226   9561   
features = ["event-stream"]
 7227         -
version = "0.62.2"
        9562  +
version = "0.62.3"
 7228   9563   
 7229   9564   
[dependencies.aws-smithy-json]
 7230   9565   
path = "../aws-smithy-json"
 7231   9566   
version = "0.61.4"
 7232   9567   
 7233   9568   
[dependencies.aws-smithy-runtime]
 7234   9569   
path = "../aws-smithy-runtime"
 7235   9570   
features = ["client"]
 7236   9571   
version = "1.8.5"
 7237   9572   
 7238   9573   
[dependencies.aws-smithy-runtime-api]
 7239   9574   
path = "../aws-smithy-runtime-api"
 7240   9575   
features = ["client", "http-02x"]
 7241   9576   
version = "1.8.5"
 7242   9577   
 7243   9578   
[dependencies.aws-smithy-types]
 7244   9579   
path = "../aws-smithy-types"
 7245   9580   
version = "1.3.2"
 7246   9581   
 7247   9582   
[dependencies.aws-types]
 7248   9583   
path = "../aws-types"
 7249   9584   
version = "1.3.8"
 7250   9585   
 7251   9586   
[dependencies.bytes]
 7252   9587   
version = "1.4.0"
 7253   9588   
 7254   9589   
[dependencies.fastrand]
 7255   9590   
version = "2.0.0"
 7256   9591   
 7257   9592   
[dependencies.http]
 7258   9593   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7259   9594   
index dabb0e0..34cbc15 100644
 7260         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
        9595  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7261   9596   
@@ -1,65 +1,65 @@
 7262   9597   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7263   9598   
[package]
 7264   9599   
name = "aws-sdk-polly"
 7265   9600   
version = "0.0.0-local"
 7266   9601   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7267   9602   
description = "AWS SDK for Amazon Polly"
 7268   9603   
edition = "2021"
 7269   9604   
license = "Apache-2.0"
 7270   9605   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7271   9606   
rust-version = "1.86.0"
 7272   9607   
readme = "README.md"
 7273   9608   
[package.metadata.smithy]
 7274   9609   
codegen-version = "ci"
 7275   9610   
[package.metadata.docs.rs]
 7276   9611   
all-features = true
 7277   9612   
targets = ["x86_64-unknown-linux-gnu"]
 7278   9613   
[dependencies.aws-credential-types]
 7279   9614   
path = "../aws-credential-types"
 7280   9615   
version = "1.2.4"
 7281   9616   
 7282   9617   
[dependencies.aws-runtime]
 7283   9618   
path = "../aws-runtime"
 7284   9619   
version = "1.5.9"
 7285   9620   
 7286   9621   
[dependencies.aws-sigv4]
 7287   9622   
path = "../aws-sigv4"
 7288         -
version = "1.3.3"
        9623  +
version = "1.3.4"
 7289   9624   
 7290   9625   
[dependencies.aws-smithy-async]
 7291   9626   
path = "../aws-smithy-async"
 7292   9627   
version = "1.2.5"
 7293   9628   
 7294   9629   
[dependencies.aws-smithy-http]
 7295   9630   
path = "../aws-smithy-http"
 7296         -
version = "0.62.2"
        9631  +
version = "0.62.3"
 7297   9632   
 7298   9633   
[dependencies.aws-smithy-json]
 7299   9634   
path = "../aws-smithy-json"
 7300   9635   
version = "0.61.4"
 7301   9636   
 7302   9637   
[dependencies.aws-smithy-runtime]
 7303   9638   
path = "../aws-smithy-runtime"
 7304   9639   
features = ["client"]
 7305   9640   
version = "1.8.5"
 7306   9641   
 7307   9642   
[dependencies.aws-smithy-runtime-api]
 7308   9643   
path = "../aws-smithy-runtime-api"
 7309   9644   
features = ["client", "http-02x"]
 7310   9645   
version = "1.8.5"
 7311   9646   
 7312   9647   
[dependencies.aws-smithy-types]
 7313   9648   
path = "../aws-smithy-types"
 7314   9649   
version = "1.3.2"
 7315   9650   
 7316   9651   
[dependencies.aws-types]
 7317   9652   
path = "../aws-types"
 7318   9653   
version = "1.3.8"
 7319   9654   
 7320   9655   
[dependencies.bytes]
 7321   9656   
version = "1.4.0"
 7322   9657   
 7323   9658   
[dependencies.fastrand]
 7324   9659   
version = "2.0.0"
 7325   9660   
 7326   9661   
[dependencies.http]
 7327   9662   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7328   9663   
index a884716..f3d8713 100644
 7329         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
        9664  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7330   9665   
@@ -1,61 +1,61 @@
 7331   9666   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7332   9667   
[package]
 7333   9668   
name = "aws-sdk-qldbsession"
 7334   9669   
version = "0.0.0-local"
 7335   9670   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7336   9671   
description = "AWS SDK for Amazon QLDB Session"
 7337   9672   
edition = "2021"
 7338   9673   
license = "Apache-2.0"
 7339   9674   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7340   9675   
rust-version = "1.86.0"
 7341   9676   
readme = "README.md"
 7342   9677   
[package.metadata.smithy]
 7343   9678   
codegen-version = "ci"
 7344   9679   
[package.metadata.docs.rs]
 7345   9680   
all-features = true
 7346   9681   
targets = ["x86_64-unknown-linux-gnu"]
 7347   9682   
[dependencies.aws-credential-types]
 7348   9683   
path = "../aws-credential-types"
 7349   9684   
version = "1.2.4"
 7350   9685   
 7351   9686   
[dependencies.aws-runtime]
 7352   9687   
path = "../aws-runtime"
 7353   9688   
version = "1.5.9"
 7354   9689   
 7355   9690   
[dependencies.aws-smithy-async]
 7356   9691   
path = "../aws-smithy-async"
 7357   9692   
version = "1.2.5"
 7358   9693   
 7359   9694   
[dependencies.aws-smithy-http]
 7360   9695   
path = "../aws-smithy-http"
 7361         -
version = "0.62.2"
        9696  +
version = "0.62.3"
 7362   9697   
 7363   9698   
[dependencies.aws-smithy-json]
 7364   9699   
path = "../aws-smithy-json"
 7365   9700   
version = "0.61.4"
 7366   9701   
 7367   9702   
[dependencies.aws-smithy-runtime]
 7368   9703   
path = "../aws-smithy-runtime"
 7369   9704   
features = ["client"]
 7370   9705   
version = "1.8.5"
 7371   9706   
 7372   9707   
[dependencies.aws-smithy-runtime-api]
 7373   9708   
path = "../aws-smithy-runtime-api"
 7374   9709   
features = ["client", "http-02x"]
 7375   9710   
version = "1.8.5"
 7376   9711   
 7377   9712   
[dependencies.aws-smithy-types]
 7378   9713   
path = "../aws-smithy-types"
 7379   9714   
version = "1.3.2"
 7380   9715   
 7381   9716   
[dependencies.aws-types]
 7382   9717   
path = "../aws-types"
 7383   9718   
version = "1.3.8"
 7384   9719   
 7385   9720   
[dependencies.bytes]
 7386   9721   
version = "1.4.0"
 7387   9722   
 7388   9723   
[dependencies.fastrand]
 7389   9724   
version = "2.0.0"
 7390   9725   
 7391   9726   
[dependencies.http]
 7392   9727   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7393   9728   
index 32a7dc9..a2c752d 100644
 7394         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
        9729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7395   9730   
@@ -1,61 +1,61 @@
 7396   9731   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7397   9732   
[package]
 7398   9733   
name = "aws-sdk-route53"
 7399   9734   
version = "0.0.0-local"
 7400   9735   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7401   9736   
description = "AWS SDK for Amazon Route 53"
 7402   9737   
edition = "2021"
 7403   9738   
license = "Apache-2.0"
 7404   9739   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7405   9740   
rust-version = "1.86.0"
 7406   9741   
readme = "README.md"
 7407   9742   
[package.metadata.smithy]
 7408   9743   
codegen-version = "ci"
 7409   9744   
[package.metadata.docs.rs]
 7410   9745   
all-features = true
 7411   9746   
targets = ["x86_64-unknown-linux-gnu"]
 7412   9747   
[dependencies.aws-credential-types]
 7413   9748   
path = "../aws-credential-types"
 7414   9749   
version = "1.2.4"
 7415   9750   
 7416   9751   
[dependencies.aws-runtime]
 7417   9752   
path = "../aws-runtime"
 7418   9753   
version = "1.5.9"
 7419   9754   
 7420   9755   
[dependencies.aws-smithy-async]
 7421   9756   
path = "../aws-smithy-async"
 7422   9757   
version = "1.2.5"
 7423   9758   
 7424   9759   
[dependencies.aws-smithy-http]
 7425   9760   
path = "../aws-smithy-http"
 7426         -
version = "0.62.2"
        9761  +
version = "0.62.3"
 7427   9762   
 7428   9763   
[dependencies.aws-smithy-json]
 7429   9764   
path = "../aws-smithy-json"
 7430   9765   
version = "0.61.4"
 7431   9766   
 7432   9767   
[dependencies.aws-smithy-runtime]
 7433   9768   
path = "../aws-smithy-runtime"
 7434   9769   
features = ["client"]
 7435   9770   
version = "1.8.5"
 7436   9771   
 7437   9772   
[dependencies.aws-smithy-runtime-api]
 7438   9773   
path = "../aws-smithy-runtime-api"
 7439   9774   
features = ["client", "http-02x"]
 7440   9775   
version = "1.8.5"
 7441   9776   
 7442   9777   
[dependencies.aws-smithy-types]
 7443   9778   
path = "../aws-smithy-types"
 7444   9779   
version = "1.3.2"
 7445   9780   
 7446   9781   
[dependencies.aws-smithy-xml]
 7447   9782   
path = "../aws-smithy-xml"
 7448   9783   
version = "0.60.10"
 7449   9784   
 7450   9785   
[dependencies.aws-types]
 7451   9786   
path = "../aws-types"
 7452   9787   
version = "1.3.8"
 7453   9788   
 7454   9789   
[dependencies.fastrand]
 7455   9790   
version = "2.0.0"
 7456   9791   
 7457   9792   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7458   9793   
index f65e261..2f6bec0 100644
 7459         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
        9794  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7460   9795   
@@ -1,75 +1,75 @@
 7461   9796   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7462   9797   
[package]
 7463   9798   
name = "aws-sdk-s3"
 7464   9799   
version = "0.0.0-local"
 7465   9800   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7466   9801   
description = "AWS SDK for Amazon Simple Storage Service"
 7467   9802   
edition = "2021"
 7468   9803   
license = "Apache-2.0"
 7469   9804   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7470   9805   
rust-version = "1.86.0"
 7471   9806   
readme = "README.md"
 7472   9807   
[package.metadata.smithy]
 7473   9808   
codegen-version = "ci"
 7474   9809   
[package.metadata.docs.rs]
 7475   9810   
all-features = true
 7476   9811   
targets = ["x86_64-unknown-linux-gnu"]
 7477   9812   
[dependencies.aws-credential-types]
 7478   9813   
path = "../aws-credential-types"
 7479   9814   
version = "1.2.4"
 7480   9815   
 7481   9816   
[dependencies.aws-runtime]
 7482   9817   
path = "../aws-runtime"
 7483   9818   
features = ["event-stream", "http-02x"]
 7484   9819   
version = "1.5.9"
 7485   9820   
 7486   9821   
[dependencies.aws-sigv4]
 7487   9822   
path = "../aws-sigv4"
 7488         -
version = "1.3.3"
        9823  +
version = "1.3.4"
 7489   9824   
 7490   9825   
[dependencies.aws-smithy-async]
 7491   9826   
path = "../aws-smithy-async"
 7492   9827   
version = "1.2.5"
 7493   9828   
 7494   9829   
[dependencies.aws-smithy-checksums]
 7495   9830   
path = "../aws-smithy-checksums"
 7496   9831   
version = "0.63.5"
 7497   9832   
 7498   9833   
[dependencies.aws-smithy-eventstream]
 7499   9834   
path = "../aws-smithy-eventstream"
 7500   9835   
version = "0.60.10"
 7501   9836   
 7502   9837   
[dependencies.aws-smithy-http]
 7503   9838   
path = "../aws-smithy-http"
 7504   9839   
features = ["event-stream"]
 7505         -
version = "0.62.2"
        9840  +
version = "0.62.3"
 7506   9841   
 7507   9842   
[dependencies.aws-smithy-json]
 7508   9843   
path = "../aws-smithy-json"
 7509   9844   
version = "0.61.4"
 7510   9845   
 7511   9846   
[dependencies.aws-smithy-runtime]
 7512   9847   
path = "../aws-smithy-runtime"
 7513   9848   
features = ["client"]
 7514   9849   
version = "1.8.5"
 7515   9850   
 7516   9851   
[dependencies.aws-smithy-runtime-api]
 7517   9852   
path = "../aws-smithy-runtime-api"
 7518   9853   
features = ["client", "http-02x"]
 7519   9854   
version = "1.8.5"
 7520   9855   
 7521   9856   
[dependencies.aws-smithy-types]
 7522   9857   
path = "../aws-smithy-types"
 7523   9858   
version = "1.3.2"
 7524   9859   
 7525   9860   
[dependencies.aws-smithy-xml]
 7526   9861   
path = "../aws-smithy-xml"
 7527   9862   
version = "0.60.10"
 7528   9863   
 7529   9864   
[dependencies.aws-types]
 7530   9865   
path = "../aws-types"
 7531   9866   
version = "1.3.8"
 7532   9867   
 7533   9868   
[dependencies.bytes]
 7534   9869   
version = "1.4.0"
 7535   9870   
 7536   9871   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7537   9872   
index b4d1cdd..861c0cc 100644
 7538         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
        9873  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7539   9874   
@@ -1,61 +1,61 @@
 7540   9875   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7541   9876   
[package]
 7542   9877   
name = "aws-sdk-s3control"
 7543   9878   
version = "0.0.0-local"
 7544   9879   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7545   9880   
description = "AWS SDK for AWS S3 Control"
 7546   9881   
edition = "2021"
 7547   9882   
license = "Apache-2.0"
 7548   9883   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7549   9884   
rust-version = "1.86.0"
 7550   9885   
readme = "README.md"
 7551   9886   
[package.metadata.smithy]
 7552   9887   
codegen-version = "ci"
 7553   9888   
[package.metadata.docs.rs]
 7554   9889   
all-features = true
 7555   9890   
targets = ["x86_64-unknown-linux-gnu"]
 7556   9891   
[dependencies.aws-credential-types]
 7557   9892   
path = "../aws-credential-types"
 7558   9893   
version = "1.2.4"
 7559   9894   
 7560   9895   
[dependencies.aws-runtime]
 7561   9896   
path = "../aws-runtime"
 7562   9897   
version = "1.5.9"
 7563   9898   
 7564   9899   
[dependencies.aws-smithy-async]
 7565   9900   
path = "../aws-smithy-async"
 7566   9901   
version = "1.2.5"
 7567   9902   
 7568   9903   
[dependencies.aws-smithy-http]
 7569   9904   
path = "../aws-smithy-http"
 7570         -
version = "0.62.2"
        9905  +
version = "0.62.3"
 7571   9906   
 7572   9907   
[dependencies.aws-smithy-json]
 7573   9908   
path = "../aws-smithy-json"
 7574   9909   
version = "0.61.4"
 7575   9910   
 7576   9911   
[dependencies.aws-smithy-runtime]
 7577   9912   
path = "../aws-smithy-runtime"
 7578   9913   
features = ["client"]
 7579   9914   
version = "1.8.5"
 7580   9915   
 7581   9916   
[dependencies.aws-smithy-runtime-api]
 7582   9917   
path = "../aws-smithy-runtime-api"
 7583   9918   
features = ["client", "http-02x"]
 7584   9919   
version = "1.8.5"
 7585   9920   
 7586   9921   
[dependencies.aws-smithy-types]
 7587   9922   
path = "../aws-smithy-types"
 7588   9923   
version = "1.3.2"
 7589   9924   
 7590   9925   
[dependencies.aws-smithy-xml]
 7591   9926   
path = "../aws-smithy-xml"
 7592   9927   
version = "0.60.10"
 7593   9928   
 7594   9929   
[dependencies.aws-types]
 7595   9930   
path = "../aws-types"
 7596   9931   
version = "1.3.8"
 7597   9932   
 7598   9933   
[dependencies.fastrand]
 7599   9934   
version = "2.0.0"
 7600   9935   
 7601   9936   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7602   9937   
index 2cde182..fc367f4 100644
 7603         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
        9938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7604   9939   
@@ -1,61 +1,61 @@
 7605   9940   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7606   9941   
[package]
 7607   9942   
name = "aws-sdk-sso"
 7608   9943   
version = "0.0.0-local"
 7609   9944   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7610   9945   
description = "AWS SDK for AWS Single Sign-On"
 7611   9946   
edition = "2021"
 7612   9947   
license = "Apache-2.0"
 7613   9948   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7614   9949   
rust-version = "1.86.0"
 7615   9950   
readme = "README.md"
 7616   9951   
[package.metadata.smithy]
 7617   9952   
codegen-version = "ci"
 7618   9953   
[package.metadata.docs.rs]
 7619   9954   
all-features = true
 7620   9955   
targets = ["x86_64-unknown-linux-gnu"]
 7621   9956   
[dependencies.aws-credential-types]
 7622   9957   
path = "../aws-credential-types"
 7623   9958   
version = "1.2.4"
 7624   9959   
 7625   9960   
[dependencies.aws-runtime]
 7626   9961   
path = "../aws-runtime"
 7627   9962   
version = "1.5.9"
 7628   9963   
 7629   9964   
[dependencies.aws-smithy-async]
 7630   9965   
path = "../aws-smithy-async"
 7631   9966   
version = "1.2.5"
 7632   9967   
 7633   9968   
[dependencies.aws-smithy-http]
 7634   9969   
path = "../aws-smithy-http"
 7635         -
version = "0.62.2"
        9970  +
version = "0.62.3"
 7636   9971   
 7637   9972   
[dependencies.aws-smithy-json]
 7638   9973   
path = "../aws-smithy-json"
 7639   9974   
version = "0.61.4"
 7640   9975   
 7641   9976   
[dependencies.aws-smithy-runtime]
 7642   9977   
path = "../aws-smithy-runtime"
 7643   9978   
features = ["client"]
 7644   9979   
version = "1.8.5"
 7645   9980   
 7646   9981   
[dependencies.aws-smithy-runtime-api]
 7647   9982   
path = "../aws-smithy-runtime-api"
 7648   9983   
features = ["client", "http-02x"]
 7649   9984   
version = "1.8.5"
 7650   9985   
 7651   9986   
[dependencies.aws-smithy-types]
 7652   9987   
path = "../aws-smithy-types"
 7653   9988   
version = "1.3.2"
 7654   9989   
 7655   9990   
[dependencies.aws-types]
 7656   9991   
path = "../aws-types"
 7657   9992   
version = "1.3.8"
 7658   9993   
 7659   9994   
[dependencies.bytes]
 7660   9995   
version = "1.4.0"
 7661   9996   
 7662   9997   
[dependencies.fastrand]
 7663   9998   
version = "2.0.0"
 7664   9999   
 7665  10000   
[dependencies.http]
 7666  10001   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7667  10002   
index 7a34c16..588d0bd 100644
 7668         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       10003  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7669  10004   
@@ -1,61 +1,61 @@
 7670  10005   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7671  10006   
[package]
 7672  10007   
name = "aws-sdk-ssooidc"
 7673  10008   
version = "0.0.0-local"
 7674  10009   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7675  10010   
description = "AWS SDK for AWS SSO OIDC"
 7676  10011   
edition = "2021"
 7677  10012   
license = "Apache-2.0"
 7678  10013   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7679  10014   
rust-version = "1.86.0"
 7680  10015   
readme = "README.md"
 7681  10016   
[package.metadata.smithy]
 7682  10017   
codegen-version = "ci"
 7683  10018   
[package.metadata.docs.rs]
 7684  10019   
all-features = true
 7685  10020   
targets = ["x86_64-unknown-linux-gnu"]
 7686  10021   
[dependencies.aws-credential-types]
 7687  10022   
path = "../aws-credential-types"
 7688  10023   
version = "1.2.4"
 7689  10024   
 7690  10025   
[dependencies.aws-runtime]
 7691  10026   
path = "../aws-runtime"
 7692  10027   
version = "1.5.9"
 7693  10028   
 7694  10029   
[dependencies.aws-smithy-async]
 7695  10030   
path = "../aws-smithy-async"
 7696  10031   
version = "1.2.5"
 7697  10032   
 7698  10033   
[dependencies.aws-smithy-http]
 7699  10034   
path = "../aws-smithy-http"
 7700         -
version = "0.62.2"
       10035  +
version = "0.62.3"
 7701  10036   
 7702  10037   
[dependencies.aws-smithy-json]
 7703  10038   
path = "../aws-smithy-json"
 7704  10039   
version = "0.61.4"
 7705  10040   
 7706  10041   
[dependencies.aws-smithy-runtime]
 7707  10042   
path = "../aws-smithy-runtime"
 7708  10043   
features = ["client"]
 7709  10044   
version = "1.8.5"
 7710  10045   
 7711  10046   
[dependencies.aws-smithy-runtime-api]
 7712  10047   
path = "../aws-smithy-runtime-api"
 7713  10048   
features = ["client", "http-02x"]
 7714  10049   
version = "1.8.5"
 7715  10050   
 7716  10051   
[dependencies.aws-smithy-types]
 7717  10052   
path = "../aws-smithy-types"
 7718  10053   
version = "1.3.2"
 7719  10054   
 7720  10055   
[dependencies.aws-types]
 7721  10056   
path = "../aws-types"
 7722  10057   
version = "1.3.8"
 7723  10058   
 7724  10059   
[dependencies.bytes]
 7725  10060   
version = "1.4.0"
 7726  10061   
 7727  10062   
[dependencies.fastrand]
 7728  10063   
version = "2.0.0"
 7729  10064   
 7730  10065   
[dependencies.http]
 7731  10066   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7732  10067   
index 895dfb3..f2ce34e 100644
 7733         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       10068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7734  10069   
@@ -1,61 +1,61 @@
 7735  10070   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7736  10071   
[package]
 7737  10072   
name = "aws-sdk-sts"
 7738  10073   
version = "0.0.0-local"
 7739  10074   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7740  10075   
description = "AWS SDK for AWS Security Token Service"
 7741  10076   
edition = "2021"
 7742  10077   
license = "Apache-2.0"
 7743  10078   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7744  10079   
rust-version = "1.86.0"
 7745  10080   
readme = "README.md"
 7746  10081   
[package.metadata.smithy]
 7747  10082   
codegen-version = "ci"
 7748  10083   
[package.metadata.docs.rs]
 7749  10084   
all-features = true
 7750  10085   
targets = ["x86_64-unknown-linux-gnu"]
 7751  10086   
[dependencies.aws-credential-types]
 7752  10087   
path = "../aws-credential-types"
 7753  10088   
version = "1.2.4"
 7754  10089   
 7755  10090   
[dependencies.aws-runtime]
 7756  10091   
path = "../aws-runtime"
 7757  10092   
version = "1.5.9"
 7758  10093   
 7759  10094   
[dependencies.aws-smithy-async]
 7760  10095   
path = "../aws-smithy-async"
 7761  10096   
version = "1.2.5"
 7762  10097   
 7763  10098   
[dependencies.aws-smithy-http]
 7764  10099   
path = "../aws-smithy-http"
 7765         -
version = "0.62.2"
       10100  +
version = "0.62.3"
 7766  10101   
 7767  10102   
[dependencies.aws-smithy-json]
 7768  10103   
path = "../aws-smithy-json"
 7769  10104   
version = "0.61.4"
 7770  10105   
 7771  10106   
[dependencies.aws-smithy-query]
 7772  10107   
path = "../aws-smithy-query"
 7773  10108   
version = "0.60.7"
 7774  10109   
 7775  10110   
[dependencies.aws-smithy-runtime]
 7776  10111   
path = "../aws-smithy-runtime"
 7777  10112   
features = ["client"]
 7778  10113   
version = "1.8.5"
 7779  10114   
 7780  10115   
[dependencies.aws-smithy-runtime-api]
 7781  10116   
path = "../aws-smithy-runtime-api"
 7782  10117   
features = ["client", "http-02x"]
 7783  10118   
version = "1.8.5"
 7784  10119   
 7785  10120   
[dependencies.aws-smithy-types]
 7786  10121   
path = "../aws-smithy-types"
 7787  10122   
version = "1.3.2"
 7788  10123   
 7789  10124   
[dependencies.aws-smithy-xml]
 7790  10125   
path = "../aws-smithy-xml"
 7791  10126   
version = "0.60.10"
 7792  10127   
 7793  10128   
[dependencies.aws-types]
 7794  10129   
path = "../aws-types"
 7795  10130   
version = "1.3.8"
 7796  10131   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 7797  10132   
index d556561..91178b6 100644
 7798         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       10133  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 7799  10134   
@@ -1,61 +1,61 @@
 7800  10135   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7801  10136   
[package]
 7802  10137   
name = "aws-sdk-timestreamquery"
 7803  10138   
version = "0.0.0-local"
 7804  10139   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7805  10140   
description = "AWS SDK for Amazon Timestream Query"
 7806  10141   
edition = "2021"
 7807  10142   
license = "Apache-2.0"
 7808  10143   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7809  10144   
rust-version = "1.86.0"
 7810  10145   
readme = "README.md"
 7811  10146   
[package.metadata.smithy]
 7812  10147   
codegen-version = "ci"
 7813  10148   
[package.metadata.docs.rs]
 7814  10149   
all-features = true
 7815  10150   
targets = ["x86_64-unknown-linux-gnu"]
 7816  10151   
[dependencies.aws-credential-types]
 7817  10152   
path = "../aws-credential-types"
 7818  10153   
version = "1.2.4"
 7819  10154   
 7820  10155   
[dependencies.aws-runtime]
 7821  10156   
path = "../aws-runtime"
 7822  10157   
version = "1.5.9"
 7823  10158   
 7824  10159   
[dependencies.aws-smithy-async]
 7825  10160   
path = "../aws-smithy-async"
 7826  10161   
version = "1.2.5"
 7827  10162   
 7828  10163   
[dependencies.aws-smithy-http]
 7829  10164   
path = "../aws-smithy-http"
 7830         -
version = "0.62.2"
       10165  +
version = "0.62.3"
 7831  10166   
 7832  10167   
[dependencies.aws-smithy-json]
 7833  10168   
path = "../aws-smithy-json"
 7834  10169   
version = "0.61.4"
 7835  10170   
 7836  10171   
[dependencies.aws-smithy-runtime]
 7837  10172   
path = "../aws-smithy-runtime"
 7838  10173   
features = ["client"]
 7839  10174   
version = "1.8.5"
 7840  10175   
 7841  10176   
[dependencies.aws-smithy-runtime-api]
 7842  10177   
path = "../aws-smithy-runtime-api"
 7843  10178   
features = ["client", "http-02x"]
 7844  10179   
version = "1.8.5"
 7845  10180   
 7846  10181   
[dependencies.aws-smithy-types]
 7847  10182   
path = "../aws-smithy-types"
 7848  10183   
version = "1.3.2"
 7849  10184   
 7850  10185   
[dependencies.aws-types]
 7851  10186   
path = "../aws-types"
 7852  10187   
version = "1.3.8"
 7853  10188   
 7854  10189   
[dependencies.bytes]
 7855  10190   
version = "1.4.0"
 7856  10191   
 7857  10192   
[dependencies.fastrand]
 7858  10193   
version = "2.0.0"
 7859  10194   
 7860  10195   
[dependencies.http]
 7861  10196   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 7862  10197   
index 0c56e4c..95731e3 100644
 7863         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       10198  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 7864  10199   
@@ -1,61 +1,61 @@
 7865  10200   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7866  10201   
[package]
 7867  10202   
name = "aws-sdk-timestreamwrite"
 7868  10203   
version = "0.0.0-local"
 7869  10204   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7870  10205   
description = "AWS SDK for Amazon Timestream Write"
 7871  10206   
edition = "2021"
 7872  10207   
license = "Apache-2.0"
 7873  10208   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7874  10209   
rust-version = "1.86.0"
 7875  10210   
readme = "README.md"
 7876  10211   
[package.metadata.smithy]
 7877  10212   
codegen-version = "ci"
 7878  10213   
[package.metadata.docs.rs]
 7879  10214   
all-features = true
 7880  10215   
targets = ["x86_64-unknown-linux-gnu"]
 7881  10216   
[dependencies.aws-credential-types]
 7882  10217   
path = "../aws-credential-types"
 7883  10218   
version = "1.2.4"
 7884  10219   
 7885  10220   
[dependencies.aws-runtime]
 7886  10221   
path = "../aws-runtime"
 7887  10222   
version = "1.5.9"
 7888  10223   
 7889  10224   
[dependencies.aws-smithy-async]
 7890  10225   
path = "../aws-smithy-async"
 7891  10226   
version = "1.2.5"
 7892  10227   
 7893  10228   
[dependencies.aws-smithy-http]
 7894  10229   
path = "../aws-smithy-http"
 7895         -
version = "0.62.2"
       10230  +
version = "0.62.3"
 7896  10231   
 7897  10232   
[dependencies.aws-smithy-json]
 7898  10233   
path = "../aws-smithy-json"
 7899  10234   
version = "0.61.4"
 7900  10235   
 7901  10236   
[dependencies.aws-smithy-runtime]
 7902  10237   
path = "../aws-smithy-runtime"
 7903  10238   
features = ["client"]
 7904  10239   
version = "1.8.5"
 7905  10240   
 7906  10241   
[dependencies.aws-smithy-runtime-api]
 7907  10242   
path = "../aws-smithy-runtime-api"
 7908  10243   
features = ["client", "http-02x"]
 7909  10244   
version = "1.8.5"
 7910  10245   
 7911  10246   
[dependencies.aws-smithy-types]
 7912  10247   
path = "../aws-smithy-types"
 7913  10248   
version = "1.3.2"
 7914  10249   
 7915  10250   
[dependencies.aws-types]
 7916  10251   
path = "../aws-types"
 7917  10252   
version = "1.3.8"
 7918  10253   
 7919  10254   
[dependencies.bytes]
 7920  10255   
version = "1.4.0"
 7921  10256   
 7922  10257   
[dependencies.fastrand]
 7923  10258   
version = "2.0.0"
 7924  10259   
 7925  10260   
[dependencies.http]
 7926  10261   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 7927  10262   
index 5b35037..9fb220a 100644
 7928         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       10263  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 7929  10264   
@@ -1,71 +1,71 @@
 7930  10265   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7931  10266   
[package]
 7932  10267   
name = "aws-sdk-transcribestreaming"
 7933  10268   
version = "0.0.0-local"
 7934  10269   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7935  10270   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 7936  10271   
edition = "2021"
 7937  10272   
license = "Apache-2.0"
 7938  10273   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7939  10274   
rust-version = "1.86.0"
 7940  10275   
readme = "README.md"
 7941  10276   
[package.metadata.smithy]
 7942  10277   
codegen-version = "ci"
 7943  10278   
[package.metadata.docs.rs]
 7944  10279   
all-features = true
 7945  10280   
targets = ["x86_64-unknown-linux-gnu"]
 7946  10281   
[dependencies.aws-credential-types]
 7947  10282   
path = "../aws-credential-types"
 7948  10283   
version = "1.2.4"
 7949  10284   
 7950  10285   
[dependencies.aws-runtime]
 7951  10286   
path = "../aws-runtime"
 7952  10287   
features = ["event-stream"]
 7953  10288   
version = "1.5.9"
 7954  10289   
 7955  10290   
[dependencies.aws-sigv4]
 7956  10291   
path = "../aws-sigv4"
 7957         -
version = "1.3.3"
       10292  +
version = "1.3.4"
 7958  10293   
 7959  10294   
[dependencies.aws-smithy-async]
 7960  10295   
path = "../aws-smithy-async"
 7961  10296   
version = "1.2.5"
 7962  10297   
 7963  10298   
[dependencies.aws-smithy-eventstream]
 7964  10299   
path = "../aws-smithy-eventstream"
 7965  10300   
version = "0.60.10"
 7966  10301   
 7967  10302   
[dependencies.aws-smithy-http]
 7968  10303   
path = "../aws-smithy-http"
 7969  10304   
features = ["event-stream"]
 7970         -
version = "0.62.2"
       10305  +
version = "0.62.3"
 7971  10306   
 7972  10307   
[dependencies.aws-smithy-json]
 7973  10308   
path = "../aws-smithy-json"
 7974  10309   
version = "0.61.4"
 7975  10310   
 7976  10311   
[dependencies.aws-smithy-runtime]
 7977  10312   
path = "../aws-smithy-runtime"
 7978  10313   
features = ["client"]
 7979  10314   
version = "1.8.5"
 7980  10315