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/post-sts-header-before/post-sts-header-before.authz

@@ -1,0 +8027,10346 @@
    1         -
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
    2      0   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/readme.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/readme.txt
    3      1   
deleted file mode 100644
    4      2   
index cc34282..0000000
    5         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/readme.txt
           3  +
++ /dev/null
    6      4   
@@ -1,15 +0,0 @@
    7         -
A note about using temporary security credentials:
    8         -

    9         -
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).
   10         -

   11         -
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.
   12         -

   13         -
The test suite has 2 examples:
   14         -

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

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

   19         -
The test suite uses this example value for X-Amz-Security-Token:
   20         -

   21         -
AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 No newline at end of file
   22      5   
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.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.authz
   23      6   
deleted file mode 100644
   24      7   
index 44280cd..0000000
   25         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.authz
           8  +
++ /dev/null
   26      9   
@@ -1 +0,0 @@
   27         -
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
   28     10   
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
   29     11   
deleted file mode 100644
   30     12   
index 82af150..0000000
   31         -
-- 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
          13  +
++ /dev/null
   32     14   
@@ -1,4 +0,0 @@
   33         -
POST /?Param1=value1 HTTP/1.1
   34         -
Host:example.amazonaws.com
   35         -
X-Amz-Date:20150830T123600Z
   36         -
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
   37     15   
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
   38     16   
deleted file mode 100644
   39     17   
index 44280cd..0000000
   40         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz
          18  +
++ /dev/null
   41     19   
@@ -1 +0,0 @@
   42         -
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
   43     20   
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
   44     21   
deleted file mode 100644
   45     22   
index 82af150..0000000
   46         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq
          23  +
++ /dev/null
   47     24   
@@ -1,4 +0,0 @@
   48         -
POST /?Param1=value1 HTTP/1.1
   49         -
Host:example.amazonaws.com
   50         -
X-Amz-Date:20150830T123600Z
   51         -
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
   52     25   
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
   53     26   
deleted file mode 100644
   54     27   
index 89e572e..0000000
   55         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
          28  +
++ /dev/null
   56     29   
@@ -1 +0,0 @@
   57         -
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
   58     30   
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
   59     31   
deleted file mode 100644
   60     32   
index a5ada0d..0000000
   61         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq
          33  +
++ /dev/null
   62     34   
@@ -1,4 +0,0 @@
   63         -
POST / HTTP/1.1
   64         -
Host:example.amazonaws.com
   65         -
X-Amz-Date:20150830T123600Z
   66         -
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
   67     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.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
   68     36   
deleted file mode 100644
   69     37   
index df90ca3..0000000
   70         -
-- 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
          38  +
++ /dev/null
   71     39   
@@ -1 +0,0 @@
   72         -
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
   73     40   
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
   74     41   
deleted file mode 100644
   75     42   
index 457b0d5..0000000
   76         -
-- 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
          43  +
++ /dev/null
   77     44   
@@ -1,9 +0,0 @@
   78         -
POST
   79         -
/
   80         -
Param1=value1
   81         -
content-type:application/x-www-form-urlencoded; charset=utf-8
   82         -
host:example.amazonaws.com
   83         -
x-amz-date:20150830T123600Z
   84         -
   85         -
content-type;host;x-amz-date
   86         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
   87     45   
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
   88     46   
deleted file mode 100644
   89     47   
index b8ecb89..0000000
   90         -
-- 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
          48  +
++ /dev/null
   91     49   
@@ -1,7 +0,0 @@
   92         -
POST / HTTP/1.1
   93         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
   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=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393
   97         -
   98         -
Param1=value1
              \
 No newline at end of file
   99     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.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
  100     51   
deleted file mode 100644
  101     52   
index 79077d2..0000000
  102         -
-- 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
          53  +
++ /dev/null
  103     54   
@@ -1 +0,0 @@
  104         -
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
  105     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.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
  106     56   
deleted file mode 100644
  107     57   
index 7852617..0000000
  108         -
-- 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
          58  +
++ /dev/null
  109     59   
@@ -1,4 +0,0 @@
  110         -
POST / HTTP/1.1
  111         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  112         -
Host:example.amazonaws.com
  113         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
  114     60   
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
  115     61   
deleted file mode 100644
  116     62   
index 3e2e571..0000000
  117         -
-- 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
          63  +
++ /dev/null
  118     64   
@@ -1,4 +0,0 @@
  119         -
POST / HTTP/1.1
  120         -
Host:example.amazonaws.com
  121         -
X-Amz-Date:20150830T123600Z
  122         -
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
  123     65   
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
  124     66   
deleted file mode 100644
  125     67   
index 89ceae8..0000000
  126         -
-- 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
          68  +
++ /dev/null
  127     69   
@@ -1,4 +0,0 @@
  128         -
AWS4-HMAC-SHA256
  129         -
20150830T123600Z
  130         -
20150830/us-east-1/service/aws4_request
  131         -
6a42edc18395dd67cc71407d4307ff29ab1646b08c1a0107edb319e08e2bc584
              \
 No newline at end of file
  132     70   
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
  133     71   
deleted file mode 100755
  134     72   
index d645695..0000000
  135         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE
          73  +
++ /dev/null
  136     74   
@@ -1,202 +0,0 @@
  137         -
  138         -
                                 Apache License
  139         -
                           Version 2.0, January 2004
  140         -
                        http://www.apache.org/licenses/
  141         -
  142         -
   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  143         -
  144         -
   1. Definitions.
  145         -
  146         -
      "License" shall mean the terms and conditions for use, reproduction,
  147         -
      and distribution as defined by Sections 1 through 9 of this document.
  148         -
  149         -
      "Licensor" shall mean the copyright owner or entity authorized by
  150         -
      the copyright owner that is granting the License.
  151         -
  152         -
      "Legal Entity" shall mean the union of the acting entity and all
  153         -
      other entities that control, are controlled by, or are under common
  154         -
      control with that entity. For the purposes of this definition,
  155         -
      "control" means (i) the power, direct or indirect, to cause the
  156         -
      direction or management of such entity, whether by contract or
  157         -
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
  158         -
      outstanding shares, or (iii) beneficial ownership of such entity.
  159         -
  160         -
      "You" (or "Your") shall mean an individual or Legal Entity
  161         -
      exercising permissions granted by this License.
  162         -
  163         -
      "Source" form shall mean the preferred form for making modifications,
  164         -
      including but not limited to software source code, documentation
  165         -
      source, and configuration files.
  166         -
  167         -
      "Object" form shall mean any form resulting from mechanical
  168         -
      transformation or translation of a Source form, including but
  169         -
      not limited to compiled object code, generated documentation,
  170         -
      and conversions to other media types.
  171         -
  172         -
      "Work" shall mean the work of authorship, whether in Source or
  173         -
      Object form, made available under the License, as indicated by a
  174         -
      copyright notice that is included in or attached to the work
  175         -
      (an example is provided in the Appendix below).
  176         -
  177         -
      "Derivative Works" shall mean any work, whether in Source or Object
  178         -
      form, that is based on (or derived from) the Work and for which the
  179         -
      editorial revisions, annotations, elaborations, or other modifications
  180         -
      represent, as a whole, an original work of authorship. For the purposes
  181         -
      of this License, Derivative Works shall not include works that remain
  182         -
      separable from, or merely link (or bind by name) to the interfaces of,
  183         -
      the Work and Derivative Works thereof.
  184         -
  185         -
      "Contribution" shall mean any work of authorship, including
  186         -
      the original version of the Work and any modifications or additions
  187         -
      to that Work or Derivative Works thereof, that is intentionally
  188         -
      submitted to Licensor for inclusion in the Work by the copyright owner
  189         -
      or by an individual or Legal Entity authorized to submit on behalf of
  190         -
      the copyright owner. For the purposes of this definition, "submitted"
  191         -
      means any form of electronic, verbal, or written communication sent
  192         -
      to the Licensor or its representatives, including but not limited to
  193         -
      communication on electronic mailing lists, source code control systems,
  194         -
      and issue tracking systems that are managed by, or on behalf of, the
  195         -
      Licensor for the purpose of discussing and improving the Work, but
  196         -
      excluding communication that is conspicuously marked or otherwise
  197         -
      designated in writing by the copyright owner as "Not a Contribution."
  198         -
  199         -
      "Contributor" shall mean Licensor and any individual or Legal Entity
  200         -
      on behalf of whom a Contribution has been received by Licensor and
  201         -
      subsequently incorporated within the Work.
  202         -
  203         -
   2. Grant of Copyright License. Subject to the terms and conditions of
  204         -
      this License, each Contributor hereby grants to You a perpetual,
  205         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  206         -
      copyright license to reproduce, prepare Derivative Works of,
  207         -
      publicly display, publicly perform, sublicense, and distribute the
  208         -
      Work and such Derivative Works in Source or Object form.
  209         -
  210         -
   3. Grant of Patent License. Subject to the terms and conditions of
  211         -
      this License, each Contributor hereby grants to You a perpetual,
  212         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  213         -
      (except as stated in this section) patent license to make, have made,
  214         -
      use, offer to sell, sell, import, and otherwise transfer the Work,
  215         -
      where such license applies only to those patent claims licensable
  216         -
      by such Contributor that are necessarily infringed by their
  217         -
      Contribution(s) alone or by combination of their Contribution(s)
  218         -
      with the Work to which such Contribution(s) was submitted. If You
  219         -
      institute patent litigation against any entity (including a
  220         -
      cross-claim or counterclaim in a lawsuit) alleging that the Work
  221         -
      or a Contribution incorporated within the Work constitutes direct
  222         -
      or contributory patent infringement, then any patent licenses
  223         -
      granted to You under this License for that Work shall terminate
  224         -
      as of the date such litigation is filed.
  225         -
  226         -
   4. Redistribution. You may reproduce and distribute copies of the
  227         -
      Work or Derivative Works thereof in any medium, with or without
  228         -
      modifications, and in Source or Object form, provided that You
  229         -
      meet the following conditions:
  230         -
  231         -
      (a) You must give any other recipients of the Work or
  232         -
          Derivative Works a copy of this License; and
  233         -
  234         -
      (b) You must cause any modified files to carry prominent notices
  235         -
          stating that You changed the files; and
  236         -
  237         -
      (c) You must retain, in the Source form of any Derivative Works
  238         -
          that You distribute, all copyright, patent, trademark, and
  239         -
          attribution notices from the Source form of the Work,
  240         -
          excluding those notices that do not pertain to any part of
  241         -
          the Derivative Works; and
  242         -
  243         -
      (d) If the Work includes a "NOTICE" text file as part of its
  244         -
          distribution, then any Derivative Works that You distribute must
  245         -
          include a readable copy of the attribution notices contained
  246         -
          within such NOTICE file, excluding those notices that do not
  247         -
          pertain to any part of the Derivative Works, in at least one
  248         -
          of the following places: within a NOTICE text file distributed
  249         -
          as part of the Derivative Works; within the Source form or
  250         -
          documentation, if provided along with the Derivative Works; or,
  251         -
          within a display generated by the Derivative Works, if and
  252         -
          wherever such third-party notices normally appear. The contents
  253         -
          of the NOTICE file are for informational purposes only and
  254         -
          do not modify the License. You may add Your own attribution
  255         -
          notices within Derivative Works that You distribute, alongside
  256         -
          or as an addendum to the NOTICE text from the Work, provided
  257         -
          that such additional attribution notices cannot be construed
  258         -
          as modifying the License.
  259         -
  260         -
      You may add Your own copyright statement to Your modifications and
  261         -
      may provide additional or different license terms and conditions
  262         -
      for use, reproduction, or distribution of Your modifications, or
  263         -
      for any such Derivative Works as a whole, provided Your use,
  264         -
      reproduction, and distribution of the Work otherwise complies with
  265         -
      the conditions stated in this License.
  266         -
  267         -
   5. Submission of Contributions. Unless You explicitly state otherwise,
  268         -
      any Contribution intentionally submitted for inclusion in the Work
  269         -
      by You to the Licensor shall be under the terms and conditions of
  270         -
      this License, without any additional terms or conditions.
  271         -
      Notwithstanding the above, nothing herein shall supersede or modify
  272         -
      the terms of any separate license agreement you may have executed
  273         -
      with Licensor regarding such Contributions.
  274         -
  275         -
   6. Trademarks. This License does not grant permission to use the trade
  276         -
      names, trademarks, service marks, or product names of the Licensor,
  277         -
      except as required for reasonable and customary use in describing the
  278         -
      origin of the Work and reproducing the content of the NOTICE file.
  279         -
  280         -
   7. Disclaimer of Warranty. Unless required by applicable law or
  281         -
      agreed to in writing, Licensor provides the Work (and each
  282         -
      Contributor provides its Contributions) on an "AS IS" BASIS,
  283         -
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  284         -
      implied, including, without limitation, any warranties or conditions
  285         -
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  286         -
      PARTICULAR PURPOSE. You are solely responsible for determining the
  287         -
      appropriateness of using or redistributing the Work and assume any
  288         -
      risks associated with Your exercise of permissions under this License.
  289         -
  290         -
   8. Limitation of Liability. In no event and under no legal theory,
  291         -
      whether in tort (including negligence), contract, or otherwise,
  292         -
      unless required by applicable law (such as deliberate and grossly
  293         -
      negligent acts) or agreed to in writing, shall any Contributor be
  294         -
      liable to You for damages, including any direct, indirect, special,
  295         -
      incidental, or consequential damages of any character arising as a
  296         -
      result of this License or out of the use or inability to use the
  297         -
      Work (including but not limited to damages for loss of goodwill,
  298         -
      work stoppage, computer failure or malfunction, or any and all
  299         -
      other commercial damages or losses), even if such Contributor
  300         -
      has been advised of the possibility of such damages.
  301         -
  302         -
   9. Accepting Warranty or Additional Liability. While redistributing
  303         -
      the Work or Derivative Works thereof, You may choose to offer,
  304         -
      and charge a fee for, acceptance of support, warranty, indemnity,
  305         -
      or other liability obligations and/or rights consistent with this
  306         -
      License. However, in accepting such obligations, You may act only
  307         -
      on Your own behalf and on Your sole responsibility, not on behalf
  308         -
      of any other Contributor, and only if You agree to indemnify,
  309         -
      defend, and hold each Contributor harmless for any liability
  310         -
      incurred by, or claims asserted against, such Contributor by reason
  311         -
      of your accepting any such warranty or additional liability.
  312         -
  313         -
   END OF TERMS AND CONDITIONS
  314         -
  315         -
   APPENDIX: How to apply the Apache License to your work.
  316         -
  317         -
      To apply the Apache License to your work, attach the following
  318         -
      boilerplate notice, with the fields enclosed by brackets "[]"
  319         -
      replaced with your own identifying information. (Don't include
  320         -
      the brackets!)  The text should be enclosed in the appropriate
  321         -
      comment syntax for the file format. We also recommend that a
  322         -
      file or class name and description of purpose be included on the
  323         -
      same "printed page" as the copyright notice for easier
  324         -
      identification within third-party archives.
  325         -
  326         -
   Copyright [yyyy] [name of copyright owner]
  327         -
  328         -
   Licensed under the Apache License, Version 2.0 (the "License");
  329         -
   you may not use this file except in compliance with the License.
  330         -
   You may obtain a copy of the License at
  331         -
  332         -
       http://www.apache.org/licenses/LICENSE-2.0
  333         -
  334         -
   Unless required by applicable law or agreed to in writing, software
  335         -
   distributed under the License is distributed on an "AS IS" BASIS,
  336         -
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  337         -
   See the License for the specific language governing permissions and
  338         -
   limitations under the License.
  339     75   
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
  340     76   
deleted file mode 100755
  341     77   
index d85f69e..0000000
  342         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE
          78  +
++ /dev/null
  343     79   
@@ -1,2 +0,0 @@
  344         -
AWS Signature Version 4a Test Suite
  345         -
Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  346     80   
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
  347     81   
deleted file mode 100644
  348     82   
index c716622..0000000
  349         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md
          83  +
++ /dev/null
  350     84   
@@ -1,24 +0,0 @@
  351         -
Where did the files in this directory come from?
  352         -
================================================
  353         -
  354         -
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.
  355         -
  356         -
Signature Version 4A Test Suite
  357         -
------------------------------
  358         -
  359         -
To assist you in the development of an AWS client that supports Signature Version 4A, you can use the
  360         -
files in the test suite to ensure your code is performing each step of the signing process correctly.
  361         -
  362         -
Each test group contains several files that you can use to validate most of the tasks described in
  363         -
Signature Version 4A Signing Process. The following list describes the contents of each file.
  364         -
  365         -
- context.json - Credentials and signer options to use when signing test requests
  366         -
- request.txt - The web request to be signed.
  367         -
- header-canonical-request.txt - The resulting canonical request in header-signature mode.
  368         -
- header-string-to-sign.txt - The resulting string to sign in header-signature mode.
  369         -
- query-canonical-request.txt - The resulting canonical request in query-signature mode.
  370         -
- query-string-to-sign.txt - The resulting string to sign in header-query mode.
  371         -
  372         -
Sigv4A signature generation isn't deterministic, so generated signatures can't be tested against known good ones.
  373         -
Instead, tests generate a signature, derive a verification key from the signing key, and verify the signature and
  374         -
the string to sign. This mirrors what AWS services do when verifying Sigv4A-signed requests.
  375     85   
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
  376     86   
deleted file mode 100644
  377     87   
index 45771c7..0000000
  378         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json
          88  +
++ /dev/null
  379     89   
@@ -1,12 +0,0 @@
  380         -
{
  381         -
    "credentials": {
  382         -
        "access_key_id": "AKIDEXAMPLE",
  383         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  384         -
    },
  385         -
    "expiration_in_seconds": 3600,
  386         -
    "normalize": true,
  387         -
    "region": "us-east-1",
  388         -
    "service": "service",
  389         -
    "sign_body": false,
  390         -
    "timestamp": "2015-08-30T12:36:00Z"
  391         -
}
  392     90   
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
  393     91   
deleted file mode 100644
  394     92   
index 45771c7..0000000
  395         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json
          93  +
++ /dev/null
  396     94   
@@ -1,12 +0,0 @@
  397         -
{
  398         -
    "credentials": {
  399         -
        "access_key_id": "AKIDEXAMPLE",
  400         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  401         -
    },
  402         -
    "expiration_in_seconds": 3600,
  403         -
    "normalize": true,
  404         -
    "region": "us-east-1",
  405         -
    "service": "service",
  406         -
    "sign_body": false,
  407         -
    "timestamp": "2015-08-30T12:36:00Z"
  408         -
}
  409     95   
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
  410     96   
deleted file mode 100644
  411     97   
index 45771c7..0000000
  412         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json
          98  +
++ /dev/null
  413     99   
@@ -1,12 +0,0 @@
  414         -
{
  415         -
    "credentials": {
  416         -
        "access_key_id": "AKIDEXAMPLE",
  417         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  418         -
    },
  419         -
    "expiration_in_seconds": 3600,
  420         -
    "normalize": true,
  421         -
    "region": "us-east-1",
  422         -
    "service": "service",
  423         -
    "sign_body": false,
  424         -
    "timestamp": "2015-08-30T12:36:00Z"
  425         -
}
  426    100   
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
  427    101   
deleted file mode 100644
  428    102   
index 45771c7..0000000
  429         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json
         103  +
++ /dev/null
  430    104   
@@ -1,12 +0,0 @@
  431         -
{
  432         -
    "credentials": {
  433         -
        "access_key_id": "AKIDEXAMPLE",
  434         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  435         -
    },
  436         -
    "expiration_in_seconds": 3600,
  437         -
    "normalize": true,
  438         -
    "region": "us-east-1",
  439         -
    "service": "service",
  440         -
    "sign_body": false,
  441         -
    "timestamp": "2015-08-30T12:36:00Z"
  442         -
}
  443    105   
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
  444    106   
deleted file mode 100644
  445    107   
index afe367b..0000000
  446         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json
         108  +
++ /dev/null
  447    109   
@@ -1,12 +0,0 @@
  448         -
{
  449         -
    "credentials": {
  450         -
        "access_key_id": "AKIDEXAMPLE",
  451         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  452         -
    },
  453         -
    "expiration_in_seconds": 3600,
  454         -
    "normalize": false,
  455         -
    "region": "us-east-1",
  456         -
    "service": "service",
  457         -
    "sign_body": false,
  458         -
    "timestamp": "2015-08-30T12:36:00Z"
  459         -
}
  460    110   
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
  461    111   
deleted file mode 100644
  462    112   
index 45771c7..0000000
  463         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json
         113  +
++ /dev/null
  464    114   
@@ -1,12 +0,0 @@
  465         -
{
  466         -
    "credentials": {
  467         -
        "access_key_id": "AKIDEXAMPLE",
  468         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  469         -
    },
  470         -
    "expiration_in_seconds": 3600,
  471         -
    "normalize": true,
  472         -
    "region": "us-east-1",
  473         -
    "service": "service",
  474         -
    "sign_body": false,
  475         -
    "timestamp": "2015-08-30T12:36:00Z"
  476         -
}
  477    115   
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
  478    116   
deleted file mode 100644
  479    117   
index afe367b..0000000
  480         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json
         118  +
++ /dev/null
  481    119   
@@ -1,12 +0,0 @@
  482         -
{
  483         -
    "credentials": {
  484         -
        "access_key_id": "AKIDEXAMPLE",
  485         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  486         -
    },
  487         -
    "expiration_in_seconds": 3600,
  488         -
    "normalize": false,
  489         -
    "region": "us-east-1",
  490         -
    "service": "service",
  491         -
    "sign_body": false,
  492         -
    "timestamp": "2015-08-30T12:36:00Z"
  493         -
}
  494    120   
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
  495    121   
deleted file mode 100644
  496    122   
index 45771c7..0000000
  497         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json
         123  +
++ /dev/null
  498    124   
@@ -1,12 +0,0 @@
  499         -
{
  500         -
    "credentials": {
  501         -
        "access_key_id": "AKIDEXAMPLE",
  502         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  503         -
    },
  504         -
    "expiration_in_seconds": 3600,
  505         -
    "normalize": true,
  506         -
    "region": "us-east-1",
  507         -
    "service": "service",
  508         -
    "sign_body": false,
  509         -
    "timestamp": "2015-08-30T12:36:00Z"
  510         -
}
  511    125   
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
  512    126   
deleted file mode 100644
  513    127   
index 45771c7..0000000
  514         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json
         128  +
++ /dev/null
  515    129   
@@ -1,12 +0,0 @@
  516         -
{
  517         -
    "credentials": {
  518         -
        "access_key_id": "AKIDEXAMPLE",
  519         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  520         -
    },
  521         -
    "expiration_in_seconds": 3600,
  522         -
    "normalize": true,
  523         -
    "region": "us-east-1",
  524         -
    "service": "service",
  525         -
    "sign_body": false,
  526         -
    "timestamp": "2015-08-30T12:36:00Z"
  527         -
}
  528    130   
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
  529    131   
deleted file mode 100644
  530    132   
index 45771c7..0000000
  531         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json
         133  +
++ /dev/null
  532    134   
@@ -1,12 +0,0 @@
  533         -
{
  534         -
    "credentials": {
  535         -
        "access_key_id": "AKIDEXAMPLE",
  536         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  537         -
    },
  538         -
    "expiration_in_seconds": 3600,
  539         -
    "normalize": true,
  540         -
    "region": "us-east-1",
  541         -
    "service": "service",
  542         -
    "sign_body": false,
  543         -
    "timestamp": "2015-08-30T12:36:00Z"
  544         -
}
  545    135   
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
  546    136   
deleted file mode 100644
  547    137   
index 45771c7..0000000
  548         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json
         138  +
++ /dev/null
  549    139   
@@ -1,12 +0,0 @@
  550         -
{
  551         -
    "credentials": {
  552         -
        "access_key_id": "AKIDEXAMPLE",
  553         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  554         -
    },
  555         -
    "expiration_in_seconds": 3600,
  556         -
    "normalize": true,
  557         -
    "region": "us-east-1",
  558         -
    "service": "service",
  559         -
    "sign_body": false,
  560         -
    "timestamp": "2015-08-30T12:36:00Z"
  561         -
}
  562    140   
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
  563    141   
deleted file mode 100644
  564    142   
index 45771c7..0000000
  565         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json
         143  +
++ /dev/null
  566    144   
@@ -1,12 +0,0 @@
  567         -
{
  568         -
    "credentials": {
  569         -
        "access_key_id": "AKIDEXAMPLE",
  570         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  571         -
    },
  572         -
    "expiration_in_seconds": 3600,
  573         -
    "normalize": true,
  574         -
    "region": "us-east-1",
  575         -
    "service": "service",
  576         -
    "sign_body": false,
  577         -
    "timestamp": "2015-08-30T12:36:00Z"
  578         -
}
  579    145   
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
  580    146   
deleted file mode 100644
  581    147   
index 47e7128..0000000
  582         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt
         148  +
++ /dev/null
  583    149   
@@ -1,9 +0,0 @@
  584         -
GET
  585         -
/
  586         -
  587         -
host:example.amazonaws.com
  588         -
x-amz-date:20150830T123600Z
  589         -
x-amz-region-set:us-east-1
  590         -
  591         -
host;x-amz-date;x-amz-region-set
  592         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  593    150   
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
  594    151   
deleted file mode 100644
  595    152   
index 95d7219..0000000
  596         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt
         153  +
++ /dev/null
  597    154   
@@ -1,4 +0,0 @@
  598         -
AWS4-ECDSA-P256-SHA256
  599         -
20150830T123600Z
  600         -
20150830/service/aws4_request
  601         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  602    155   
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
  603    156   
deleted file mode 100644
  604    157   
index a34ea26..0000000
  605         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt
         158  +
++ /dev/null
  606    159   
@@ -1,7 +0,0 @@
  607         -
GET
  608         -
/
  609         -
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
  610         -
host:example.amazonaws.com
  611         -
  612         -
host
  613         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  614    160   
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
  615    161   
deleted file mode 100644
  616    162   
index 48f855c..0000000
  617         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt
         163  +
++ /dev/null
  618    164   
@@ -1,4 +0,0 @@
  619         -
AWS4-ECDSA-P256-SHA256
  620         -
20150830T123600Z
  621         -
20150830/service/aws4_request
  622         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  623    165   
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
  624    166   
deleted file mode 100644
  625    167   
index 45771c7..0000000
  626         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json
         168  +
++ /dev/null
  627    169   
@@ -1,12 +0,0 @@
  628         -
{
  629         -
    "credentials": {
  630         -
        "access_key_id": "AKIDEXAMPLE",
  631         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  632         -
    },
  633         -
    "expiration_in_seconds": 3600,
  634         -
    "normalize": true,
  635         -
    "region": "us-east-1",
  636         -
    "service": "service",
  637         -
    "sign_body": false,
  638         -
    "timestamp": "2015-08-30T12:36:00Z"
  639         -
}
  640    170   
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
  641    171   
deleted file mode 100644
  642    172   
index 47e7128..0000000
  643         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt
         173  +
++ /dev/null
  644    174   
@@ -1,9 +0,0 @@
  645         -
GET
  646         -
/
  647         -
  648         -
host:example.amazonaws.com
  649         -
x-amz-date:20150830T123600Z
  650         -
x-amz-region-set:us-east-1
  651         -
  652         -
host;x-amz-date;x-amz-region-set
  653         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  654    175   
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
  655    176   
deleted file mode 100644
  656    177   
index 95d7219..0000000
  657         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt
         178  +
++ /dev/null
  658    179   
@@ -1,4 +0,0 @@
  659         -
AWS4-ECDSA-P256-SHA256
  660         -
20150830T123600Z
  661         -
20150830/service/aws4_request
  662         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  663    180   
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
  664    181   
deleted file mode 100644
  665    182   
index a34ea26..0000000
  666         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt
         183  +
++ /dev/null
  667    184   
@@ -1,7 +0,0 @@
  668         -
GET
  669         -
/
  670         -
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
  671         -
host:example.amazonaws.com
  672         -
  673         -
host
  674         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  675    185   
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
  676    186   
deleted file mode 100644
  677    187   
index 48f855c..0000000
  678         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt
         188  +
++ /dev/null
  679    189   
@@ -1,4 +0,0 @@
  680         -
AWS4-ECDSA-P256-SHA256
  681         -
20150830T123600Z
  682         -
20150830/service/aws4_request
  683         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  684    190   
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
  685    191   
deleted file mode 100644
  686    192   
index 45771c7..0000000
  687         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json
         193  +
++ /dev/null
  688    194   
@@ -1,12 +0,0 @@
  689         -
{
  690         -
    "credentials": {
  691         -
        "access_key_id": "AKIDEXAMPLE",
  692         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  693         -
    },
  694         -
    "expiration_in_seconds": 3600,
  695         -
    "normalize": true,
  696         -
    "region": "us-east-1",
  697         -
    "service": "service",
  698         -
    "sign_body": false,
  699         -
    "timestamp": "2015-08-30T12:36:00Z"
  700         -
}
  701    195   
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
  702    196   
deleted file mode 100644
  703    197   
index 45771c7..0000000
  704         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json
         198  +
++ /dev/null
  705    199   
@@ -1,12 +0,0 @@
  706         -
{
  707         -
    "credentials": {
  708         -
        "access_key_id": "AKIDEXAMPLE",
  709         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  710         -
    },
  711         -
    "expiration_in_seconds": 3600,
  712         -
    "normalize": true,
  713         -
    "region": "us-east-1",
  714         -
    "service": "service",
  715         -
    "sign_body": false,
  716         -
    "timestamp": "2015-08-30T12:36:00Z"
  717         -
}
  718    200   
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
  719    201   
deleted file mode 100644
  720    202   
index 45771c7..0000000
  721         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json
         203  +
++ /dev/null
  722    204   
@@ -1,12 +0,0 @@
  723         -
{
  724         -
    "credentials": {
  725         -
        "access_key_id": "AKIDEXAMPLE",
  726         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  727         -
    },
  728         -
    "expiration_in_seconds": 3600,
  729         -
    "normalize": true,
  730         -
    "region": "us-east-1",
  731         -
    "service": "service",
  732         -
    "sign_body": false,
  733         -
    "timestamp": "2015-08-30T12:36:00Z"
  734         -
}
  735    205   
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
  736    206   
deleted file mode 100644
  737    207   
index 45771c7..0000000
  738         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json
         208  +
++ /dev/null
  739    209   
@@ -1,12 +0,0 @@
  740         -
{
  741         -
    "credentials": {
  742         -
        "access_key_id": "AKIDEXAMPLE",
  743         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  744         -
    },
  745         -
    "expiration_in_seconds": 3600,
  746         -
    "normalize": true,
  747         -
    "region": "us-east-1",
  748         -
    "service": "service",
  749         -
    "sign_body": false,
  750         -
    "timestamp": "2015-08-30T12:36:00Z"
  751         -
}
  752    210   
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
  753    211   
deleted file mode 100644
  754    212   
index 45771c7..0000000
  755         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json
         213  +
++ /dev/null
  756    214   
@@ -1,12 +0,0 @@
  757         -
{
  758         -
    "credentials": {
  759         -
        "access_key_id": "AKIDEXAMPLE",
  760         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  761         -
    },
  762         -
    "expiration_in_seconds": 3600,
  763         -
    "normalize": true,
  764         -
    "region": "us-east-1",
  765         -
    "service": "service",
  766         -
    "sign_body": false,
  767         -
    "timestamp": "2015-08-30T12:36:00Z"
  768         -
}
  769    215   
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
  770    216   
deleted file mode 100644
  771    217   
index 45771c7..0000000
  772         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json
         218  +
++ /dev/null
  773    219   
@@ -1,12 +0,0 @@
  774         -
{
  775         -
    "credentials": {
  776         -
        "access_key_id": "AKIDEXAMPLE",
  777         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  778         -
    },
  779         -
    "expiration_in_seconds": 3600,
  780         -
    "normalize": true,
  781         -
    "region": "us-east-1",
  782         -
    "service": "service",
  783         -
    "sign_body": false,
  784         -
    "timestamp": "2015-08-30T12:36:00Z"
  785         -
}
  786    220   
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
  787    221   
deleted file mode 100644
  788    222   
index b6fdecf..0000000
  789         -
-- 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
         223  +
++ /dev/null
  790    224   
@@ -1,4 +0,0 @@
  791         -
AWS4-ECDSA-P256-SHA256
  792         -
20150830T123600Z
  793         -
20150830/service/aws4_request
  794         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  795    225   
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
  796    226   
deleted file mode 100644
  797    227   
index a300bea..0000000
  798         -
-- 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
         228  +
++ /dev/null
  799    229   
@@ -1,4 +0,0 @@
  800         -
AWS4-ECDSA-P256-SHA256
  801         -
20150830T123600Z
  802         -
20150830/service/aws4_request
  803         -
ab426c74406d082ad98929df8969624e6ed5cb7f4e8501fbbe7d8c20e9c3b417
  804    230   
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
  805    231   
deleted file mode 100644
  806    232   
index b6fdecf..0000000
  807         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt
         233  +
++ /dev/null
  808    234   
@@ -1,4 +0,0 @@
  809         -
AWS4-ECDSA-P256-SHA256
  810         -
20150830T123600Z
  811         -
20150830/service/aws4_request
  812         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  813    235   
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
  814    236   
new file mode 100644
  815    237   
index 0000000..a674243
  816         -
-- /dev/null
         238  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md
  817    239   
@@ -0,0 +1,7 @@
         240  +
# AWS SigV4 and SigV4A Signing Test Suite
         241  +
         242  +
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).
         243  +
         244  +
We added the following changes:
         245  +
         246  +
* 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
  818    247   
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
  819    248   
similarity index 100%
  820    249   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.creq
  821    250   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-canonical-request.txt
  822    251   
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
  823    252   
similarity index 100%
  824    253   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.sreq
  825    254   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-signed-request.txt
  826    255   
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
  827    256   
similarity index 100%
  828    257   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.req
  829    258   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/request.txt
  830    259   
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
  831    260   
similarity index 100%
  832    261   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq
  833    262   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-canonical-request.txt
  834    263   
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
  835    264   
similarity index 100%
  836    265   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq
  837    266   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-signed-request.txt
  838    267   
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
  839    268   
similarity index 100%
  840    269   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts
  841    270   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-string-to-sign.txt
  842    271   
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
  843    272   
similarity index 100%
  844    273   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req
  845    274   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/request.txt
  846    275   
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
  847    276   
similarity index 99%
  848    277   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
  849    278   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
  850    279   
index 45771c7..0468d80 100644
  851    280   
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
  852    281   
similarity index 100%
  853    282   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq
  854    283   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
  855    284   
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
  856    285   
new file mode 100644
  857    286   
index 0000000..7fc5d7a
  858         -
-- /dev/null
         287  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
  859    288   
@@ -0,0 +1 @@
         289  +
c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
              \
 No newline at end of file
  860    290   
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
  861    291   
new file mode 100644
  862    292   
index 0000000..36a1205
  863         -
-- /dev/null
         293  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
  864    294   
@@ -0,0 +1,8 @@
         295  +
GET / HTTP/1.1
         296  +
Host:example.amazonaws.com
         297  +
My-Header1:value2
         298  +
My-Header1:value2
         299  +
My-Header1:value1
         300  +
X-Amz-Date:20150830T123600Z
         301  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
         302  +
  865    303   
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
  866    304   
similarity index 100%
  867    305   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts
  868    306   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
  869    307   
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
  870    308   
new file mode 100644
  871    309   
index 0000000..f9f4190
  872         -
-- /dev/null
         310  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
  873    311   
@@ -0,0 +1,8 @@
         312  +
GET
         313  +
/
         314  +
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
         315  +
host:example.amazonaws.com
         316  +
my-header1:value2,value2,value1
         317  +
         318  +
host;my-header1
         319  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  874    320   
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
  875    321   
new file mode 100644
  876    322   
index 0000000..5d0d87f
  877         -
-- /dev/null
         323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
  878    324   
@@ -0,0 +1 @@
         325  +
3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97
              \
 No newline at end of file
  879    326   
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
  880    327   
new file mode 100644
  881    328   
index 0000000..c1dfcf4
  882         -
-- /dev/null
         329  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
  883    330   
@@ -0,0 +1,6 @@
         331  +
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
         332  +
Host:example.amazonaws.com
         333  +
My-Header1:value2
         334  +
My-Header1:value2
         335  +
My-Header1:value1
         336  +
  884    337   
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
  885    338   
similarity index 53%
  886    339   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
  887    340   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
  888    341   
index 0a3350a..077c1bb 100644
  889         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
         342  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
  890    343   
@@ -1,4 +1,4 @@
  891    344   
AWS4-HMAC-SHA256
  892    345   
20150830T123600Z
  893    346   
20150830/us-east-1/service/aws4_request
  894         -
b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55
              \
 No newline at end of file
         347  +
fe8b58fb44117d598520befc07c144a5699c661a8db78f9ce4caee1655dec813
              \
 No newline at end of file
  895    348   
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
  896    349   
similarity index 100%
  897    350   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt
  898    351   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
  899    352   
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
  900    353   
similarity index 99%
  901    354   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
  902    355   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
  903    356   
index 45771c7..0468d80 100644
  904    357   
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
  905    358   
similarity index 82%
  906    359   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
  907    360   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
  908    361   
index 721a39f..8cb5476 100644
  909         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
         362  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
  910    363   
@@ -1,9 +1,9 @@
  911    364   
GET
  912    365   
/
  913    366   
  914    367   
host:example.amazonaws.com
  915         -
my-header1:value1,value2,value3
         368  +
my-header1:value1 value2 value3
  916    369   
x-amz-date:20150830T123600Z
  917    370   
  918    371   
host;my-header1;x-amz-date
  919    372   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  920    373   
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
  921    374   
new file mode 100644
  922    375   
index 0000000..e6ff7a9
  923         -
-- /dev/null
         376  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
  924    377   
@@ -0,0 +1 @@
         378  +
cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
              \
 No newline at end of file
  925    379   
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
  926    380   
new file mode 100644
  927    381   
index 0000000..b5ef6a0
  928         -
-- /dev/null
         382  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
  929    383   
@@ -0,0 +1,8 @@
         384  +
GET / HTTP/1.1
         385  +
Host:example.amazonaws.com
         386  +
My-Header1:value1
         387  +
  value2
         388  +
     value3
         389  +
X-Amz-Date:20150830T123600Z
         390  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
         391  +
  930    392   
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
  931    393   
similarity index 53%
  932    394   
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
  933    395   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
  934    396   
index fd43a41..97c7430 100644
  935         -
-- 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
         397  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
  936    398   
@@ -1,4 +1,4 @@
  937    399   
AWS4-HMAC-SHA256
  938    400   
20150830T123600Z
  939    401   
20150830/us-east-1/service/aws4_request
  940         -
704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89
              \
 No newline at end of file
         402  +
e99419459a677bc11de234014be3c4e72c1ea5b454ceb58b613061f5d7a162e8
              \
 No newline at end of file
  941    403   
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
  942    404   
new file mode 100644
  943    405   
index 0000000..aac46de
  944         -
-- /dev/null
         406  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
  945    407   
@@ -0,0 +1,8 @@
         408  +
GET
         409  +
/
         410  +
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
         411  +
host:example.amazonaws.com
         412  +
my-header1:value1 value2 value3
         413  +
         414  +
host;my-header1
         415  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  946    416   
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
  947    417   
new file mode 100644
  948    418   
index 0000000..205732d
  949         -
-- /dev/null
         419  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
  950    420   
@@ -0,0 +1 @@
         421  +
e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56
              \
 No newline at end of file
  951    422   
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
  952    423   
new file mode 100644
  953    424   
index 0000000..a891b87
  954         -
-- /dev/null
         425  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
  955    426   
@@ -0,0 +1,6 @@
         427  +
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
         428  +
Host:example.amazonaws.com
         429  +
My-Header1:value1
         430  +
  value2
         431  +
     value3
         432  +
  956    433   
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
  957    434   
similarity index 53%
  958    435   
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
  959    436   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
  960    437   
index 90e66b8..ec3fe45 100644
  961         -
-- 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
         438  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
  962    439   
@@ -1,4 +1,4 @@
  963    440   
AWS4-HMAC-SHA256
  964    441   
20150830T123600Z
  965    442   
20150830/us-east-1/service/aws4_request
  966         -
c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606
              \
 No newline at end of file
         443  +
0e73c10e35324b4d215da4bb70be61d13a3d30d569be4ed6e8fd8948965341ca
              \
 No newline at end of file
  967    444   
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
  968    445   
similarity index 75%
  969    446   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
  970    447   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
  971    448   
index 7caa6ac..b5026cd 100644
  972         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
         449  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
  973    450   
@@ -1,6 +1,5 @@
  974    451   
GET / HTTP/1.1
  975    452   
Host:example.amazonaws.com
  976    453   
My-Header1:value1
  977    454   
  value2
  978    455   
     value3
  979         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
  980    456   
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
  981    457   
similarity index 99%
  982    458   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
  983    459   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
  984    460   
index 45771c7..0468d80 100644
  985    461   
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
  986    462   
similarity index 100%
  987    463   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq
  988    464   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
  989    465   
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
  990    466   
new file mode 100644
  991    467   
index 0000000..8ef0494
  992         -
-- /dev/null
         468  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
  993    469   
@@ -0,0 +1 @@
         470  +
08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
  994    471   
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
  995    472   
new file mode 100644
  996    473   
index 0000000..b786dc9
  997         -
-- /dev/null
         474  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
  998    475   
@@ -0,0 +1,9 @@
         476  +
GET / HTTP/1.1
         477  +
Host:example.amazonaws.com
         478  +
My-Header1:value4
         479  +
My-Header1:value1
         480  +
My-Header1:value3
         481  +
My-Header1:value2
         482  +
X-Amz-Date:20150830T123600Z
         483  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
         484  +
  999    485   
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
 1000    486   
similarity index 100%
 1001    487   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts
 1002    488   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
 1003    489   
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
 1004    490   
new file mode 100644
 1005    491   
index 0000000..a211cc5
 1006         -
-- /dev/null
         492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
 1007    493   
@@ -0,0 +1,8 @@
         494  +
GET
         495  +
/
         496  +
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
         497  +
host:example.amazonaws.com
         498  +
my-header1:value4,value1,value3,value2
         499  +
         500  +
host;my-header1
         501  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1008    502   
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
 1009    503   
new file mode 100644
 1010    504   
index 0000000..417b0fa
 1011         -
-- /dev/null
         505  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
 1012    506   
@@ -0,0 +1 @@
         507  +
313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e
              \
 No newline at end of file
 1013    508   
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
 1014    509   
new file mode 100644
 1015    510   
index 0000000..b615e5d
 1016         -
-- /dev/null
         511  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
 1017    512   
@@ -0,0 +1,7 @@
         513  +
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
         514  +
Host:example.amazonaws.com
         515  +
My-Header1:value4
         516  +
My-Header1:value1
         517  +
My-Header1:value3
         518  +
My-Header1:value2
         519  +
 1018    520   
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
 1019    521   
similarity index 53%
 1020    522   
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
 1021    523   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1022    524   
index f7e615e..dcaaa1b 100644
 1023         -
-- 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
         525  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1024    526   
@@ -1,4 +1,4 @@
 1025    527   
AWS4-HMAC-SHA256
 1026    528   
20150830T123600Z
 1027    529   
20150830/us-east-1/service/aws4_request
 1028         -
5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9
              \
 No newline at end of file
         530  +
f4d3f13084ba7664111670ce26458291d3e0c620acd9384f8cd6b60d8e83423e
              \
 No newline at end of file
 1029    531   
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
 1030    532   
similarity index 100%
 1031    533   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt
 1032    534   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1033    535   
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
 1034    536   
similarity index 99%
 1035    537   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
 1036    538   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1037    539   
index 45771c7..0468d80 100644
 1038    540   
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
 1039    541   
similarity index 100%
 1040    542   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq
 1041    543   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1042    544   
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
 1043    545   
new file mode 100644
 1044    546   
index 0000000..36081a9
 1045         -
-- /dev/null
         547  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1046    548   
@@ -0,0 +1 @@
         549  +
acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
 1047    550   
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
 1048    551   
new file mode 100644
 1049    552   
index 0000000..6331d16
 1050         -
-- /dev/null
         553  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1051    554   
@@ -0,0 +1,7 @@
         555  +
GET / HTTP/1.1
         556  +
Host:example.amazonaws.com
         557  +
My-Header1: value1
         558  +
My-Header2: "a   b   c"
         559  +
X-Amz-Date:20150830T123600Z
         560  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
         561  +
 1052    562   
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
 1053    563   
similarity index 100%
 1054    564   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts
 1055    565   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1056    566   
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
 1057    567   
new file mode 100644
 1058    568   
index 0000000..125c1f9
 1059         -
-- /dev/null
         569  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1060    570   
@@ -0,0 +1,9 @@
         571  +
GET
         572  +
/
         573  +
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
         574  +
host:example.amazonaws.com
         575  +
my-header1:value1
         576  +
my-header2:"a b c"
         577  +
         578  +
host;my-header1;my-header2
         579  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1061    580   
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
 1062    581   
new file mode 100644
 1063    582   
index 0000000..17007a8
 1064         -
-- /dev/null
         583  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1065    584   
@@ -0,0 +1 @@
         585  +
e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4
              \
 No newline at end of file
 1066    586   
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
 1067    587   
new file mode 100644
 1068    588   
index 0000000..e519fd9
 1069         -
-- /dev/null
         589  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1070    590   
@@ -0,0 +1,5 @@
         591  +
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
         592  +
Host:example.amazonaws.com
         593  +
My-Header1: value1
         594  +
My-Header2: "a   b   c"
         595  +
 1071    596   
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
 1072    597   
new file mode 100644
 1073    598   
index 0000000..6b4b781
 1074         -
-- /dev/null
         599  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1075    600   
@@ -0,0 +1,4 @@
         601  +
AWS4-HMAC-SHA256
         602  +
20150830T123600Z
         603  +
20150830/us-east-1/service/aws4_request
         604  +
84c9e353b6161b689210977f93b93e6a7182f9ecb2ceae8af8c3d86b080a88ae
              \
 No newline at end of file
 1076    605   
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
 1077    606   
similarity index 100%
 1078    607   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt
 1079    608   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1080    609   
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
 1081    610   
new file mode 100644
 1082    611   
index 0000000..0468d80
 1083         -
-- /dev/null
         612  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1084    613   
@@ -0,0 +1,12 @@
         614  +
{
         615  +
    "credentials": {
         616  +
        "access_key_id": "AKIDEXAMPLE",
         617  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         618  +
    },
         619  +
    "expiration_in_seconds": 3600,
         620  +
    "normalize": true,
         621  +
    "region": "us-east-1",
         622  +
    "service": "service",
         623  +
    "sign_body": false,
         624  +
    "timestamp": "2015-08-30T12:36:00Z"
         625  +
}
              \
 No newline at end of file
 1085    626   
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
 1086    627   
similarity index 100%
 1087    628   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq
 1088    629   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1089    630   
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
 1090    631   
new file mode 100644
 1091    632   
index 0000000..87f295f
 1092         -
-- /dev/null
         633  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1093    634   
@@ -0,0 +1 @@
         635  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1094    636   
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
 1095    637   
new file mode 100644
 1096    638   
index 0000000..0de8327
 1097         -
-- /dev/null
         639  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1098    640   
@@ -0,0 +1,5 @@
         641  +
GET /example/.. HTTP/1.1
         642  +
Host:example.amazonaws.com
         643  +
X-Amz-Date:20150830T123600Z
         644  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         645  +
 1099    646   
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
 1100    647   
similarity index 100%
 1101    648   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts
 1102    649   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1103    650   
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
 1104    651   
new file mode 100644
 1105    652   
index 0000000..fb2420d
 1106         -
-- /dev/null
         653  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1107    654   
@@ -0,0 +1,7 @@
         655  +
GET
         656  +
/
         657  +
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
         658  +
host:example.amazonaws.com
         659  +
         660  +
host
         661  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1108    662   
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
 1109    663   
new file mode 100644
 1110    664   
index 0000000..da5c905
 1111         -
-- /dev/null
         665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1112    666   
@@ -0,0 +1 @@
         667  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1113    668   
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
 1114    669   
new file mode 100644
 1115    670   
index 0000000..4329c98
 1116         -
-- /dev/null
         671  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1117    672   
@@ -0,0 +1,3 @@
         673  +
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
         674  +
Host:example.amazonaws.com
         675  +
 1118    676   
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
 1119    677   
new file mode 100644
 1120    678   
index 0000000..d837e67
 1121         -
-- /dev/null
         679  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1122    680   
@@ -0,0 +1,4 @@
         681  +
AWS4-HMAC-SHA256
         682  +
20150830T123600Z
         683  +
20150830/us-east-1/service/aws4_request
         684  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1123    685   
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
 1124    686   
similarity index 100%
 1125    687   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt
 1126    688   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1127    689   
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
 1128    690   
new file mode 100644
 1129    691   
index 0000000..0468d80
 1130         -
-- /dev/null
         692  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1131    693   
@@ -0,0 +1,12 @@
         694  +
{
         695  +
    "credentials": {
         696  +
        "access_key_id": "AKIDEXAMPLE",
         697  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         698  +
    },
         699  +
    "expiration_in_seconds": 3600,
         700  +
    "normalize": true,
         701  +
    "region": "us-east-1",
         702  +
    "service": "service",
         703  +
    "sign_body": false,
         704  +
    "timestamp": "2015-08-30T12:36:00Z"
         705  +
}
              \
 No newline at end of file
 1132    706   
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
 1133    707   
similarity index 100%
 1134    708   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq
 1135    709   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1136    710   
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
 1137    711   
new file mode 100644
 1138    712   
index 0000000..87f295f
 1139         -
-- /dev/null
         713  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1140    714   
@@ -0,0 +1 @@
         715  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1141    716   
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
 1142    717   
new file mode 100644
 1143    718   
index 0000000..f9b3815
 1144         -
-- /dev/null
         719  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1145    720   
@@ -0,0 +1,5 @@
         721  +
GET /example1/example2/../.. HTTP/1.1
         722  +
Host:example.amazonaws.com
         723  +
X-Amz-Date:20150830T123600Z
         724  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         725  +
 1146    726   
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
 1147    727   
similarity index 100%
 1148    728   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts
 1149    729   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1150    730   
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
 1151    731   
new file mode 100644
 1152    732   
index 0000000..fb2420d
 1153         -
-- /dev/null
         733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1154    734   
@@ -0,0 +1,7 @@
         735  +
GET
         736  +
/
         737  +
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
         738  +
host:example.amazonaws.com
         739  +
         740  +
host
         741  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1155    742   
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
 1156    743   
new file mode 100644
 1157    744   
index 0000000..da5c905
 1158         -
-- /dev/null
         745  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1159    746   
@@ -0,0 +1 @@
         747  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1160    748   
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
 1161    749   
new file mode 100644
 1162    750   
index 0000000..b2988b7
 1163         -
-- /dev/null
         751  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1164    752   
@@ -0,0 +1,3 @@
         753  +
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
         754  +
Host:example.amazonaws.com
         755  +
 1165    756   
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
 1166    757   
new file mode 100644
 1167    758   
index 0000000..d837e67
 1168         -
-- /dev/null
         759  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1169    760   
@@ -0,0 +1,4 @@
         761  +
AWS4-HMAC-SHA256
         762  +
20150830T123600Z
         763  +
20150830/us-east-1/service/aws4_request
         764  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1170    765   
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
 1171    766   
similarity index 100%
 1172    767   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt
 1173    768   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1174    769   
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
 1175    770   
similarity index 99%
 1176    771   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
 1177    772   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1178    773   
index afe367b..7bee5c7 100644
 1179    774   
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
 1180    775   
similarity index 82%
 1181    776   
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
 1182    777   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1183    778   
index 36c3cdf..6919c44 100644
 1184         -
-- 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
         779  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1185    780   
@@ -1,8 +1,8 @@
 1186    781   
GET
 1187         -
/
 1188         -
Param1=Value1&Param1=value2
         782  +
/example1/example2/../..
         783  +
 1189    784   
host:example.amazonaws.com
 1190    785   
x-amz-date:20150830T123600Z
 1191    786   
 1192    787   
host;x-amz-date
 1193    788   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1194    789   
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
 1195    790   
new file mode 100644
 1196    791   
index 0000000..4092d83
 1197         -
-- /dev/null
         792  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1198    793   
@@ -0,0 +1 @@
         794  +
dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
              \
 No newline at end of file
 1199    795   
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
 1200    796   
new file mode 100644
 1201    797   
index 0000000..e731b35
 1202         -
-- /dev/null
         798  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1203    799   
@@ -0,0 +1,5 @@
         800  +
GET /example1/example2/../.. HTTP/1.1
         801  +
Host:example.amazonaws.com
         802  +
X-Amz-Date:20150830T123600Z
         803  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
         804  +
 1204    805   
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
 1205    806   
new file mode 100644
 1206    807   
index 0000000..4f45752
 1207         -
-- /dev/null
         808  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1208    809   
@@ -0,0 +1,4 @@
         810  +
AWS4-HMAC-SHA256
         811  +
20150830T123600Z
         812  +
20150830/us-east-1/service/aws4_request
         813  +
76115030c0f3ff06c20fdff5ceb6d5e0b835a1743e00b94fea7c7f381269437b
              \
 No newline at end of file
 1209    814   
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
 1210    815   
new file mode 100644
 1211    816   
index 0000000..e1fb07d
 1212         -
-- /dev/null
         817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1213    818   
@@ -0,0 +1,7 @@
         819  +
GET
         820  +
/example1/example2/../..
         821  +
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
         822  +
host:example.amazonaws.com
         823  +
         824  +
host
         825  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1214    826   
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
 1215    827   
new file mode 100644
 1216    828   
index 0000000..8ac31d7
 1217         -
-- /dev/null
         829  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1218    830   
@@ -0,0 +1 @@
         831  +
b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16
              \
 No newline at end of file
 1219    832   
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
 1220    833   
new file mode 100644
 1221    834   
index 0000000..ac074f9
 1222         -
-- /dev/null
         835  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1223    836   
@@ -0,0 +1,3 @@
         837  +
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
         838  +
Host:example.amazonaws.com
         839  +
 1224    840   
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
 1225    841   
new file mode 100644
 1226    842   
index 0000000..8dcb6ff
 1227         -
-- /dev/null
         843  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1228    844   
@@ -0,0 +1,4 @@
         845  +
AWS4-HMAC-SHA256
         846  +
20150830T123600Z
         847  +
20150830/us-east-1/service/aws4_request
         848  +
13b7758115ec070fe36a7ae9d754154ad73f6ee9a5eac022494857d0e7effc18
              \
 No newline at end of file
 1229    849   
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
 1230    850   
similarity index 100%
 1231    851   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt
 1232    852   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1233    853   
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
 1234    854   
similarity index 99%
 1235    855   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
 1236    856   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1237    857   
index afe367b..7bee5c7 100644
 1238    858   
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
 1239    859   
similarity index 82%
 1240    860   
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
 1241    861   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1242    862   
index 26898eb..f640bc2 100644
 1243         -
-- 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
         863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1244    864   
@@ -1,8 +1,8 @@
 1245    865   
GET
 1246         -
/
 1247         -
Param1=value1&Param1=value2
         866  +
/example/..
         867  +
 1248    868   
host:example.amazonaws.com
 1249    869   
x-amz-date:20150830T123600Z
 1250    870   
 1251    871   
host;x-amz-date
 1252    872   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1253    873   
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
 1254    874   
new file mode 100644
 1255    875   
index 0000000..d957303
 1256         -
-- /dev/null
         876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1257    877   
@@ -0,0 +1 @@
         878  +
eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
              \
 No newline at end of file
 1258    879   
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
 1259    880   
new file mode 100644
 1260    881   
index 0000000..4f42ffc
 1261         -
-- /dev/null
         882  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1262    883   
@@ -0,0 +1,5 @@
         884  +
GET /example/.. HTTP/1.1
         885  +
Host:example.amazonaws.com
         886  +
X-Amz-Date:20150830T123600Z
         887  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
         888  +
 1263    889   
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
 1264    890   
new file mode 100644
 1265    891   
index 0000000..ca54bda
 1266         -
-- /dev/null
         892  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1267    893   
@@ -0,0 +1,4 @@
         894  +
AWS4-HMAC-SHA256
         895  +
20150830T123600Z
         896  +
20150830/us-east-1/service/aws4_request
         897  +
0511f456aa502b456d135fcb9d749374a55228f9dbeedda1eacf659e05b0615b
              \
 No newline at end of file
 1268    898   
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
 1269    899   
new file mode 100644
 1270    900   
index 0000000..dc80036
 1271         -
-- /dev/null
         901  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1272    902   
@@ -0,0 +1,7 @@
         903  +
GET
         904  +
/example/..
         905  +
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
         906  +
host:example.amazonaws.com
         907  +
         908  +
host
         909  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1273    910   
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
 1274    911   
new file mode 100644
 1275    912   
index 0000000..dfa0437
 1276         -
-- /dev/null
         913  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1277    914   
@@ -0,0 +1 @@
         915  +
cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee
              \
 No newline at end of file
 1278    916   
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
 1279    917   
new file mode 100644
 1280    918   
index 0000000..98367b1
 1281         -
-- /dev/null
         919  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1282    920   
@@ -0,0 +1,3 @@
         921  +
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
         922  +
Host:example.amazonaws.com
         923  +
 1283    924   
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
 1284    925   
new file mode 100644
 1285    926   
index 0000000..f65dd66
 1286         -
-- /dev/null
         927  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1287    928   
@@ -0,0 +1,4 @@
         929  +
AWS4-HMAC-SHA256
         930  +
20150830T123600Z
         931  +
20150830/us-east-1/service/aws4_request
         932  +
6e02e2dba21d6f269bae339b86ff27a4b7bbc9d88c482abccbfbf8a49d602482
              \
 No newline at end of file
 1288    933   
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
 1289    934   
similarity index 100%
 1290    935   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt
 1291    936   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1292    937   
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
 1293    938   
new file mode 100644
 1294    939   
index 0000000..0468d80
 1295         -
-- /dev/null
         940  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1296    941   
@@ -0,0 +1,12 @@
         942  +
{
         943  +
    "credentials": {
         944  +
        "access_key_id": "AKIDEXAMPLE",
         945  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         946  +
    },
         947  +
    "expiration_in_seconds": 3600,
         948  +
    "normalize": true,
         949  +
    "region": "us-east-1",
         950  +
    "service": "service",
         951  +
    "sign_body": false,
         952  +
    "timestamp": "2015-08-30T12:36:00Z"
         953  +
}
              \
 No newline at end of file
 1297    954   
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
 1298    955   
similarity index 100%
 1299    956   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq
 1300    957   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1301    958   
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
 1302    959   
new file mode 100644
 1303    960   
index 0000000..87f295f
 1304         -
-- /dev/null
         961  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1305    962   
@@ -0,0 +1 @@
         963  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1306    964   
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
 1307    965   
new file mode 100644
 1308    966   
index 0000000..99c8eeb
 1309         -
-- /dev/null
         967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1310    968   
@@ -0,0 +1,5 @@
         969  +
GET /./ HTTP/1.1
         970  +
Host:example.amazonaws.com
         971  +
X-Amz-Date:20150830T123600Z
         972  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         973  +
 1311    974   
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
 1312    975   
similarity index 100%
 1313    976   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts
 1314    977   
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
 1315    978   
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
 1316    979   
new file mode 100644
 1317    980   
index 0000000..fb2420d
 1318         -
-- /dev/null
         981  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1319    982   
@@ -0,0 +1,7 @@
         983  +
GET
         984  +
/
         985  +
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
         986  +
host:example.amazonaws.com
         987  +
         988  +
host
         989  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1320    990   
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
 1321    991   
new file mode 100644
 1322    992   
index 0000000..da5c905
 1323         -
-- /dev/null
         993  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1324    994   
@@ -0,0 +1 @@
         995  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1325    996   
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
 1326    997   
new file mode 100644
 1327    998   
index 0000000..2e47f69
 1328         -
-- /dev/null
         999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1329   1000   
@@ -0,0 +1,3 @@
        1001  +
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
        1002  +
Host:example.amazonaws.com
        1003  +
 1330   1004   
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
 1331   1005   
new file mode 100644
 1332   1006   
index 0000000..d837e67
 1333         -
-- /dev/null
        1007  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1334   1008   
@@ -0,0 +1,4 @@
        1009  +
AWS4-HMAC-SHA256
        1010  +
20150830T123600Z
        1011  +
20150830/us-east-1/service/aws4_request
        1012  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1335   1013   
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
 1336   1014   
similarity index 100%
 1337   1015   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt
 1338   1016   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1339   1017   
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
 1340   1018   
similarity index 99%
 1341   1019   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
 1342   1020   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1343   1021   
index afe367b..7bee5c7 100644
 1344   1022   
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
 1345   1023   
new file mode 100644
 1346   1024   
index 0000000..5159048
 1347         -
-- /dev/null
        1025  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1348   1026   
@@ -0,0 +1,8 @@
        1027  +
GET
        1028  +
/./
        1029  +
        1030  +
host:example.amazonaws.com
        1031  +
x-amz-date:20150830T123600Z
        1032  +
        1033  +
host;x-amz-date
        1034  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1349   1035   
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
 1350   1036   
new file mode 100644
 1351   1037   
index 0000000..b49ff0e
 1352         -
-- /dev/null
        1038  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1353   1039   
@@ -0,0 +1 @@
        1040  +
68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
              \
 No newline at end of file
 1354   1041   
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
 1355   1042   
new file mode 100644
 1356   1043   
index 0000000..aeb1ffa
 1357         -
-- /dev/null
        1044  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1358   1045   
@@ -0,0 +1,5 @@
        1046  +
GET /./ HTTP/1.1
        1047  +
Host:example.amazonaws.com
        1048  +
X-Amz-Date:20150830T123600Z
        1049  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
        1050  +
 1359   1051   
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
 1360   1052   
new file mode 100644
 1361   1053   
index 0000000..b7d8caf
 1362         -
-- /dev/null
        1054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1363   1055   
@@ -0,0 +1,4 @@
        1056  +
AWS4-HMAC-SHA256
        1057  +
20150830T123600Z
        1058  +
20150830/us-east-1/service/aws4_request
        1059  +
d67825e2268bd77a97c7688b8d72c31a3c1855b309808505ba0a9747d2465aa7
              \
 No newline at end of file
 1364   1060   
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
 1365   1061   
new file mode 100644
 1366   1062   
index 0000000..d4e029e
 1367         -
-- /dev/null
        1063  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1368   1064   
@@ -0,0 +1,7 @@
        1065  +
GET
        1066  +
/./
        1067  +
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
        1068  +
host:example.amazonaws.com
        1069  +
        1070  +
host
        1071  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1369   1072   
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
 1370   1073   
new file mode 100644
 1371   1074   
index 0000000..fe8f4cc
 1372         -
-- /dev/null
        1075  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1373   1076   
@@ -0,0 +1 @@
        1077  +
a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c
              \
 No newline at end of file
 1374   1078   
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
 1375   1079   
new file mode 100644
 1376   1080   
index 0000000..dcc4fc4
 1377         -
-- /dev/null
        1081  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1378   1082   
@@ -0,0 +1,3 @@
        1083  +
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
        1084  +
Host:example.amazonaws.com
        1085  +
 1379   1086   
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
 1380   1087   
new file mode 100644
 1381   1088   
index 0000000..5fb3ada
 1382         -
-- /dev/null
        1089  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1383   1090   
@@ -0,0 +1,4 @@
        1091  +
AWS4-HMAC-SHA256
        1092  +
20150830T123600Z
        1093  +
20150830/us-east-1/service/aws4_request
        1094  +
21b2da17873f30c1a7410efdc271738b318ccc2c9c6fbe1289fc242aeb1a8ae1
              \
 No newline at end of file
 1384   1095   
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
 1385   1096   
similarity index 100%
 1386   1097   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt
 1387   1098   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1388   1099   
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
 1389   1100   
new file mode 100644
 1390   1101   
index 0000000..0468d80
 1391         -
-- /dev/null
        1102  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1392   1103   
@@ -0,0 +1,12 @@
        1104  +
{
        1105  +
    "credentials": {
        1106  +
        "access_key_id": "AKIDEXAMPLE",
        1107  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1108  +
    },
        1109  +
    "expiration_in_seconds": 3600,
        1110  +
    "normalize": true,
        1111  +
    "region": "us-east-1",
        1112  +
    "service": "service",
        1113  +
    "sign_body": false,
        1114  +
    "timestamp": "2015-08-30T12:36:00Z"
        1115  +
}
              \
 No newline at end of file
 1393   1116   
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
 1394   1117   
similarity index 100%
 1395   1118   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq
 1396   1119   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1397   1120   
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
 1398   1121   
new file mode 100644
 1399   1122   
index 0000000..87f295f
 1400         -
-- /dev/null
        1123  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1401   1124   
@@ -0,0 +1 @@
        1125  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1402   1126   
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
 1403   1127   
new file mode 100644
 1404   1128   
index 0000000..b91087b
 1405         -
-- /dev/null
        1129  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1406   1130   
@@ -0,0 +1,5 @@
        1131  +
GET // HTTP/1.1
        1132  +
Host:example.amazonaws.com
        1133  +
X-Amz-Date:20150830T123600Z
        1134  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1135  +
 1407   1136   
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
 1408   1137   
similarity index 100%
 1409   1138   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts
 1410   1139   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1411   1140   
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
 1412   1141   
new file mode 100644
 1413   1142   
index 0000000..fb2420d
 1414         -
-- /dev/null
        1143  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1415   1144   
@@ -0,0 +1,7 @@
        1145  +
GET
        1146  +
/
        1147  +
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
        1148  +
host:example.amazonaws.com
        1149  +
        1150  +
host
        1151  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1416   1152   
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
 1417   1153   
new file mode 100644
 1418   1154   
index 0000000..da5c905
 1419         -
-- /dev/null
        1155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1420   1156   
@@ -0,0 +1 @@
        1157  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1421   1158   
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
 1422   1159   
new file mode 100644
 1423   1160   
index 0000000..0290ba4
 1424         -
-- /dev/null
        1161  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1425   1162   
@@ -0,0 +1,3 @@
        1163  +
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
        1164  +
Host:example.amazonaws.com
        1165  +
 1426   1166   
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
 1427   1167   
new file mode 100644
 1428   1168   
index 0000000..d837e67
 1429         -
-- /dev/null
        1169  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1430   1170   
@@ -0,0 +1,4 @@
        1171  +
AWS4-HMAC-SHA256
        1172  +
20150830T123600Z
        1173  +
20150830/us-east-1/service/aws4_request
        1174  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1431   1175   
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
 1432   1176   
similarity index 100%
 1433   1177   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt
 1434   1178   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1435   1179   
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
 1436   1180   
new file mode 100644
 1437   1181   
index 0000000..0468d80
 1438         -
-- /dev/null
        1182  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1439   1183   
@@ -0,0 +1,12 @@
        1184  +
{
        1185  +
    "credentials": {
        1186  +
        "access_key_id": "AKIDEXAMPLE",
        1187  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1188  +
    },
        1189  +
    "expiration_in_seconds": 3600,
        1190  +
    "normalize": true,
        1191  +
    "region": "us-east-1",
        1192  +
    "service": "service",
        1193  +
    "sign_body": false,
        1194  +
    "timestamp": "2015-08-30T12:36:00Z"
        1195  +
}
              \
 No newline at end of file
 1440   1196   
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
 1441   1197   
similarity index 100%
 1442   1198   
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
 1443   1199   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1444   1200   
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
 1445   1201   
new file mode 100644
 1446   1202   
index 0000000..8f892bf
 1447         -
-- /dev/null
        1203  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1448   1204   
@@ -0,0 +1 @@
        1205  +
ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
 1449   1206   
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
 1450   1207   
new file mode 100644
 1451   1208   
index 0000000..2a1895c
 1452         -
-- /dev/null
        1209  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1453   1210   
@@ -0,0 +1,5 @@
        1211  +
GET /./example HTTP/1.1
        1212  +
Host:example.amazonaws.com
        1213  +
X-Amz-Date:20150830T123600Z
        1214  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
        1215  +
 1454   1216   
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
 1455   1217   
similarity index 100%
 1456   1218   
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
 1457   1219   
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
 1458   1220   
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
 1459   1221   
new file mode 100644
 1460   1222   
index 0000000..99dfc2a
 1461         -
-- /dev/null
        1223  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1462   1224   
@@ -0,0 +1,7 @@
        1225  +
GET
        1226  +
/example
        1227  +
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
        1228  +
host:example.amazonaws.com
        1229  +
        1230  +
host
        1231  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1463   1232   
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
 1464   1233   
new file mode 100644
 1465   1234   
index 0000000..fcd7a17
 1466         -
-- /dev/null
        1235  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1467   1236   
@@ -0,0 +1 @@
        1237  +
35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de
              \
 No newline at end of file
 1468   1238   
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
 1469   1239   
new file mode 100644
 1470   1240   
index 0000000..f671de2
 1471         -
-- /dev/null
        1241  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1472   1242   
@@ -0,0 +1,3 @@
        1243  +
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
        1244  +
Host:example.amazonaws.com
        1245  +
 1473   1246   
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
 1474   1247   
new file mode 100644
 1475   1248   
index 0000000..f8456dc
 1476         -
-- /dev/null
        1249  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1477   1250   
@@ -0,0 +1,4 @@
        1251  +
AWS4-HMAC-SHA256
        1252  +
20150830T123600Z
        1253  +
20150830/us-east-1/service/aws4_request
        1254  +
88dd73bb06de69cb042dbb82cadbb4fce1a2623615d94520c271614abf94e738
              \
 No newline at end of file
 1478   1255   
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
 1479   1256   
similarity index 100%
 1480   1257   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt
 1481   1258   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1482   1259   
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
 1483   1260   
similarity index 99%
 1484   1261   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
 1485   1262   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1486   1263   
index afe367b..7bee5c7 100644
 1487   1264   
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
 1488   1265   
new file mode 100644
 1489   1266   
index 0000000..36698c7
 1490         -
-- /dev/null
        1267  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1491   1268   
@@ -0,0 +1,8 @@
        1269  +
GET
        1270  +
/./example
        1271  +
        1272  +
host:example.amazonaws.com
        1273  +
x-amz-date:20150830T123600Z
        1274  +
        1275  +
host;x-amz-date
        1276  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1492   1277   
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
 1493   1278   
new file mode 100644
 1494   1279   
index 0000000..4a4b8f2
 1495         -
-- /dev/null
        1280  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1496   1281   
@@ -0,0 +1 @@
        1282  +
beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
              \
 No newline at end of file
 1497   1283   
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
 1498   1284   
new file mode 100644
 1499   1285   
index 0000000..d462bcd
 1500         -
-- /dev/null
        1286  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1501   1287   
@@ -0,0 +1,5 @@
        1288  +
GET /./example HTTP/1.1
        1289  +
Host:example.amazonaws.com
        1290  +
X-Amz-Date:20150830T123600Z
        1291  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
        1292  +
 1502   1293   
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
 1503   1294   
new file mode 100644
 1504   1295   
index 0000000..8be78c9
 1505         -
-- /dev/null
        1296  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1506   1297   
@@ -0,0 +1,4 @@
        1298  +
AWS4-HMAC-SHA256
        1299  +
20150830T123600Z
        1300  +
20150830/us-east-1/service/aws4_request
        1301  +
73895e0e829507e28e39fd24669aedc2434a8e179e547e3c075b42921f952cdb
              \
 No newline at end of file
 1507   1302   
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
 1508   1303   
new file mode 100644
 1509   1304   
index 0000000..fe1103c
 1510         -
-- /dev/null
        1305  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1511   1306   
@@ -0,0 +1,7 @@
        1307  +
GET
        1308  +
/./example
        1309  +
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
        1310  +
host:example.amazonaws.com
        1311  +
        1312  +
host
        1313  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1512   1314   
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
 1513   1315   
new file mode 100644
 1514   1316   
index 0000000..ce80762
 1515         -
-- /dev/null
        1317  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1516   1318   
@@ -0,0 +1 @@
        1319  +
72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10
              \
 No newline at end of file
 1517   1320   
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
 1518   1321   
new file mode 100644
 1519   1322   
index 0000000..30841a6
 1520         -
-- /dev/null
        1323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1521   1324   
@@ -0,0 +1,3 @@
        1325  +
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
        1326  +
Host:example.amazonaws.com
        1327  +
 1522   1328   
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
 1523   1329   
new file mode 100644
 1524   1330   
index 0000000..5c66509
 1525         -
-- /dev/null
        1331  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1526   1332   
@@ -0,0 +1,4 @@
        1333  +
AWS4-HMAC-SHA256
        1334  +
20150830T123600Z
        1335  +
20150830/us-east-1/service/aws4_request
        1336  +
cb23444939471187ac1f0fb25d437337af0d5f48b5ae0ede5baa3727c8c6af92
              \
 No newline at end of file
 1527   1337   
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
 1528   1338   
similarity index 100%
 1529   1339   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt
 1530   1340   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1531   1341   
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
 1532   1342   
new file mode 100644
 1533   1343   
index 0000000..7bee5c7
 1534         -
-- /dev/null
        1344  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1535   1345   
@@ -0,0 +1,12 @@
        1346  +
{
        1347  +
    "credentials": {
        1348  +
        "access_key_id": "AKIDEXAMPLE",
        1349  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1350  +
    },
        1351  +
    "expiration_in_seconds": 3600,
        1352  +
    "normalize": false,
        1353  +
    "region": "us-east-1",
        1354  +
    "service": "service",
        1355  +
    "sign_body": false,
        1356  +
    "timestamp": "2015-08-30T12:36:00Z"
        1357  +
}
              \
 No newline at end of file
 1536   1358   
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
 1537   1359   
new file mode 100644
 1538   1360   
index 0000000..5860c8a
 1539         -
-- /dev/null
        1361  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1540   1362   
@@ -0,0 +1,8 @@
        1363  +
GET
        1364  +
//
        1365  +
        1366  +
host:example.amazonaws.com
        1367  +
x-amz-date:20150830T123600Z
        1368  +
        1369  +
host;x-amz-date
        1370  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1541   1371   
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
 1542   1372   
new file mode 100644
 1543   1373   
index 0000000..8310471
 1544         -
-- /dev/null
        1374  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1545   1375   
@@ -0,0 +1 @@
        1376  +
c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
              \
 No newline at end of file
 1546   1377   
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
 1547   1378   
new file mode 100644
 1548   1379   
index 0000000..2a7afef
 1549         -
-- /dev/null
        1380  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1550   1381   
@@ -0,0 +1,5 @@
        1382  +
GET // HTTP/1.1
        1383  +
Host:example.amazonaws.com
        1384  +
X-Amz-Date:20150830T123600Z
        1385  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
        1386  +
 1551   1387   
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
 1552   1388   
new file mode 100644
 1553   1389   
index 0000000..06059dd
 1554         -
-- /dev/null
        1390  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1555   1391   
@@ -0,0 +1,4 @@
        1392  +
AWS4-HMAC-SHA256
        1393  +
20150830T123600Z
        1394  +
20150830/us-east-1/service/aws4_request
        1395  +
80cb39203d058af815de2b79250ff56e1b73eb9b4718c86556cdc6f150c5d209
              \
 No newline at end of file
 1556   1396   
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
 1557   1397   
new file mode 100644
 1558   1398   
index 0000000..6d63aef
 1559         -
-- /dev/null
        1399  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1560   1400   
@@ -0,0 +1,7 @@
        1401  +
GET
        1402  +
//
        1403  +
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
        1404  +
host:example.amazonaws.com
        1405  +
        1406  +
host
        1407  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1561   1408   
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
 1562   1409   
new file mode 100644
 1563   1410   
index 0000000..e5b7b6c
 1564         -
-- /dev/null
        1411  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1565   1412   
@@ -0,0 +1 @@
        1413  +
b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd
              \
 No newline at end of file
 1566   1414   
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
 1567   1415   
new file mode 100644
 1568   1416   
index 0000000..46fe3fd
 1569         -
-- /dev/null
        1417  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1570   1418   
@@ -0,0 +1,3 @@
        1419  +
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
        1420  +
Host:example.amazonaws.com
        1421  +
 1571   1422   
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
 1572   1423   
new file mode 100644
 1573   1424   
index 0000000..ea79940
 1574         -
-- /dev/null
        1425  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1575   1426   
@@ -0,0 +1,4 @@
        1427  +
AWS4-HMAC-SHA256
        1428  +
20150830T123600Z
        1429  +
20150830/us-east-1/service/aws4_request
        1430  +
e10a01494cafa1f2207c4de80c69b7a36d6f2d282aa63ee64a5ca50e175cf730
              \
 No newline at end of file
 1576   1431   
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
 1577   1432   
similarity index 100%
 1578   1433   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt
 1579   1434   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1580   1435   
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
 1581   1436   
new file mode 100644
 1582   1437   
index 0000000..0468d80
 1583         -
-- /dev/null
        1438  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1584   1439   
@@ -0,0 +1,12 @@
        1440  +
{
        1441  +
    "credentials": {
        1442  +
        "access_key_id": "AKIDEXAMPLE",
        1443  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1444  +
    },
        1445  +
    "expiration_in_seconds": 3600,
        1446  +
    "normalize": true,
        1447  +
    "region": "us-east-1",
        1448  +
    "service": "service",
        1449  +
    "sign_body": false,
        1450  +
    "timestamp": "2015-08-30T12:36:00Z"
        1451  +
}
              \
 No newline at end of file
 1585   1452   
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
 1586   1453   
similarity index 100%
 1587   1454   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq
 1588   1455   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1589   1456   
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
 1590   1457   
new file mode 100644
 1591   1458   
index 0000000..71c7bac
 1592         -
-- /dev/null
        1459  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1593   1460   
@@ -0,0 +1 @@
        1461  +
9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
 1594   1462   
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
 1595   1463   
new file mode 100644
 1596   1464   
index 0000000..0add1f1
 1597         -
-- /dev/null
        1465  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1598   1466   
@@ -0,0 +1,5 @@
        1467  +
GET //example// HTTP/1.1
        1468  +
Host:example.amazonaws.com
        1469  +
X-Amz-Date:20150830T123600Z
        1470  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
        1471  +
 1599   1472   
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
 1600   1473   
similarity index 100%
 1601   1474   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts
 1602   1475   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1603   1476   
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
 1604   1477   
new file mode 100644
 1605   1478   
index 0000000..ce72510
 1606         -
-- /dev/null
        1479  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1607   1480   
@@ -0,0 +1,7 @@
        1481  +
GET
        1482  +
/example/
        1483  +
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
        1484  +
host:example.amazonaws.com
        1485  +
        1486  +
host
        1487  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1608   1488   
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
 1609   1489   
new file mode 100644
 1610   1490   
index 0000000..265f387
 1611         -
-- /dev/null
        1491  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1612   1492   
@@ -0,0 +1 @@
        1493  +
c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082
              \
 No newline at end of file
 1613   1494   
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
 1614   1495   
new file mode 100644
 1615   1496   
index 0000000..e1fcb2e
 1616         -
-- /dev/null
        1497  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1617   1498   
@@ -0,0 +1,3 @@
        1499  +
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
        1500  +
Host:example.amazonaws.com
        1501  +
 1618   1502   
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
 1619   1503   
new file mode 100644
 1620   1504   
index 0000000..a14de61
 1621         -
-- /dev/null
        1505  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1622   1506   
@@ -0,0 +1,4 @@
        1507  +
AWS4-HMAC-SHA256
        1508  +
20150830T123600Z
        1509  +
20150830/us-east-1/service/aws4_request
        1510  +
1a3e3fe19998c62136ed2ff9c8531973a46d4a21b336f58e8fcad185ec64d642
              \
 No newline at end of file
 1623   1511   
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
 1624   1512   
similarity index 100%
 1625   1513   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt
 1626   1514   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1627   1515   
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
 1628   1516   
new file mode 100644
 1629   1517   
index 0000000..7bee5c7
 1630         -
-- /dev/null
        1518  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1631   1519   
@@ -0,0 +1,12 @@
        1520  +
{
        1521  +
    "credentials": {
        1522  +
        "access_key_id": "AKIDEXAMPLE",
        1523  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1524  +
    },
        1525  +
    "expiration_in_seconds": 3600,
        1526  +
    "normalize": false,
        1527  +
    "region": "us-east-1",
        1528  +
    "service": "service",
        1529  +
    "sign_body": false,
        1530  +
    "timestamp": "2015-08-30T12:36:00Z"
        1531  +
}
              \
 No newline at end of file
 1632   1532   
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
 1633   1533   
new file mode 100644
 1634   1534   
index 0000000..dfffaaf
 1635         -
-- /dev/null
        1535  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1636   1536   
@@ -0,0 +1,8 @@
        1537  +
GET
        1538  +
//example//
        1539  +
        1540  +
host:example.amazonaws.com
        1541  +
x-amz-date:20150830T123600Z
        1542  +
        1543  +
host;x-amz-date
        1544  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1637   1545   
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
 1638   1546   
new file mode 100644
 1639   1547   
index 0000000..edbcc0d
 1640         -
-- /dev/null
        1548  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1641   1549   
@@ -0,0 +1 @@
        1550  +
87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
              \
 No newline at end of file
 1642   1551   
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
 1643   1552   
new file mode 100644
 1644   1553   
index 0000000..4cc12dd
 1645         -
-- /dev/null
        1554  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1646   1555   
@@ -0,0 +1,5 @@
        1556  +
GET //example// HTTP/1.1
        1557  +
Host:example.amazonaws.com
        1558  +
X-Amz-Date:20150830T123600Z
        1559  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
        1560  +
 1647   1561   
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
 1648   1562   
new file mode 100644
 1649   1563   
index 0000000..3eba390
 1650         -
-- /dev/null
        1564  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1651   1565   
@@ -0,0 +1,4 @@
        1566  +
AWS4-HMAC-SHA256
        1567  +
20150830T123600Z
        1568  +
20150830/us-east-1/service/aws4_request
        1569  +
528ec3105ee1f34ab014bb0a1a45da0ed2742a4fea3555149e5b4d5d201eb240
              \
 No newline at end of file
 1652   1570   
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
 1653   1571   
new file mode 100644
 1654   1572   
index 0000000..f7844e3
 1655         -
-- /dev/null
        1573  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1656   1574   
@@ -0,0 +1,7 @@
        1575  +
GET
        1576  +
//example//
        1577  +
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
        1578  +
host:example.amazonaws.com
        1579  +
        1580  +
host
        1581  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1657   1582   
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
 1658   1583   
new file mode 100644
 1659   1584   
index 0000000..a8d6b96
 1660         -
-- /dev/null
        1585  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1661   1586   
@@ -0,0 +1 @@
        1587  +
822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2
              \
 No newline at end of file
 1662   1588   
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
 1663   1589   
new file mode 100644
 1664   1590   
index 0000000..a8322c6
 1665         -
-- /dev/null
        1591  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1666   1592   
@@ -0,0 +1,3 @@
        1593  +
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
        1594  +
Host:example.amazonaws.com
        1595  +
 1667   1596   
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
 1668   1597   
new file mode 100644
 1669   1598   
index 0000000..068724d
 1670         -
-- /dev/null
        1599  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1671   1600   
@@ -0,0 +1,4 @@
        1601  +
AWS4-HMAC-SHA256
        1602  +
20150830T123600Z
        1603  +
20150830/us-east-1/service/aws4_request
        1604  +
82241114f9a6320f054333c890952474aa7a0069d28a4326c3a8d95bbecc69ee
              \
 No newline at end of file
 1672   1605   
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
 1673   1606   
similarity index 100%
 1674   1607   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt
 1675   1608   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1676   1609   
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
 1677   1610   
new file mode 100644
 1678   1611   
index 0000000..0468d80
 1679         -
-- /dev/null
        1612  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1680   1613   
@@ -0,0 +1,12 @@
        1614  +
{
        1615  +
    "credentials": {
        1616  +
        "access_key_id": "AKIDEXAMPLE",
        1617  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1618  +
    },
        1619  +
    "expiration_in_seconds": 3600,
        1620  +
    "normalize": true,
        1621  +
    "region": "us-east-1",
        1622  +
    "service": "service",
        1623  +
    "sign_body": false,
        1624  +
    "timestamp": "2015-08-30T12:36:00Z"
        1625  +
}
              \
 No newline at end of file
 1681   1626   
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
 1682   1627   
similarity index 100%
 1683   1628   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq
 1684   1629   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1685   1630   
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
 1686   1631   
new file mode 100644
 1687   1632   
index 0000000..f63892b
 1688         -
-- /dev/null
        1633  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1689   1634   
@@ -0,0 +1 @@
        1635  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1690   1636   
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
 1691   1637   
new file mode 100644
 1692   1638   
index 0000000..19cd5cb
 1693         -
-- /dev/null
        1639  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 1694   1640   
@@ -0,0 +1,5 @@
        1641  +
GET /example space/ HTTP/1.1
        1642  +
Host:example.amazonaws.com
        1643  +
X-Amz-Date:20150830T123600Z
        1644  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1645  +
 1695   1646   
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
 1696   1647   
similarity index 100%
 1697   1648   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts
 1698   1649   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 1699   1650   
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
 1700   1651   
new file mode 100644
 1701   1652   
index 0000000..fa3d3e2
 1702         -
-- /dev/null
        1653  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 1703   1654   
@@ -0,0 +1,7 @@
        1655  +
GET
        1656  +
/example%20space/
        1657  +
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
        1658  +
host:example.amazonaws.com
        1659  +
        1660  +
host
        1661  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1704   1662   
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
 1705   1663   
new file mode 100644
 1706   1664   
index 0000000..5b2e204
 1707         -
-- /dev/null
        1665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 1708   1666   
@@ -0,0 +1 @@
        1667  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1709   1668   
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
 1710   1669   
new file mode 100644
 1711   1670   
index 0000000..93ca1d0
 1712         -
-- /dev/null
        1671  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 1713   1672   
@@ -0,0 +1,3 @@
        1673  +
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
        1674  +
Host:example.amazonaws.com
        1675  +
 1714   1676   
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
 1715   1677   
new file mode 100644
 1716   1678   
index 0000000..b4cb789
 1717         -
-- /dev/null
        1679  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 1718   1680   
@@ -0,0 +1,4 @@
        1681  +
AWS4-HMAC-SHA256
        1682  +
20150830T123600Z
        1683  +
20150830/us-east-1/service/aws4_request
        1684  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1719   1685   
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
 1720   1686   
new file mode 100644
 1721   1687   
index 0000000..860a277
 1722         -
-- /dev/null
        1688  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 1723   1689   
@@ -0,0 +1,2 @@
        1690  +
GET /example%20space/ HTTP/1.1
        1691  +
Host:example.amazonaws.com
 1724   1692   
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
 1725   1693   
new file mode 100644
 1726   1694   
index 0000000..7bee5c7
 1727         -
-- /dev/null
        1695  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 1728   1696   
@@ -0,0 +1,12 @@
        1697  +
{
        1698  +
    "credentials": {
        1699  +
        "access_key_id": "AKIDEXAMPLE",
        1700  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1701  +
    },
        1702  +
    "expiration_in_seconds": 3600,
        1703  +
    "normalize": false,
        1704  +
    "region": "us-east-1",
        1705  +
    "service": "service",
        1706  +
    "sign_body": false,
        1707  +
    "timestamp": "2015-08-30T12:36:00Z"
        1708  +
}
              \
 No newline at end of file
 1729   1709   
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
 1730   1710   
similarity index 66%
 1731   1711   
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
 1732   1712   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1733   1713   
index 71dc981..124a709 100644
 1734         -
-- 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
        1714  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1735   1715   
@@ -1,9 +1,8 @@
 1736         -
POST
 1737         -
/
        1716  +
GET
        1717  +
/example%20space/
 1738   1718   
 1739         -
content-type:application/x-www-form-urlencoded; charset=utf-8
 1740   1719   
host:example.amazonaws.com
 1741   1720   
x-amz-date:20150830T123600Z
 1742   1721   
 1743   1722   
host;x-amz-date
 1744   1723   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1745   1724   
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
 1746   1725   
new file mode 100644
 1747   1726   
index 0000000..f63892b
 1748         -
-- /dev/null
        1727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 1749   1728   
@@ -0,0 +1 @@
        1729  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1750   1730   
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
 1751   1731   
new file mode 100644
 1752   1732   
index 0000000..19cd5cb
 1753         -
-- /dev/null
        1733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 1754   1734   
@@ -0,0 +1,5 @@
        1735  +
GET /example space/ HTTP/1.1
        1736  +
Host:example.amazonaws.com
        1737  +
X-Amz-Date:20150830T123600Z
        1738  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1739  +
 1755   1740   
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
 1756   1741   
new file mode 100644
 1757   1742   
index 0000000..a633f0c
 1758         -
-- /dev/null
        1743  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 1759   1744   
@@ -0,0 +1,4 @@
        1745  +
AWS4-HMAC-SHA256
        1746  +
20150830T123600Z
        1747  +
20150830/us-east-1/service/aws4_request
        1748  +
63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86
              \
 No newline at end of file
 1760   1749   
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
 1761   1750   
new file mode 100644
 1762   1751   
index 0000000..fa3d3e2
 1763         -
-- /dev/null
        1752  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 1764   1753   
@@ -0,0 +1,7 @@
        1754  +
GET
        1755  +
/example%20space/
        1756  +
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
        1757  +
host:example.amazonaws.com
        1758  +
        1759  +
host
        1760  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1765   1761   
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
 1766   1762   
new file mode 100644
 1767   1763   
index 0000000..5b2e204
 1768         -
-- /dev/null
        1764  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 1769   1765   
@@ -0,0 +1 @@
        1766  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1770   1767   
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
 1771   1768   
new file mode 100644
 1772   1769   
index 0000000..93ca1d0
 1773         -
-- /dev/null
        1770  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 1774   1771   
@@ -0,0 +1,3 @@
        1772  +
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
        1773  +
Host:example.amazonaws.com
        1774  +
 1775   1775   
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
 1776   1776   
new file mode 100644
 1777   1777   
index 0000000..b4cb789
 1778         -
-- /dev/null
        1778  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 1779   1779   
@@ -0,0 +1,4 @@
        1780  +
AWS4-HMAC-SHA256
        1781  +
20150830T123600Z
        1782  +
20150830/us-east-1/service/aws4_request
        1783  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1780   1784   
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
 1781   1785   
similarity index 67%
 1782   1786   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
 1783   1787   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1784   1788   
index b7d5e8b..ab509ab 100644
 1785         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
        1789  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1786   1790   
@@ -1,3 +1,2 @@
 1787   1791   
GET /example space/ HTTP/1.1
 1788   1792   
Host:example.amazonaws.com
 1789         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1790   1793   
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
 1791   1794   
new file mode 100644
 1792   1795   
index 0000000..0468d80
 1793         -
-- /dev/null
        1796  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 1794   1797   
@@ -0,0 +1,12 @@
        1798  +
{
        1799  +
    "credentials": {
        1800  +
        "access_key_id": "AKIDEXAMPLE",
        1801  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1802  +
    },
        1803  +
    "expiration_in_seconds": 3600,
        1804  +
    "normalize": true,
        1805  +
    "region": "us-east-1",
        1806  +
    "service": "service",
        1807  +
    "sign_body": false,
        1808  +
    "timestamp": "2015-08-30T12:36:00Z"
        1809  +
}
              \
 No newline at end of file
 1795   1810   
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
 1796   1811   
similarity index 100%
 1797   1812   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq
 1798   1813   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 1799   1814   
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
 1800   1815   
new file mode 100644
 1801   1816   
index 0000000..e503354
 1802         -
-- /dev/null
        1817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 1803   1818   
@@ -0,0 +1 @@
        1819  +
07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
 1804   1820   
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
 1805   1821   
new file mode 100644
 1806   1822   
index 0000000..4367892
 1807         -
-- /dev/null
        1823  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 1808   1824   
@@ -0,0 +1,5 @@
        1825  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        1826  +
Host:example.amazonaws.com
        1827  +
X-Amz-Date:20150830T123600Z
        1828  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
        1829  +
 1809   1830   
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
 1810   1831   
similarity index 100%
 1811   1832   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts
 1812   1833   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 1813   1834   
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
 1814   1835   
new file mode 100644
 1815   1836   
index 0000000..d7f0696
 1816         -
-- /dev/null
        1837  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 1817   1838   
@@ -0,0 +1,7 @@
        1839  +
GET
        1840  +
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
        1841  +
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
        1842  +
host:example.amazonaws.com
        1843  +
        1844  +
host
        1845  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1818   1846   
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
 1819   1847   
new file mode 100644
 1820   1848   
index 0000000..509e972
 1821         -
-- /dev/null
        1849  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 1822   1850   
@@ -0,0 +1 @@
        1851  +
95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005
              \
 No newline at end of file
 1823   1852   
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
 1824   1853   
new file mode 100644
 1825   1854   
index 0000000..79aad36
 1826         -
-- /dev/null
        1855  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 1827   1856   
@@ -0,0 +1,3 @@
        1857  +
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
        1858  +
Host:example.amazonaws.com
        1859  +
 1828   1860   
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
 1829   1861   
new file mode 100644
 1830   1862   
index 0000000..e8068b3
 1831         -
-- /dev/null
        1863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 1832   1864   
@@ -0,0 +1,4 @@
        1865  +
AWS4-HMAC-SHA256
        1866  +
20150830T123600Z
        1867  +
20150830/us-east-1/service/aws4_request
        1868  +
3134f2fbc6ef58f34b74b01643a159bfccbc121ea4288a4b75e65bc805d08219
              \
 No newline at end of file
 1833   1869   
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
 1834   1870   
similarity index 100%
 1835   1871   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt
 1836   1872   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 1837   1873   
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
 1838   1874   
new file mode 100644
 1839   1875   
index 0000000..0468d80
 1840         -
-- /dev/null
        1876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 1841   1877   
@@ -0,0 +1,12 @@
        1878  +
{
        1879  +
    "credentials": {
        1880  +
        "access_key_id": "AKIDEXAMPLE",
        1881  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1882  +
    },
        1883  +
    "expiration_in_seconds": 3600,
        1884  +
    "normalize": true,
        1885  +
    "region": "us-east-1",
        1886  +
    "service": "service",
        1887  +
    "sign_body": false,
        1888  +
    "timestamp": "2015-08-30T12:36:00Z"
        1889  +
}
              \
 No newline at end of file
 1842   1890   
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
 1843   1891   
similarity index 100%
 1844   1892   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq
 1845   1893   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 1846   1894   
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
 1847   1895   
new file mode 100644
 1848   1896   
index 0000000..9a13676
 1849         -
-- /dev/null
        1897  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 1850   1898   
@@ -0,0 +1 @@
        1899  +
8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
 1851   1900   
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
 1852   1901   
new file mode 100644
 1853   1902   
index 0000000..5aaf47c
 1854         -
-- /dev/null
        1903  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 1855   1904   
@@ -0,0 +1,5 @@
        1905  +
GET /ሴ HTTP/1.1
        1906  +
Host:example.amazonaws.com
        1907  +
X-Amz-Date:20150830T123600Z
        1908  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
        1909  +
 1856   1910   
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
 1857   1911   
similarity index 100%
 1858   1912   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts
 1859   1913   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 1860   1914   
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
 1861   1915   
new file mode 100644
 1862   1916   
index 0000000..bdb77c9
 1863         -
-- /dev/null
        1917  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 1864   1918   
@@ -0,0 +1,7 @@
        1919  +
GET
        1920  +
/%E1%88%B4
        1921  +
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
        1922  +
host:example.amazonaws.com
        1923  +
        1924  +
host
        1925  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1865   1926   
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
 1866   1927   
new file mode 100644
 1867   1928   
index 0000000..21342b3
 1868         -
-- /dev/null
        1929  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 1869   1930   
@@ -0,0 +1 @@
        1931  +
10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44
              \
 No newline at end of file
 1870   1932   
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
 1871   1933   
new file mode 100644
 1872   1934   
index 0000000..368c2ff
 1873         -
-- /dev/null
        1935  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 1874   1936   
@@ -0,0 +1,3 @@
        1937  +
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
        1938  +
Host:example.amazonaws.com
        1939  +
 1875   1940   
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
 1876   1941   
new file mode 100644
 1877   1942   
index 0000000..56b8fbf
 1878         -
-- /dev/null
        1943  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 1879   1944   
@@ -0,0 +1,4 @@
        1945  +
AWS4-HMAC-SHA256
        1946  +
20150830T123600Z
        1947  +
20150830/us-east-1/service/aws4_request
        1948  +
d8f78e05d0d9bb1c16ae1e60ed405de76cfb8fdcd3e414ffe65fad563b996d66
              \
 No newline at end of file
 1880   1949   
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
 1881   1950   
similarity index 62%
 1882   1951   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
 1883   1952   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 1884   1953   
index da4808d..9e273f6 100644
 1885         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
        1954  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 1886   1955   
@@ -1,3 +1,2 @@
 1887   1956   
GET /ሴ HTTP/1.1
 1888   1957   
Host:example.amazonaws.com
 1889         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1890   1958   
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
 1891   1959   
new file mode 100644
 1892   1960   
index 0000000..0468d80
 1893         -
-- /dev/null
        1961  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 1894   1962   
@@ -0,0 +1,12 @@
        1963  +
{
        1964  +
    "credentials": {
        1965  +
        "access_key_id": "AKIDEXAMPLE",
        1966  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1967  +
    },
        1968  +
    "expiration_in_seconds": 3600,
        1969  +
    "normalize": true,
        1970  +
    "region": "us-east-1",
        1971  +
    "service": "service",
        1972  +
    "sign_body": false,
        1973  +
    "timestamp": "2015-08-30T12:36:00Z"
        1974  +
}
              \
 No newline at end of file
 1895   1975   
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
 1896   1976   
similarity index 100%
 1897   1977   
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
 1898   1978   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 1899   1979   
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
 1900   1980   
new file mode 100644
 1901   1981   
index 0000000..d7f1c1c
 1902         -
-- /dev/null
        1982  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 1903   1983   
@@ -0,0 +1 @@
        1984  +
a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
 1904   1985   
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
 1905   1986   
new file mode 100644
 1906   1987   
index 0000000..1c60790
 1907         -
-- /dev/null
        1988  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 1908   1989   
@@ -0,0 +1,5 @@
        1990  +
GET /?Param1=value1 HTTP/1.1
        1991  +
Host:example.amazonaws.com
        1992  +
X-Amz-Date:20150830T123600Z
        1993  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
        1994  +
 1909   1995   
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
 1910   1996   
similarity index 100%
 1911   1997   
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
 1912   1998   
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
 1913   1999   
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
 1914   2000   
new file mode 100644
 1915   2001   
index 0000000..6a823ed
 1916         -
-- /dev/null
        2002  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 1917   2003   
@@ -0,0 +1,7 @@
        2004  +
GET
        2005  +
/
        2006  +
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
        2007  +
host:example.amazonaws.com
        2008  +
        2009  +
host
        2010  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1918   2011   
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
 1919   2012   
new file mode 100644
 1920   2013   
index 0000000..8c77136
 1921         -
-- /dev/null
        2014  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 1922   2015   
@@ -0,0 +1 @@
        2016  +
49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de
              \
 No newline at end of file
 1923   2017   
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
 1924   2018   
new file mode 100644
 1925   2019   
index 0000000..2d337d8
 1926         -
-- /dev/null
        2020  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 1927   2021   
@@ -0,0 +1,3 @@
        2022  +
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
        2023  +
Host:example.amazonaws.com
        2024  +
 1928   2025   
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
 1929   2026   
new file mode 100644
 1930   2027   
index 0000000..191a484
 1931         -
-- /dev/null
        2028  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 1932   2029   
@@ -0,0 +1,4 @@
        2030  +
AWS4-HMAC-SHA256
        2031  +
20150830T123600Z
        2032  +
20150830/us-east-1/service/aws4_request
        2033  +
74828b608f939673ed5a839190452a943b0178760f258da766209b21f8ca3f86
              \
 No newline at end of file
 1933   2034   
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
 1934   2035   
similarity index 100%
 1935   2036   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt
 1936   2037   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 1937   2038   
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
 1938   2039   
new file mode 100644
 1939   2040   
index 0000000..0468d80
 1940         -
-- /dev/null
        2041  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 1941   2042   
@@ -0,0 +1,12 @@
        2043  +
{
        2044  +
    "credentials": {
        2045  +
        "access_key_id": "AKIDEXAMPLE",
        2046  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2047  +
    },
        2048  +
    "expiration_in_seconds": 3600,
        2049  +
    "normalize": true,
        2050  +
    "region": "us-east-1",
        2051  +
    "service": "service",
        2052  +
    "sign_body": false,
        2053  +
    "timestamp": "2015-08-30T12:36:00Z"
        2054  +
}
              \
 No newline at end of file
 1942   2055   
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
 1943   2056   
new file mode 100644
 1944   2057   
index 0000000..0c8ba21
 1945         -
-- /dev/null
        2058  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 1946   2059   
@@ -0,0 +1,8 @@
        2060  +
GET
        2061  +
/
        2062  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        2063  +
host:example.amazonaws.com
        2064  +
x-amz-date:20150830T123600Z
        2065  +
        2066  +
host;x-amz-date
        2067  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1947   2068   
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
 1948   2069   
new file mode 100644
 1949   2070   
index 0000000..9ab65ed
 1950         -
-- /dev/null
        2071  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 1951   2072   
@@ -0,0 +1 @@
        2073  +
371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
              \
 No newline at end of file
 1952   2074   
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
 1953   2075   
new file mode 100644
 1954   2076   
index 0000000..0bcdf98
 1955         -
-- /dev/null
        2077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 1956   2078   
@@ -0,0 +1,5 @@
        2079  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2080  +
Host:example.amazonaws.com
        2081  +
X-Amz-Date:20150830T123600Z
        2082  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
        2083  +
 1957   2084   
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
 1958   2085   
new file mode 100644
 1959   2086   
index 0000000..bf674ad
 1960         -
-- /dev/null
        2087  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 1961   2088   
@@ -0,0 +1,4 @@
        2089  +
AWS4-HMAC-SHA256
        2090  +
20150830T123600Z
        2091  +
20150830/us-east-1/service/aws4_request
        2092  +
868294f5c38bd141c4972a373a76654f1418a8e4fc18b2e7903ae45e8ae0ec71
              \
 No newline at end of file
 1962   2093   
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
 1963   2094   
new file mode 100644
 1964   2095   
index 0000000..3f590a4
 1965         -
-- /dev/null
        2096  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 1966   2097   
@@ -0,0 +1,7 @@
        2098  +
GET
        2099  +
/
        2100  +
%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
        2101  +
host:example.amazonaws.com
        2102  +
        2103  +
host
        2104  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1967   2105   
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
 1968   2106   
new file mode 100644
 1969   2107   
index 0000000..e225eab
 1970         -
-- /dev/null
        2108  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 1971   2109   
@@ -0,0 +1 @@
        2110  +
c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787
              \
 No newline at end of file
 1972   2111   
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
 1973   2112   
new file mode 100644
 1974   2113   
index 0000000..6206719
 1975         -
-- /dev/null
        2114  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 1976   2115   
@@ -0,0 +1,3 @@
        2116  +
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
        2117  +
Host:example.amazonaws.com
        2118  +
 1977   2119   
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
 1978   2120   
new file mode 100644
 1979   2121   
index 0000000..81a4210
 1980         -
-- /dev/null
        2122  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 1981   2123   
@@ -0,0 +1,4 @@
        2124  +
AWS4-HMAC-SHA256
        2125  +
20150830T123600Z
        2126  +
20150830/us-east-1/service/aws4_request
        2127  +
9808d6cdc8245c74e705c68350fc6a62b91778cdd613890e5d177998c02c6f53
              \
 No newline at end of file
 1982   2128   
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
 1983   2129   
new file mode 100644
 1984   2130   
index 0000000..368c6e3
 1985         -
-- /dev/null
        2131  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 1986   2132   
@@ -0,0 +1,2 @@
        2133  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2134  +
Host:example.amazonaws.com
 1987   2135   
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
 1988   2136   
new file mode 100644
 1989   2137   
index 0000000..0468d80
 1990         -
-- /dev/null
        2138  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 1991   2139   
@@ -0,0 +1,12 @@
        2140  +
{
        2141  +
    "credentials": {
        2142  +
        "access_key_id": "AKIDEXAMPLE",
        2143  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2144  +
    },
        2145  +
    "expiration_in_seconds": 3600,
        2146  +
    "normalize": true,
        2147  +
    "region": "us-east-1",
        2148  +
    "service": "service",
        2149  +
    "sign_body": false,
        2150  +
    "timestamp": "2015-08-30T12:36:00Z"
        2151  +
}
              \
 No newline at end of file
 1992   2152   
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
 1993   2153   
similarity index 100%
 1994   2154   
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
 1995   2155   
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
 1996   2156   
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
 1997   2157   
new file mode 100644
 1998   2158   
index 0000000..6a8cb9d
 1999         -
-- /dev/null
        2159  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 2000   2160   
@@ -0,0 +1 @@
        2161  +
b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
 2001   2162   
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
 2002   2163   
new file mode 100644
 2003   2164   
index 0000000..f78a9d2
 2004         -
-- /dev/null
        2165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 2005   2166   
@@ -0,0 +1,5 @@
        2167  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        2168  +
Host:example.amazonaws.com
        2169  +
X-Amz-Date:20150830T123600Z
        2170  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
        2171  +
 2006   2172   
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
 2007   2173   
similarity index 100%
 2008   2174   
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
 2009   2175   
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
 2010   2176   
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
 2011   2177   
new file mode 100644
 2012   2178   
index 0000000..a6e1bc7
 2013         -
-- /dev/null
        2179  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 2014   2180   
@@ -0,0 +1,7 @@
        2181  +
GET
        2182  +
/
        2183  +
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
        2184  +
host:example.amazonaws.com
        2185  +
        2186  +
host
        2187  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2015   2188   
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
 2016   2189   
new file mode 100644
 2017   2190   
index 0000000..d6e6a88
 2018         -
-- /dev/null
        2191  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 2019   2192   
@@ -0,0 +1 @@
        2193  +
86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5
              \
 No newline at end of file
 2020   2194   
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
 2021   2195   
new file mode 100644
 2022   2196   
index 0000000..538e2f0
 2023         -
-- /dev/null
        2197  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 2024   2198   
@@ -0,0 +1,3 @@
        2199  +
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
        2200  +
Host:example.amazonaws.com
        2201  +
 2025   2202   
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
 2026   2203   
new file mode 100644
 2027   2204   
index 0000000..e696085
 2028         -
-- /dev/null
        2205  +
++ 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
 2029   2206   
@@ -0,0 +1,4 @@
        2207  +
AWS4-HMAC-SHA256
        2208  +
20150830T123600Z
        2209  +
20150830/us-east-1/service/aws4_request
        2210  +
b82878ecb2ab7ad194b9fe79b2946c2a36ee1627a219408089b2d774c1a0cedb
              \
 No newline at end of file
 2030   2211   
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
 2031   2212   
similarity index 100%
 2032   2213   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt
 2033   2214   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2034   2215   
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
 2035   2216   
new file mode 100644
 2036   2217   
index 0000000..0468d80
 2037         -
-- /dev/null
        2218  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2038   2219   
@@ -0,0 +1,12 @@
        2220  +
{
        2221  +
    "credentials": {
        2222  +
        "access_key_id": "AKIDEXAMPLE",
        2223  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2224  +
    },
        2225  +
    "expiration_in_seconds": 3600,
        2226  +
    "normalize": true,
        2227  +
    "region": "us-east-1",
        2228  +
    "service": "service",
        2229  +
    "sign_body": false,
        2230  +
    "timestamp": "2015-08-30T12:36:00Z"
        2231  +
}
              \
 No newline at end of file
 2039   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2040   2233   
similarity index 100%
 2041   2234   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq
 2042   2235   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2043   2236   
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
 2044   2237   
new file mode 100644
 2045   2238   
index 0000000..876a64b
 2046         -
-- /dev/null
        2239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2047   2240   
@@ -0,0 +1 @@
        2241  +
9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
 2048   2242   
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
 2049   2243   
similarity index 50%
 2050   2244   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
 2051   2245   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2052   2246   
index ba1ef40..9d0d993 100644
 2053         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
        2247  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2054   2248   
@@ -1,4 +1,5 @@
 2055   2249   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 2056   2250   
Host:example.amazonaws.com
 2057   2251   
X-Amz-Date:20150830T123600Z
 2058         -
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
        2252  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
        2253  +
 2059   2254   
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
 2060   2255   
similarity index 100%
 2061   2256   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts
 2062   2257   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2063   2258   
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
 2064   2259   
new file mode 100644
 2065   2260   
index 0000000..a1bac59
 2066         -
-- /dev/null
        2261  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2067   2262   
@@ -0,0 +1,7 @@
        2263  +
GET
        2264  +
/
        2265  +
-._~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
        2266  +
host:example.amazonaws.com
        2267  +
        2268  +
host
        2269  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2068   2270   
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
 2069   2271   
new file mode 100644
 2070   2272   
index 0000000..41881e9
 2071         -
-- /dev/null
        2273  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2072   2274   
@@ -0,0 +1 @@
        2275  +
8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf
              \
 No newline at end of file
 2073   2276   
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
 2074   2277   
new file mode 100644
 2075   2278   
index 0000000..3179076
 2076         -
-- /dev/null
        2279  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2077   2280   
@@ -0,0 +1,3 @@
        2281  +
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
        2282  +
Host:example.amazonaws.com
        2283  +
 2078   2284   
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
 2079   2285   
new file mode 100644
 2080   2286   
index 0000000..6d675fc
 2081         -
-- /dev/null
        2287  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2082   2288   
@@ -0,0 +1,4 @@
        2289  +
AWS4-HMAC-SHA256
        2290  +
20150830T123600Z
        2291  +
20150830/us-east-1/service/aws4_request
        2292  +
c77f27ef2b499fbfee3f0b3c88bba7057b2b31ee9b62047078a5e0d6be91fd58
              \
 No newline at end of file
 2083   2293   
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
 2084   2294   
similarity index 100%
 2085   2295   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt
 2086   2296   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2087   2297   
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
 2088   2298   
new file mode 100644
 2089   2299   
index 0000000..0468d80
 2090         -
-- /dev/null
        2300  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2091   2301   
@@ -0,0 +1,12 @@
        2302  +
{
        2303  +
    "credentials": {
        2304  +
        "access_key_id": "AKIDEXAMPLE",
        2305  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2306  +
    },
        2307  +
    "expiration_in_seconds": 3600,
        2308  +
    "normalize": true,
        2309  +
    "region": "us-east-1",
        2310  +
    "service": "service",
        2311  +
    "sign_body": false,
        2312  +
    "timestamp": "2015-08-30T12:36:00Z"
        2313  +
}
              \
 No newline at end of file
 2092   2314   
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
 2093   2315   
similarity index 100%
 2094   2316   
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
 2095   2317   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2096   2318   
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
 2097   2319   
new file mode 100644
 2098   2320   
index 0000000..87f295f
 2099         -
-- /dev/null
        2321  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2100   2322   
@@ -0,0 +1 @@
        2323  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2101   2324   
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
 2102   2325   
new file mode 100644
 2103   2326   
index 0000000..36b86e7
 2104         -
-- /dev/null
        2327  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2105   2328   
@@ -0,0 +1,5 @@
        2329  +
GET / HTTP/1.1
        2330  +
Host:example.amazonaws.com
        2331  +
X-Amz-Date:20150830T123600Z
        2332  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2333  +
 2106   2334   
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
 2107   2335   
similarity index 100%
 2108   2336   
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
 2109   2337   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2110   2338   
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
 2111   2339   
new file mode 100644
 2112   2340   
index 0000000..fb2420d
 2113         -
-- /dev/null
        2341  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2114   2342   
@@ -0,0 +1,7 @@
        2343  +
GET
        2344  +
/
        2345  +
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
        2346  +
host:example.amazonaws.com
        2347  +
        2348  +
host
        2349  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2115   2350   
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
 2116   2351   
new file mode 100644
 2117   2352   
index 0000000..da5c905
 2118         -
-- /dev/null
        2353  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2119   2354   
@@ -0,0 +1 @@
        2355  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2120   2356   
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
 2121   2357   
new file mode 100644
 2122   2358   
index 0000000..eeb7a8f
 2123         -
-- /dev/null
        2359  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2124   2360   
@@ -0,0 +1,3 @@
        2361  +
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
        2362  +
Host:example.amazonaws.com
        2363  +
 2125   2364   
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
 2126   2365   
new file mode 100644
 2127   2366   
index 0000000..d837e67
 2128         -
-- /dev/null
        2367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2129   2368   
@@ -0,0 +1,4 @@
        2369  +
AWS4-HMAC-SHA256
        2370  +
20150830T123600Z
        2371  +
20150830/us-east-1/service/aws4_request
        2372  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2130   2373   
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
 2131   2374   
similarity index 100%
 2132   2375   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt
 2133   2376   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2134   2377   
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
 2135   2378   
new file mode 100644
 2136   2379   
index 0000000..0468d80
 2137         -
-- /dev/null
        2380  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2138   2381   
@@ -0,0 +1,12 @@
        2382  +
{
        2383  +
    "credentials": {
        2384  +
        "access_key_id": "AKIDEXAMPLE",
        2385  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2386  +
    },
        2387  +
    "expiration_in_seconds": 3600,
        2388  +
    "normalize": true,
        2389  +
    "region": "us-east-1",
        2390  +
    "service": "service",
        2391  +
    "sign_body": false,
        2392  +
    "timestamp": "2015-08-30T12:36:00Z"
        2393  +
}
              \
 No newline at end of file
 2139   2394   
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
 2140   2395   
similarity index 100%
 2141   2396   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq
 2142   2397   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2143   2398   
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
 2144   2399   
new file mode 100644
 2145   2400   
index 0000000..19a2cc9
 2146         -
-- /dev/null
        2401  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2147   2402   
@@ -0,0 +1 @@
        2403  +
2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
 2148   2404   
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
 2149   2405   
new file mode 100644
 2150   2406   
index 0000000..acb13ee
 2151         -
-- /dev/null
        2407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2152   2408   
@@ -0,0 +1,5 @@
        2409  +
GET /?ሴ=bar HTTP/1.1
        2410  +
Host:example.amazonaws.com
        2411  +
X-Amz-Date:20150830T123600Z
        2412  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
        2413  +
 2153   2414   
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
 2154   2415   
similarity index 100%
 2155   2416   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts
 2156   2417   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2157   2418   
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
 2158   2419   
new file mode 100644
 2159   2420   
index 0000000..92cee62
 2160         -
-- /dev/null
        2421  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2161   2422   
@@ -0,0 +1,7 @@
        2423  +
GET
        2424  +
/
        2425  +
%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
        2426  +
host:example.amazonaws.com
        2427  +
        2428  +
host
        2429  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2162   2430   
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
 2163   2431   
new file mode 100644
 2164   2432   
index 0000000..c9e49de
 2165         -
-- /dev/null
        2433  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2166   2434   
@@ -0,0 +1 @@
        2435  +
0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600
              \
 No newline at end of file
 2167   2436   
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
 2168   2437   
new file mode 100644
 2169   2438   
index 0000000..8f4d8d0
 2170         -
-- /dev/null
        2439  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2171   2440   
@@ -0,0 +1,3 @@
        2441  +
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
        2442  +
Host:example.amazonaws.com
        2443  +
 2172   2444   
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
 2173   2445   
new file mode 100644
 2174   2446   
index 0000000..a6181dc
 2175         -
-- /dev/null
        2447  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2176   2448   
@@ -0,0 +1,4 @@
        2449  +
AWS4-HMAC-SHA256
        2450  +
20150830T123600Z
        2451  +
20150830/us-east-1/service/aws4_request
        2452  +
b2e8ae8e48ec880defebc6f6dc1d9fbc9f1856b33146f2943060ca71a50a7a77
              \
 No newline at end of file
 2177   2453   
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
 2178   2454   
similarity index 64%
 2179   2455   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
 2180   2456   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2181   2457   
index cc2757e..aff333a 100644
 2182         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
        2458  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2183   2459   
@@ -1,3 +1,2 @@
 2184   2460   
GET /?ሴ=bar HTTP/1.1
 2185   2461   
Host:example.amazonaws.com
 2186         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2187   2462   
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
 2188   2463   
similarity index 99%
 2189   2464   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
 2190   2465   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2191   2466   
index a457c8a..a334e18 100644
 2192   2467   
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
 2193   2468   
new file mode 100644
 2194   2469   
index 0000000..ccacdeb
 2195         -
-- /dev/null
        2470  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2196   2471   
@@ -0,0 +1,9 @@
        2472  +
GET
        2473  +
/
        2474  +
        2475  +
host:example.amazonaws.com
        2476  +
x-amz-date:20150830T123600Z
        2477  +
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2478  +
        2479  +
host;x-amz-date;x-amz-security-token
        2480  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2197   2481   
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
 2198   2482   
new file mode 100644
 2199   2483   
index 0000000..083e30d
 2200         -
-- /dev/null
        2484  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2201   2485   
@@ -0,0 +1 @@
        2486  +
07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
              \
 No newline at end of file
 2202   2487   
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
 2203   2488   
new file mode 100644
 2204   2489   
index 0000000..5287932
 2205         -
-- /dev/null
        2490  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2206   2491   
@@ -0,0 +1,6 @@
        2492  +
GET / HTTP/1.1
        2493  +
Host:example.amazonaws.com
        2494  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2495  +
X-Amz-Date:20150830T123600Z
        2496  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
        2497  +
 2207   2498   
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
 2208   2499   
new file mode 100644
 2209   2500   
index 0000000..742b880
 2210         -
-- /dev/null
        2501  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2211   2502   
@@ -0,0 +1,4 @@
        2503  +
AWS4-HMAC-SHA256
        2504  +
20150830T123600Z
        2505  +
20150830/us-east-1/service/aws4_request
        2506  +
067b36aa60031588cea4a4cde1f21215227a047690c72247f1d70b32fbbfad2b
              \
 No newline at end of file
 2212   2507   
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
 2213   2508   
new file mode 100644
 2214   2509   
index 0000000..5e75179
 2215         -
-- /dev/null
        2510  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2216   2511   
@@ -0,0 +1,7 @@
        2512  +
GET
        2513  +
/
        2514  +
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
        2515  +
host:example.amazonaws.com
        2516  +
        2517  +
host
        2518  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2217   2519   
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
 2218   2520   
new file mode 100644
 2219   2521   
index 0000000..50b947f
 2220         -
-- /dev/null
        2522  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2221   2523   
@@ -0,0 +1 @@
        2524  +
7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c
              \
 No newline at end of file
 2222   2525   
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
 2223   2526   
new file mode 100644
 2224   2527   
index 0000000..aee910b
 2225         -
-- /dev/null
        2528  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2226   2529   
@@ -0,0 +1,3 @@
        2530  +
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
        2531  +
Host:example.amazonaws.com
        2532  +
 2227   2533   
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
 2228   2534   
new file mode 100644
 2229   2535   
index 0000000..04a6c17
 2230         -
-- /dev/null
        2536  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2231   2537   
@@ -0,0 +1,4 @@
        2538  +
AWS4-HMAC-SHA256
        2539  +
20150830T123600Z
        2540  +
20150830/us-east-1/service/aws4_request
        2541  +
cb30434103085aa9e73780fc60dc9a9df818fd2a7b1de12a9f6f4d791f898761
              \
 No newline at end of file
 2232   2542   
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
 2233   2543   
similarity index 100%
 2234   2544   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt
 2235   2545   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2236   2546   
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
 2237   2547   
new file mode 100644
 2238   2548   
index 0000000..0468d80
 2239         -
-- /dev/null
        2549  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2240   2550   
@@ -0,0 +1,12 @@
        2551  +
{
        2552  +
    "credentials": {
        2553  +
        "access_key_id": "AKIDEXAMPLE",
        2554  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2555  +
    },
        2556  +
    "expiration_in_seconds": 3600,
        2557  +
    "normalize": true,
        2558  +
    "region": "us-east-1",
        2559  +
    "service": "service",
        2560  +
    "sign_body": false,
        2561  +
    "timestamp": "2015-08-30T12:36:00Z"
        2562  +
}
              \
 No newline at end of file
 2241   2563   
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
 2242   2564   
similarity index 100%
 2243   2565   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq
 2244   2566   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2245   2567   
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
 2246   2568   
new file mode 100644
 2247   2569   
index 0000000..87f295f
 2248         -
-- /dev/null
        2570  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2249   2571   
@@ -0,0 +1 @@
        2572  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2250   2573   
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
 2251   2574   
new file mode 100644
 2252   2575   
index 0000000..36b86e7
 2253         -
-- /dev/null
        2576  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2254   2577   
@@ -0,0 +1,5 @@
        2578  +
GET / HTTP/1.1
        2579  +
Host:example.amazonaws.com
        2580  +
X-Amz-Date:20150830T123600Z
        2581  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2582  +
 2255   2583   
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
 2256   2584   
similarity index 100%
 2257   2585   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts
 2258   2586   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2259   2587   
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
 2260   2588   
new file mode 100644
 2261   2589   
index 0000000..fb2420d
 2262         -
-- /dev/null
        2590  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2263   2591   
@@ -0,0 +1,7 @@
        2592  +
GET
        2593  +
/
        2594  +
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
        2595  +
host:example.amazonaws.com
        2596  +
        2597  +
host
        2598  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2264   2599   
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
 2265   2600   
new file mode 100644
 2266   2601   
index 0000000..da5c905
 2267         -
-- /dev/null
        2602  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2268   2603   
@@ -0,0 +1 @@
        2604  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2269   2605   
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
 2270   2606   
new file mode 100644
 2271   2607   
index 0000000..eeb7a8f
 2272         -
-- /dev/null
        2608  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2273   2609   
@@ -0,0 +1,3 @@
        2610  +
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
        2611  +
Host:example.amazonaws.com
        2612  +
 2274   2613   
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
 2275   2614   
new file mode 100644
 2276   2615   
index 0000000..d837e67
 2277         -
-- /dev/null
        2616  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2278   2617   
@@ -0,0 +1,4 @@
        2618  +
AWS4-HMAC-SHA256
        2619  +
20150830T123600Z
        2620  +
20150830/us-east-1/service/aws4_request
        2621  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2279   2622   
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
 2280   2623   
similarity index 100%
 2281   2624   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt
 2282   2625   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2283   2626   
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
 2284   2627   
new file mode 100644
 2285   2628   
index 0000000..0468d80
 2286         -
-- /dev/null
        2629  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2287   2630   
@@ -0,0 +1,12 @@
        2631  +
{
        2632  +
    "credentials": {
        2633  +
        "access_key_id": "AKIDEXAMPLE",
        2634  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2635  +
    },
        2636  +
    "expiration_in_seconds": 3600,
        2637  +
    "normalize": true,
        2638  +
    "region": "us-east-1",
        2639  +
    "service": "service",
        2640  +
    "sign_body": false,
        2641  +
    "timestamp": "2015-08-30T12:36:00Z"
        2642  +
}
              \
 No newline at end of file
 2288   2643   
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
 2289   2644   
similarity index 100%
 2290   2645   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq
 2291   2646   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2292   2647   
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
 2293   2648   
new file mode 100644
 2294   2649   
index 0000000..629487f
 2295         -
-- /dev/null
        2650  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2296   2651   
@@ -0,0 +1 @@
        2652  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2297   2653   
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
 2298   2654   
new file mode 100644
 2299   2655   
index 0000000..0d99b1c
 2300         -
-- /dev/null
        2656  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2301   2657   
@@ -0,0 +1,5 @@
        2658  +
POST / HTTP/1.1
        2659  +
Host:example.amazonaws.com
        2660  +
X-Amz-Date:20150830T123600Z
        2661  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2662  +
 2302   2663   
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
 2303   2664   
similarity index 100%
 2304   2665   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts
 2305   2666   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2306   2667   
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
 2307   2668   
new file mode 100644
 2308   2669   
index 0000000..d3341e7
 2309         -
-- /dev/null
        2670  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2310   2671   
@@ -0,0 +1,7 @@
        2672  +
POST
        2673  +
/
        2674  +
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
        2675  +
host:example.amazonaws.com
        2676  +
        2677  +
host
        2678  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2311   2679   
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
 2312   2680   
new file mode 100644
 2313   2681   
index 0000000..79f7e0d
 2314         -
-- /dev/null
        2682  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2315   2683   
@@ -0,0 +1 @@
        2684  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2316   2685   
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
 2317   2686   
new file mode 100644
 2318   2687   
index 0000000..94f1b21
 2319         -
-- /dev/null
        2688  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2320   2689   
@@ -0,0 +1,3 @@
        2690  +
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
        2691  +
Host:example.amazonaws.com
        2692  +
 2321   2693   
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
 2322   2694   
new file mode 100644
 2323   2695   
index 0000000..e8f335b
 2324         -
-- /dev/null
        2696  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2325   2697   
@@ -0,0 +1,4 @@
        2698  +
AWS4-HMAC-SHA256
        2699  +
20150830T123600Z
        2700  +
20150830/us-east-1/service/aws4_request
        2701  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2326   2702   
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
 2327   2703   
similarity index 100%
 2328   2704   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt
 2329   2705   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2330   2706   
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
 2331   2707   
new file mode 100644
 2332   2708   
index 0000000..0468d80
 2333         -
-- /dev/null
        2709  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2334   2710   
@@ -0,0 +1,12 @@
        2711  +
{
        2712  +
    "credentials": {
        2713  +
        "access_key_id": "AKIDEXAMPLE",
        2714  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2715  +
    },
        2716  +
    "expiration_in_seconds": 3600,
        2717  +
    "normalize": true,
        2718  +
    "region": "us-east-1",
        2719  +
    "service": "service",
        2720  +
    "sign_body": false,
        2721  +
    "timestamp": "2015-08-30T12:36:00Z"
        2722  +
}
              \
 No newline at end of file
 2335   2723   
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
 2336   2724   
similarity index 100%
 2337   2725   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq
 2338   2726   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2339   2727   
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
 2340   2728   
new file mode 100644
 2341   2729   
index 0000000..e4e6428
 2342         -
-- /dev/null
        2730  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2343   2731   
@@ -0,0 +1 @@
        2732  +
c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
 2344   2733   
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
 2345   2734   
new file mode 100644
 2346   2735   
index 0000000..e3778f5
 2347         -
-- /dev/null
        2736  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2348   2737   
@@ -0,0 +1,6 @@
        2738  +
POST / HTTP/1.1
        2739  +
Host:example.amazonaws.com
        2740  +
My-Header1:value1
        2741  +
X-Amz-Date:20150830T123600Z
        2742  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
        2743  +
 2349   2744   
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
 2350   2745   
similarity index 100%
 2351   2746   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts
 2352   2747   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2353   2748   
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
 2354   2749   
new file mode 100644
 2355   2750   
index 0000000..bd7c937
 2356         -
-- /dev/null
        2751  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2357   2752   
@@ -0,0 +1,8 @@
        2753  +
POST
        2754  +
/
        2755  +
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
        2756  +
host:example.amazonaws.com
        2757  +
my-header1:value1
        2758  +
        2759  +
host;my-header1
        2760  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2358   2761   
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
 2359   2762   
new file mode 100644
 2360   2763   
index 0000000..0416f13
 2361         -
-- /dev/null
        2764  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2362   2765   
@@ -0,0 +1 @@
        2766  +
c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7
              \
 No newline at end of file
 2363   2767   
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
 2364   2768   
new file mode 100644
 2365   2769   
index 0000000..5e6522f
 2366         -
-- /dev/null
        2770  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2367   2771   
@@ -0,0 +1,4 @@
        2772  +
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
        2773  +
Host:example.amazonaws.com
        2774  +
My-Header1:value1
        2775  +
 2368   2776   
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
 2369   2777   
new file mode 100644
 2370   2778   
index 0000000..d06d1df
 2371         -
-- /dev/null
        2779  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2372   2780   
@@ -0,0 +1,4 @@
        2781  +
AWS4-HMAC-SHA256
        2782  +
20150830T123600Z
        2783  +
20150830/us-east-1/service/aws4_request
        2784  +
1295ed77e4ef8b18b32815e493e0b0f78ee47615c0ecbebfec7c75709eb58c88
              \
 No newline at end of file
 2373   2785   
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
 2374   2786   
similarity index 100%
 2375   2787   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt
 2376   2788   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2377   2789   
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
 2378   2790   
new file mode 100644
 2379   2791   
index 0000000..0468d80
 2380         -
-- /dev/null
        2792  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2381   2793   
@@ -0,0 +1,12 @@
        2794  +
{
        2795  +
    "credentials": {
        2796  +
        "access_key_id": "AKIDEXAMPLE",
        2797  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2798  +
    },
        2799  +
    "expiration_in_seconds": 3600,
        2800  +
    "normalize": true,
        2801  +
    "region": "us-east-1",
        2802  +
    "service": "service",
        2803  +
    "sign_body": false,
        2804  +
    "timestamp": "2015-08-30T12:36:00Z"
        2805  +
}
              \
 No newline at end of file
 2382   2806   
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
 2383   2807   
similarity index 100%
 2384   2808   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq
 2385   2809   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2386   2810   
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
 2387   2811   
new file mode 100644
 2388   2812   
index 0000000..bb3809c
 2389         -
-- /dev/null
        2813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2390   2814   
@@ -0,0 +1 @@
        2815  +
cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
 2391   2816   
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
 2392   2817   
new file mode 100644
 2393   2818   
index 0000000..10f6761
 2394         -
-- /dev/null
        2819  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2395   2820   
@@ -0,0 +1,6 @@
        2821  +
POST / HTTP/1.1
        2822  +
Host:example.amazonaws.com
        2823  +
My-Header1:VALUE1
        2824  +
X-Amz-Date:20150830T123600Z
        2825  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
        2826  +
 2396   2827   
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
 2397   2828   
similarity index 100%
 2398   2829   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts
 2399   2830   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2400   2831   
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
 2401   2832   
new file mode 100644
 2402   2833   
index 0000000..f84856f
 2403         -
-- /dev/null
        2834  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2404   2835   
@@ -0,0 +1,8 @@
        2836  +
POST
        2837  +
/
        2838  +
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
        2839  +
host:example.amazonaws.com
        2840  +
my-header1:VALUE1
        2841  +
        2842  +
host;my-header1
        2843  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2405   2844   
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
 2406   2845   
new file mode 100644
 2407   2846   
index 0000000..a9d3cac
 2408         -
-- /dev/null
        2847  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2409   2848   
@@ -0,0 +1 @@
        2849  +
0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed
              \
 No newline at end of file
 2410   2850   
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
 2411   2851   
new file mode 100644
 2412   2852   
index 0000000..cf96c7c
 2413         -
-- /dev/null
        2853  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2414   2854   
@@ -0,0 +1,4 @@
        2855  +
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
        2856  +
Host:example.amazonaws.com
        2857  +
My-Header1:VALUE1
        2858  +
 2415   2859   
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
 2416   2860   
new file mode 100644
 2417   2861   
index 0000000..47ef566
 2418         -
-- /dev/null
        2862  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2419   2863   
@@ -0,0 +1,4 @@
        2864  +
AWS4-HMAC-SHA256
        2865  +
20150830T123600Z
        2866  +
20150830/us-east-1/service/aws4_request
        2867  +
9d4d1de88f0149695a91a01275fc72dc00fb50bdc78e424f012ec860d5f8c41d
              \
 No newline at end of file
 2420   2868   
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
 2421   2869   
similarity index 100%
 2422   2870   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt
 2423   2871   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2424   2872   
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
 2425   2873   
similarity index 100%
 2426   2874   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json
 2427   2875   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2428   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2429   2877   
similarity index 100%
 2430   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.creq
 2431   2879   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2432   2880   
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
 2433   2881   
new file mode 100644
 2434   2882   
index 0000000..629487f
 2435         -
-- /dev/null
        2883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2436   2884   
@@ -0,0 +1 @@
        2885  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2437   2886   
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
 2438   2887   
similarity index 67%
 2439   2888   
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
 2440   2889   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2441   2890   
index 291ed07..f96ff9e 100644
 2442         -
-- 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
        2891  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2443   2892   
@@ -1,5 +1,6 @@
 2444   2893   
POST / HTTP/1.1
 2445   2894   
Host:example.amazonaws.com
 2446         -
X-Amz-Date:20150830T123600Z
 2447   2895   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2448         -
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
        2896  +
X-Amz-Date:20150830T123600Z
        2897  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2898  +
 2449   2899   
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
 2450   2900   
similarity index 100%
 2451   2901   
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
 2452   2902   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2453   2903   
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
 2454   2904   
new file mode 100644
 2455   2905   
index 0000000..d3341e7
 2456         -
-- /dev/null
        2906  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2457   2907   
@@ -0,0 +1,7 @@
        2908  +
POST
        2909  +
/
        2910  +
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
        2911  +
host:example.amazonaws.com
        2912  +
        2913  +
host
        2914  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2458   2915   
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
 2459   2916   
new file mode 100644
 2460   2917   
index 0000000..79f7e0d
 2461         -
-- /dev/null
        2918  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2462   2919   
@@ -0,0 +1 @@
        2920  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2463   2921   
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
 2464   2922   
new file mode 100644
 2465   2923   
index 0000000..4983268
 2466         -
-- /dev/null
        2924  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2467   2925   
@@ -0,0 +1,3 @@
        2926  +
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
        2927  +
Host:example.amazonaws.com
        2928  +
 2468   2929   
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
 2469   2930   
new file mode 100644
 2470   2931   
index 0000000..e8f335b
 2471         -
-- /dev/null
        2932  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2472   2933   
@@ -0,0 +1,4 @@
        2934  +
AWS4-HMAC-SHA256
        2935  +
20150830T123600Z
        2936  +
20150830/us-east-1/service/aws4_request
        2937  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2473   2938   
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
 2474   2939   
similarity index 100%
 2475   2940   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt
 2476   2941   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2477   2942   
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
 2478   2943   
similarity index 100%
 2479   2944   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json
 2480   2945   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2481   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2482   2947   
similarity index 100%
 2483   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.creq
 2484   2949   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2485   2950   
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
 2486   2951   
new file mode 100644
 2487   2952   
index 0000000..85a7c29
 2488         -
-- /dev/null
        2953  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2489   2954   
@@ -0,0 +1 @@
        2955  +
85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
 2490   2956   
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
 2491   2957   
similarity index 65%
 2492   2958   
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
 2493   2959   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2494   2960   
index 37b2f04..4d0b143 100644
 2495         -
-- 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
        2961  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2496   2962   
@@ -1,5 +1,6 @@
 2497   2963   
POST / HTTP/1.1
 2498   2964   
Host:example.amazonaws.com
 2499         -
X-Amz-Date:20150830T123600Z
 2500   2965   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2501         -
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
        2966  +
X-Amz-Date:20150830T123600Z
        2967  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
        2968  +
 2502   2969   
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
 2503   2970   
similarity index 100%
 2504   2971   
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
 2505   2972   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2506   2973   
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
 2507   2974   
new file mode 100644
 2508   2975   
index 0000000..57a7bc3
 2509         -
-- /dev/null
        2976  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2510   2977   
@@ -0,0 +1,7 @@
        2978  +
POST
        2979  +
/
        2980  +
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
        2981  +
host:example.amazonaws.com
        2982  +
        2983  +
host
        2984  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2511   2985   
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
 2512   2986   
new file mode 100644
 2513   2987   
index 0000000..eb905d2
 2514         -
-- /dev/null
        2988  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2515   2989   
@@ -0,0 +1 @@
        2990  +
46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c
              \
 No newline at end of file
 2516   2991   
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
 2517   2992   
new file mode 100644
 2518   2993   
index 0000000..1d80ec0
 2519         -
-- /dev/null
        2994  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2520   2995   
@@ -0,0 +1,3 @@
        2996  +
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
        2997  +
Host:example.amazonaws.com
        2998  +
 2521   2999   
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
 2522   3000   
new file mode 100644
 2523   3001   
index 0000000..bd0239a
 2524         -
-- /dev/null
        3002  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2525   3003   
@@ -0,0 +1,4 @@
        3004  +
AWS4-HMAC-SHA256
        3005  +
20150830T123600Z
        3006  +
20150830/us-east-1/service/aws4_request
        3007  +
37f7ba7a2ec89e8b29a0d637bcc70d8e8d0fdba854ddfc5bc06a12398cfe8605
              \
 No newline at end of file
 2526   3008   
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
 2527   3009   
similarity index 100%
 2528   3010   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt
 2529   3011   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2530   3012   
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
 2531   3013   
new file mode 100644
 2532   3014   
index 0000000..0468d80
 2533         -
-- /dev/null
        3015  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2534   3016   
@@ -0,0 +1,12 @@
        3017  +
{
        3018  +
    "credentials": {
        3019  +
        "access_key_id": "AKIDEXAMPLE",
        3020  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3021  +
    },
        3022  +
    "expiration_in_seconds": 3600,
        3023  +
    "normalize": true,
        3024  +
    "region": "us-east-1",
        3025  +
    "service": "service",
        3026  +
    "sign_body": false,
        3027  +
    "timestamp": "2015-08-30T12:36:00Z"
        3028  +
}
              \
 No newline at end of file
 2535   3029   
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
 2536   3030   
similarity index 100%
 2537   3031   
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
 2538   3032   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2539   3033   
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
 2540   3034   
new file mode 100644
 2541   3035   
index 0000000..80ed433
 2542         -
-- /dev/null
        3036  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2543   3037   
@@ -0,0 +1 @@
        3038  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2544   3039   
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
 2545   3040   
new file mode 100644
 2546   3041   
index 0000000..4e614f8
 2547         -
-- /dev/null
        3042  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2548   3043   
@@ -0,0 +1,5 @@
        3044  +
POST /?Param1=value1 HTTP/1.1
        3045  +
Host:example.amazonaws.com
        3046  +
X-Amz-Date:20150830T123600Z
        3047  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3048  +
 2549   3049   
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
 2550   3050   
similarity index 100%
 2551   3051   
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
 2552   3052   
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
 2553   3053   
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
 2554   3054   
new file mode 100644
 2555   3055   
index 0000000..be66403
 2556         -
-- /dev/null
        3056  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2557   3057   
@@ -0,0 +1,7 @@
        3058  +
POST
        3059  +
/
        3060  +
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
        3061  +
host:example.amazonaws.com
        3062  +
        3063  +
host
        3064  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2558   3065   
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
 2559   3066   
new file mode 100644
 2560   3067   
index 0000000..20fd32b
 2561         -
-- /dev/null
        3068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2562   3069   
@@ -0,0 +1 @@
        3070  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2563   3071   
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
 2564   3072   
new file mode 100644
 2565   3073   
index 0000000..d1148d0
 2566         -
-- /dev/null
        3074  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2567   3075   
@@ -0,0 +1,3 @@
        3076  +
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
        3077  +
Host:example.amazonaws.com
        3078  +
 2568   3079   
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
 2569   3080   
new file mode 100644
 2570   3081   
index 0000000..1a77103
 2571         -
-- /dev/null
        3082  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2572   3083   
@@ -0,0 +1,4 @@
        3084  +
AWS4-HMAC-SHA256
        3085  +
20150830T123600Z
        3086  +
20150830/us-east-1/service/aws4_request
        3087  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2573   3088   
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
 2574   3089   
similarity index 100%
 2575   3090   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt
 2576   3091   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2577   3092   
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
 2578   3093   
new file mode 100644
 2579   3094   
index 0000000..0468d80
 2580         -
-- /dev/null
        3095  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2581   3096   
@@ -0,0 +1,12 @@
        3097  +
{
        3098  +
    "credentials": {
        3099  +
        "access_key_id": "AKIDEXAMPLE",
        3100  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3101  +
    },
        3102  +
    "expiration_in_seconds": 3600,
        3103  +
    "normalize": true,
        3104  +
    "region": "us-east-1",
        3105  +
    "service": "service",
        3106  +
    "sign_body": false,
        3107  +
    "timestamp": "2015-08-30T12:36:00Z"
        3108  +
}
              \
 No newline at end of file
 2582   3109   
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
 2583   3110   
similarity index 100%
 2584   3111   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq
 2585   3112   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2586   3113   
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
 2587   3114   
new file mode 100644
 2588   3115   
index 0000000..80ed433
 2589         -
-- /dev/null
        3116  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2590   3117   
@@ -0,0 +1 @@
        3118  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2591   3119   
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
 2592   3120   
new file mode 100644
 2593   3121   
index 0000000..4e614f8
 2594         -
-- /dev/null
        3122  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2595   3123   
@@ -0,0 +1,5 @@
        3124  +
POST /?Param1=value1 HTTP/1.1
        3125  +
Host:example.amazonaws.com
        3126  +
X-Amz-Date:20150830T123600Z
        3127  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3128  +
 2596   3129   
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
 2597   3130   
similarity index 100%
 2598   3131   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts
 2599   3132   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2600   3133   
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
 2601   3134   
new file mode 100644
 2602   3135   
index 0000000..be66403
 2603         -
-- /dev/null
        3136  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2604   3137   
@@ -0,0 +1,7 @@
        3138  +
POST
        3139  +
/
        3140  +
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
        3141  +
host:example.amazonaws.com
        3142  +
        3143  +
host
        3144  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2605   3145   
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
 2606   3146   
new file mode 100644
 2607   3147   
index 0000000..20fd32b
 2608         -
-- /dev/null
        3148  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2609   3149   
@@ -0,0 +1 @@
        3150  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2610   3151   
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
 2611   3152   
new file mode 100644
 2612   3153   
index 0000000..d1148d0
 2613         -
-- /dev/null
        3154  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2614   3155   
@@ -0,0 +1,3 @@
        3156  +
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
        3157  +
Host:example.amazonaws.com
        3158  +
 2615   3159   
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
 2616   3160   
new file mode 100644
 2617   3161   
index 0000000..1a77103
 2618         -
-- /dev/null
        3162  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2619   3163   
@@ -0,0 +1,4 @@
        3164  +
AWS4-HMAC-SHA256
        3165  +
20150830T123600Z
        3166  +
20150830/us-east-1/service/aws4_request
        3167  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2620   3168   
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
 2621   3169   
similarity index 100%
 2622   3170   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt
 2623   3171   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2624   3172   
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
 2625   3173   
new file mode 100644
 2626   3174   
index 0000000..0468d80
 2627         -
-- /dev/null
        3175  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2628   3176   
@@ -0,0 +1,12 @@
        3177  +
{
        3178  +
    "credentials": {
        3179  +
        "access_key_id": "AKIDEXAMPLE",
        3180  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3181  +
    },
        3182  +
    "expiration_in_seconds": 3600,
        3183  +
    "normalize": true,
        3184  +
    "region": "us-east-1",
        3185  +
    "service": "service",
        3186  +
    "sign_body": false,
        3187  +
    "timestamp": "2015-08-30T12:36:00Z"
        3188  +
}
              \
 No newline at end of file
 2629   3189   
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
 2630   3190   
similarity index 100%
 2631   3191   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq
 2632   3192   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2633   3193   
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
 2634   3194   
new file mode 100644
 2635   3195   
index 0000000..629487f
 2636         -
-- /dev/null
        3196  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2637   3197   
@@ -0,0 +1 @@
        3198  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2638   3199   
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
 2639   3200   
new file mode 100644
 2640   3201   
index 0000000..0d99b1c
 2641         -
-- /dev/null
        3202  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2642   3203   
@@ -0,0 +1,5 @@
        3204  +
POST / HTTP/1.1
        3205  +
Host:example.amazonaws.com
        3206  +
X-Amz-Date:20150830T123600Z
        3207  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3208  +
 2643   3209   
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
 2644   3210   
similarity index 100%
 2645   3211   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts
 2646   3212   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2647   3213   
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
 2648   3214   
new file mode 100644
 2649   3215   
index 0000000..d3341e7
 2650         -
-- /dev/null
        3216  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2651   3217   
@@ -0,0 +1,7 @@
        3218  +
POST
        3219  +
/
        3220  +
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
        3221  +
host:example.amazonaws.com
        3222  +
        3223  +
host
        3224  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2652   3225   
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
 2653   3226   
new file mode 100644
 2654   3227   
index 0000000..79f7e0d
 2655         -
-- /dev/null
        3228  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2656   3229   
@@ -0,0 +1 @@
        3230  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2657   3231   
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
 2658   3232   
new file mode 100644
 2659   3233   
index 0000000..94f1b21
 2660         -
-- /dev/null
        3234  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2661   3235   
@@ -0,0 +1,3 @@
        3236  +
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
        3237  +
Host:example.amazonaws.com
        3238  +
 2662   3239   
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
 2663   3240   
new file mode 100644
 2664   3241   
index 0000000..e8f335b
 2665         -
-- /dev/null
        3242  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2666   3243   
@@ -0,0 +1,4 @@
        3244  +
AWS4-HMAC-SHA256
        3245  +
20150830T123600Z
        3246  +
20150830/us-east-1/service/aws4_request
        3247  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2667   3248   
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
 2668   3249   
similarity index 100%
 2669   3250   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt
 2670   3251   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2671   3252   
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
 2672   3253   
similarity index 99%
 2673   3254   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
 2674   3255   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2675   3256   
index fc4bce6..0db1df1 100644
 2676   3257   
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
 2677   3258   
new file mode 100644
 2678   3259   
index 0000000..c218fdf
 2679         -
-- /dev/null
        3260  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2680   3261   
@@ -0,0 +1,11 @@
        3262  +
POST
        3263  +
/
        3264  +
        3265  +
content-length:13
        3266  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3267  +
host:example.amazonaws.com
        3268  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3269  +
x-amz-date:20150830T123600Z
        3270  +
        3271  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3272  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2681   3273   
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
 2682   3274   
new file mode 100644
 2683   3275   
index 0000000..836aa8b
 2684         -
-- /dev/null
        3276  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2685   3277   
@@ -0,0 +1 @@
        3278  +
328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
              \
 No newline at end of file
 2686   3279   
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
 2687   3280   
new file mode 100644
 2688   3281   
index 0000000..9262d53
 2689         -
-- /dev/null
        3282  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2690   3283   
@@ -0,0 +1,9 @@
        3284  +
POST / HTTP/1.1
        3285  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3286  +
Host:example.amazonaws.com
        3287  +
Content-Length:13
        3288  +
X-Amz-Date:20150830T123600Z
        3289  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3290  +
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
        3291  +
        3292  +
Param1=value1
              \
 No newline at end of file
 2691   3293   
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
 2692   3294   
new file mode 100644
 2693   3295   
index 0000000..ddbdccc
 2694         -
-- /dev/null
        3296  +
++ 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
 2695   3297   
@@ -0,0 +1,4 @@
        3298  +
AWS4-HMAC-SHA256
        3299  +
20150830T123600Z
        3300  +
20150830/us-east-1/service/aws4_request
        3301  +
a89f1a5b53e37702ee6363ce1da3ce8f54386f3c8f352ae652153c2982a0bc4d
              \
 No newline at end of file
 2696   3302   
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
 2697   3303   
new file mode 100644
 2698   3304   
index 0000000..596a579
 2699         -
-- /dev/null
        3305  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 2700   3306   
@@ -0,0 +1,9 @@
        3307  +
POST
        3308  +
/
        3309  +
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
        3310  +
content-length:13
        3311  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3312  +
host:example.amazonaws.com
        3313  +
        3314  +
content-length;content-type;host
        3315  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2701   3316   
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
 2702   3317   
new file mode 100644
 2703   3318   
index 0000000..bc85cd8
 2704         -
-- /dev/null
        3319  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 2705   3320   
@@ -0,0 +1 @@
        3321  +
0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d
              \
 No newline at end of file
 2706   3322   
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
 2707   3323   
new file mode 100644
 2708   3324   
index 0000000..16b59e5
 2709         -
-- /dev/null
        3325  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 2710   3326   
@@ -0,0 +1,6 @@
        3327  +
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
        3328  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3329  +
Host:example.amazonaws.com
        3330  +
Content-Length:13
        3331  +
        3332  +
Param1=value1
              \
 No newline at end of file
 2711   3333   
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
 2712   3334   
new file mode 100644
 2713   3335   
index 0000000..50074af
 2714         -
-- /dev/null
        3336  +
++ 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
 2715   3337   
@@ -0,0 +1,4 @@
        3338  +
AWS4-HMAC-SHA256
        3339  +
20150830T123600Z
        3340  +
20150830/us-east-1/service/aws4_request
        3341  +
32192353b8ae6d857fac1c71cda066e6af2d3a3127ea7ac1fee22621ab4f05dc
              \
 No newline at end of file
 2716   3342   
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
 2717   3343   
similarity index 89%
 2718   3344   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
 2719   3345   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 2720   3346   
index b711c25..8289eaa 100644
 2721   3347   
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
 2722   3348   
similarity index 99%
 2723   3349   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
 2724   3350   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 2725   3351   
index fc4bce6..0db1df1 100644
 2726   3352   
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
 2727   3353   
new file mode 100644
 2728   3354   
index 0000000..4d116a5
 2729         -
-- /dev/null
        3355  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 2730   3356   
@@ -0,0 +1,11 @@
        3357  +
POST
        3358  +
/
        3359  +
        3360  +
content-length:13
        3361  +
content-type:application/x-www-form-urlencoded
        3362  +
host:example.amazonaws.com
        3363  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3364  +
x-amz-date:20150830T123600Z
        3365  +
        3366  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3367  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2731   3368   
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
 2732   3369   
new file mode 100644
 2733   3370   
index 0000000..0d2ac37
 2734         -
-- /dev/null
        3371  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 2735   3372   
@@ -0,0 +1 @@
        3373  +
d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
              \
 No newline at end of file
 2736   3374   
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
 2737   3375   
new file mode 100644
 2738   3376   
index 0000000..bd5e49c
 2739         -
-- /dev/null
        3377  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 2740   3378   
@@ -0,0 +1,9 @@
        3379  +
POST / HTTP/1.1
        3380  +
Content-Type:application/x-www-form-urlencoded
        3381  +
Host:example.amazonaws.com
        3382  +
Content-Length:13
        3383  +
X-Amz-Date:20150830T123600Z
        3384  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3385  +
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
        3386  +
        3387  +
Param1=value1
              \
 No newline at end of file
 2741   3388   
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
 2742   3389   
new file mode 100644
 2743   3390   
index 0000000..f1c599c
 2744         -
-- /dev/null
        3391  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 2745   3392   
@@ -0,0 +1,4 @@
        3393  +
AWS4-HMAC-SHA256
        3394  +
20150830T123600Z
        3395  +
20150830/us-east-1/service/aws4_request
        3396  +
b1edd1d03544c25390e32085d55b57acc9a3961bb59415ff86c45c3d89d16cfb
              \
 No newline at end of file
 2746   3397   
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
 2747   3398   
new file mode 100644
 2748   3399   
index 0000000..1fc1bb7
 2749         -
-- /dev/null
        3400  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 2750   3401   
@@ -0,0 +1,9 @@
        3402  +
POST
        3403  +
/
        3404  +
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
        3405  +
content-length:13
        3406  +
content-type:application/x-www-form-urlencoded
        3407  +
host:example.amazonaws.com
        3408  +
        3409  +
content-length;content-type;host
        3410  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2751   3411   
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
 2752   3412   
new file mode 100644
 2753   3413   
index 0000000..98c91b3
 2754         -
-- /dev/null
        3414  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 2755   3415   
@@ -0,0 +1 @@
        3416  +
89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9
              \
 No newline at end of file
 2756   3417   
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
 2757   3418   
new file mode 100644
 2758   3419   
index 0000000..055cd7a
 2759         -
-- /dev/null
        3420  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 2760   3421   
@@ -0,0 +1,6 @@
        3422  +
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
        3423  +
Content-Type:application/x-www-form-urlencoded
        3424  +
Host:example.amazonaws.com
        3425  +
Content-Length:13
        3426  +
        3427  +
Param1=value1
              \
 No newline at end of file
 2761   3428   
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
 2762   3429   
new file mode 100644
 2763   3430   
index 0000000..db7fc27
 2764         -
-- /dev/null
        3431  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 2765   3432   
@@ -0,0 +1,4 @@
        3433  +
AWS4-HMAC-SHA256
        3434  +
20150830T123600Z
        3435  +
20150830/us-east-1/service/aws4_request
        3436  +
ee5059a7c437165a28d0e775e6498be428761255d657d8c04cb1baa41de6514c
              \
 No newline at end of file
 2766   3437   
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
 2767   3438   
similarity index 88%
 2768   3439   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
 2769   3440   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 2770   3441   
index 0091102..760b2d3 100644
 2771   3442   
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
 2772   3443   
new file mode 100644
 2773   3444   
index 0000000..0468d80
 2774         -
-- /dev/null
        3445  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 2775   3446   
@@ -0,0 +1,12 @@
        3447  +
{
        3448  +
    "credentials": {
        3449  +
        "access_key_id": "AKIDEXAMPLE",
        3450  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3451  +
    },
        3452  +
    "expiration_in_seconds": 3600,
        3453  +
    "normalize": true,
        3454  +
    "region": "us-east-1",
        3455  +
    "service": "service",
        3456  +
    "sign_body": false,
        3457  +
    "timestamp": "2015-08-30T12:36:00Z"
        3458  +
}
              \
 No newline at end of file
 2776   3459   
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
 2777   3460   
similarity index 99%
 2778   3461   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
 2779   3462   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 2780   3463   
index ccb5f43..1bc448e 100644
 2781   3464   
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
 2782   3465   
new file mode 100644
 2783   3466   
index 0000000..489c182
 2784         -
-- /dev/null
        3467  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 2785   3468   
@@ -0,0 +1 @@
        3469  +
304502204862ad283a21f883fc12f1156a6f3fcdbba13d1847e58aa5eb37c666477ea06b022100ee439fac0a975c9a6605b1fa44ad7b654a1f8ac6e868e4e1069a1b3aa35d8113
              \
 No newline at end of file
 2786   3470   
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
 2787   3471   
new file mode 100644
 2788   3472   
index 0000000..e1b8dbf
 2789         -
-- /dev/null
        3473  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 2790   3474   
@@ -0,0 +1,9 @@
        3475  +
GET / HTTP/1.1
        3476  +
Host:example.amazonaws.com
        3477  +
My-Header1:value2
        3478  +
My-Header1:value2
        3479  +
My-Header1:value1
        3480  +
X-Amz-Date:20150830T123600Z
        3481  +
X-Amz-Region-Set:us-east-1
        3482  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=30450220331da6dfebb0d19e5e161b1efa389ccb83cadb60bc71f6791ef71ac6054c44de0221008588b7d5c9f7a79ca9c02a02efbd0f540cda242a64ca1452aa914e050b517724
        3483  +
 2791   3484   
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
 2792   3485   
similarity index 99%
 2793   3486   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
 2794   3487   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 2795   3488   
index 8783461..bfc4619 100644
 2796   3489   
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
 2797   3490   
new file mode 100644
 2798   3491   
index 0000000..379dcb2
 2799         -
-- /dev/null
        3492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 2800   3493   
@@ -0,0 +1,4 @@
        3494  +
{
        3495  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3496  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3497  +
}
 2801   3498   
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
 2802   3499   
similarity index 99%
 2803   3500   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
 2804   3501   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 2805   3502   
index 9561297..c05c3f5 100644
 2806   3503   
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
 2807   3504   
new file mode 100644
 2808   3505   
index 0000000..de9a4c3
 2809         -
-- /dev/null
        3506  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 2810   3507   
@@ -0,0 +1 @@
        3508  +
3045022100e1e03fa80218cb464404dc4badbdf443f5f5bb504840a2b3803565a28be0388d022063399d4fb8b974906e87a8d67bf7e95334d9dc620817ef92eb2bc6affb1c6a10
              \
 No newline at end of file
 2811   3509   
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
 2812   3510   
new file mode 100644
 2813   3511   
index 0000000..6c6b8c4
 2814         -
-- /dev/null
        3512  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 2815   3513   
@@ -0,0 +1,6 @@
        3514  +
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
        3515  +
Host:example.amazonaws.com
        3516  +
My-Header1:value2
        3517  +
My-Header1:value2
        3518  +
My-Header1:value1
        3519  +
 2816   3520   
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
 2817   3521   
similarity index 99%
 2818   3522   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
 2819   3523   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 2820   3524   
index 3140f6f..4eef106 100644
 2821   3525   
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
 2822   3526   
similarity index 78%
 2823   3527   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
 2824   3528   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2825   3529   
index 08a0364..40455ce 100644
 2826         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
        3530  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2827   3531   
@@ -1,6 +1,5 @@
 2828   3532   
GET / HTTP/1.1
 2829   3533   
Host:example.amazonaws.com
 2830   3534   
My-Header1:value2
 2831   3535   
My-Header1:value2
 2832   3536   
My-Header1:value1
 2833         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2834   3537   
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
 2835   3538   
new file mode 100644
 2836   3539   
index 0000000..0468d80
 2837         -
-- /dev/null
        3540  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 2838   3541   
@@ -0,0 +1,12 @@
        3542  +
{
        3543  +
    "credentials": {
        3544  +
        "access_key_id": "AKIDEXAMPLE",
        3545  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3546  +
    },
        3547  +
    "expiration_in_seconds": 3600,
        3548  +
    "normalize": true,
        3549  +
    "region": "us-east-1",
        3550  +
    "service": "service",
        3551  +
    "sign_body": false,
        3552  +
    "timestamp": "2015-08-30T12:36:00Z"
        3553  +
}
              \
 No newline at end of file
 2839   3554   
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
 2840   3555   
new file mode 100644
 2841   3556   
index 0000000..69526cd
 2842         -
-- /dev/null
        3557  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 2843   3558   
@@ -0,0 +1,10 @@
        3559  +
GET
        3560  +
/
        3561  +
        3562  +
host:example.amazonaws.com
        3563  +
my-header1:value1 value2 value3
        3564  +
x-amz-date:20150830T123600Z
        3565  +
x-amz-region-set:us-east-1
        3566  +
        3567  +
host;my-header1;x-amz-date;x-amz-region-set
        3568  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2844   3569   
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
 2845   3570   
new file mode 100644
 2846   3571   
index 0000000..d51b4f3
 2847         -
-- /dev/null
        3572  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 2848   3573   
@@ -0,0 +1 @@
        3574  +
304502206a2d7c3572ebcb9a1f34e5fa744250c3fb2f403a0a7e4b0bc196286846a996a8022100d94aacba36ff453394df27966e9cccd7c6065457b6fe828aebe107307cc5e8e9
              \
 No newline at end of file
 2849   3575   
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
 2850   3576   
new file mode 100644
 2851   3577   
index 0000000..8131420
 2852         -
-- /dev/null
        3578  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 2853   3579   
@@ -0,0 +1,9 @@
        3580  +
GET / HTTP/1.1
        3581  +
Host:example.amazonaws.com
        3582  +
My-Header1:value1
        3583  +
  value2
        3584  +
     value3
        3585  +
X-Amz-Date:20150830T123600Z
        3586  +
X-Amz-Region-Set:us-east-1
        3587  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022060b9f2f480a395bf34aa42074697f923c2355e26970987461ce904a6a2eeef52022100fc7ef73838bbfba208a8cf8f3edbe1c8879be7853b677f492db93c30df6fbe02
        3588  +
 2854   3589   
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
 2855   3590   
new file mode 100644
 2856   3591   
index 0000000..e4d99fa
 2857         -
-- /dev/null
        3592  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 2858   3593   
@@ -0,0 +1,4 @@
        3594  +
AWS4-ECDSA-P256-SHA256
        3595  +
20150830T123600Z
        3596  +
20150830/service/aws4_request
        3597  +
3579d4751dd7db30860b89a17b53647c70fd8363ec485836dbf68cfd22313398
              \
 No newline at end of file
 2859   3598   
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
 2860   3599   
new file mode 100644
 2861   3600   
index 0000000..379dcb2
 2862         -
-- /dev/null
        3601  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 2863   3602   
@@ -0,0 +1,4 @@
        3603  +
{
        3604  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3605  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3606  +
}
 2864   3607   
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
 2865   3608   
new file mode 100644
 2866   3609   
index 0000000..3c4d52f
 2867         -
-- /dev/null
        3610  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 2868   3611   
@@ -0,0 +1,8 @@
        3612  +
GET
        3613  +
/
        3614  +
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
        3615  +
host:example.amazonaws.com
        3616  +
my-header1:value1 value2 value3
        3617  +
        3618  +
host;my-header1
        3619  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2869   3620   
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
 2870   3621   
new file mode 100644
 2871   3622   
index 0000000..4e63f9a
 2872         -
-- /dev/null
        3623  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 2873   3624   
@@ -0,0 +1 @@
        3625  +
30450220159829015456fd111a27c4e0d6a555da894aefd23c96c5eb915b94bf6788499a022100fd48a0b97d1c32a11ee33873f87953a3ef410978f226b4a708acb9e582828fde
              \
 No newline at end of file
 2874   3626   
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
 2875   3627   
new file mode 100644
 2876   3628   
index 0000000..adf1f09
 2877         -
-- /dev/null
        3629  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 2878   3630   
@@ -0,0 +1,6 @@
        3631  +
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
        3632  +
Host:example.amazonaws.com
        3633  +
My-Header1:value1
        3634  +
  value2
        3635  +
     value3
        3636  +
 2879   3637   
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
 2880   3638   
new file mode 100644
 2881   3639   
index 0000000..e085407
 2882         -
-- /dev/null
        3640  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 2883   3641   
@@ -0,0 +1,4 @@
        3642  +
AWS4-ECDSA-P256-SHA256
        3643  +
20150830T123600Z
        3644  +
20150830/service/aws4_request
        3645  +
960c3db8a6ce71c62c4bc13e5f2a72231a8f1a644d52e688ac1524ecd4b09643
              \
 No newline at end of file
 2884   3646   
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
 2885   3647   
new file mode 100644
 2886   3648   
index 0000000..b5026cd
 2887         -
-- /dev/null
        3649  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 2888   3650   
@@ -0,0 +1,5 @@
        3651  +
GET / HTTP/1.1
        3652  +
Host:example.amazonaws.com
        3653  +
My-Header1:value1
        3654  +
  value2
        3655  +
     value3
 2889   3656   
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
 2890   3657   
new file mode 100644
 2891   3658   
index 0000000..0468d80
 2892         -
-- /dev/null
        3659  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 2893   3660   
@@ -0,0 +1,12 @@
        3661  +
{
        3662  +
    "credentials": {
        3663  +
        "access_key_id": "AKIDEXAMPLE",
        3664  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3665  +
    },
        3666  +
    "expiration_in_seconds": 3600,
        3667  +
    "normalize": true,
        3668  +
    "region": "us-east-1",
        3669  +
    "service": "service",
        3670  +
    "sign_body": false,
        3671  +
    "timestamp": "2015-08-30T12:36:00Z"
        3672  +
}
              \
 No newline at end of file
 2894   3673   
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
 2895   3674   
similarity index 99%
 2896   3675   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
 2897   3676   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 2898   3677   
index 9375193..533afdb 100644
 2899   3678   
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
 2900   3679   
new file mode 100644
 2901   3680   
index 0000000..057b426
 2902         -
-- /dev/null
        3681  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 2903   3682   
@@ -0,0 +1 @@
        3683  +
3045022005e72f83b232f1fa01d7344267d44a46fa4c193bc3d0ad256e89f92a561eb8fa022100c62a85a22a6018463df69c97da07cd189185dadeede293c659e15514cd28a0c9
              \
 No newline at end of file
 2904   3684   
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
 2905   3685   
new file mode 100644
 2906   3686   
index 0000000..4e4ccf0
 2907         -
-- /dev/null
        3687  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 2908   3688   
@@ -0,0 +1,10 @@
        3689  +
GET / HTTP/1.1
        3690  +
Host:example.amazonaws.com
        3691  +
My-Header1:value4
        3692  +
My-Header1:value1
        3693  +
My-Header1:value3
        3694  +
My-Header1:value2
        3695  +
X-Amz-Date:20150830T123600Z
        3696  +
X-Amz-Region-Set:us-east-1
        3697  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=304402203410301a4cfc805996d0ac5305374d7cdff4e2564fcbd6f6cfed73b227966046022046e36b2ede1f78d2b68ea4534ae59da3de089e58f67ae08490411dfabd77f36e
        3698  +
 2909   3699   
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
 2910   3700   
similarity index 99%
 2911   3701   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
 2912   3702   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 2913   3703   
index 6400baf..e68c952 100644
 2914   3704   
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
 2915   3705   
new file mode 100644
 2916   3706   
index 0000000..379dcb2
 2917         -
-- /dev/null
        3707  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 2918   3708   
@@ -0,0 +1,4 @@
        3709  +
{
        3710  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3711  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3712  +
}
 2919   3713   
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
 2920   3714   
similarity index 99%
 2921   3715   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
 2922   3716   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 2923   3717   
index ecf494a..68450fe 100644
 2924   3718   
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
 2925   3719   
new file mode 100644
 2926   3720   
index 0000000..9df2eb3
 2927         -
-- /dev/null
        3721  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 2928   3722   
@@ -0,0 +1 @@
        3723  +
3045022044e0c722f2d02673c326d0ac38aae57e2877e158b700de702e5dd082be680f65022100841bb5007fb5ece1078add2bf38e84f1b7ea13e67b935d1fd021014eedee46a4
              \
 No newline at end of file
 2929   3724   
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
 2930   3725   
new file mode 100644
 2931   3726   
index 0000000..62f8cb7
 2932         -
-- /dev/null
        3727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 2933   3728   
@@ -0,0 +1,7 @@
        3729  +
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
        3730  +
Host:example.amazonaws.com
        3731  +
My-Header1:value4
        3732  +
My-Header1:value1
        3733  +
My-Header1:value3
        3734  +
My-Header1:value2
        3735  +
 2934   3736   
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
 2935   3737   
similarity index 99%
 2936   3738   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
 2937   3739   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 2938   3740   
index b584179..2bcf7b1 100644
 2939   3741   
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
 2940   3742   
similarity index 80%
 2941   3743   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
 2942   3744   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 2943   3745   
index f7bd9e6..2c6f49d 100644
 2944         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
        3746  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 2945   3747   
@@ -1,7 +1,6 @@
 2946   3748   
GET / HTTP/1.1
 2947   3749   
Host:example.amazonaws.com
 2948   3750   
My-Header1:value4
 2949   3751   
My-Header1:value1
 2950   3752   
My-Header1:value3
 2951   3753   
My-Header1:value2
 2952         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2953   3754   
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
 2954   3755   
new file mode 100644
 2955   3756   
index 0000000..0468d80
 2956         -
-- /dev/null
        3757  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 2957   3758   
@@ -0,0 +1,12 @@
        3759  +
{
        3760  +
    "credentials": {
        3761  +
        "access_key_id": "AKIDEXAMPLE",
        3762  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3763  +
    },
        3764  +
    "expiration_in_seconds": 3600,
        3765  +
    "normalize": true,
        3766  +
    "region": "us-east-1",
        3767  +
    "service": "service",
        3768  +
    "sign_body": false,
        3769  +
    "timestamp": "2015-08-30T12:36:00Z"
        3770  +
}
              \
 No newline at end of file
 2958   3771   
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
 2959   3772   
similarity index 99%
 2960   3773   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
 2961   3774   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 2962   3775   
index e91e952..94b6be5 100644
 2963   3776   
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
 2964   3777   
new file mode 100644
 2965   3778   
index 0000000..bf8c3cb
 2966         -
-- /dev/null
        3779  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 2967   3780   
@@ -0,0 +1 @@
        3781  +
3046022100f05cfb8a9a49ee4540c49ed27e612ddd1a2d168512bad65a96cdf8378254a4bd022100a3eb663e6734125d467fc00d5a41dc6bf476ec167d5c20657ff3135c8b4f7815
              \
 No newline at end of file
 2968   3782   
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
 2969   3783   
new file mode 100644
 2970   3784   
index 0000000..f7f054d
 2971         -
-- /dev/null
        3785  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 2972   3786   
@@ -0,0 +1,8 @@
        3787  +
GET / HTTP/1.1
        3788  +
Host:example.amazonaws.com
        3789  +
My-Header1: value1
        3790  +
My-Header2: "a   b   c"
        3791  +
X-Amz-Date:20150830T123600Z
        3792  +
X-Amz-Region-Set:us-east-1
        3793  +
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
        3794  +
 2973   3795   
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
 2974   3796   
similarity index 99%
 2975   3797   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
 2976   3798   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 2977   3799   
index 0e407d8..a2c9c05 100644
 2978   3800   
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
 2979   3801   
new file mode 100644
 2980   3802   
index 0000000..379dcb2
 2981         -
-- /dev/null
        3803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 2982   3804   
@@ -0,0 +1,4 @@
        3805  +
{
        3806  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3807  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3808  +
}
 2983   3809   
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
 2984   3810   
similarity index 99%
 2985   3811   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
 2986   3812   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 2987   3813   
index 8a3b042..3a51150 100644
 2988   3814   
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
 2989   3815   
new file mode 100644
 2990   3816   
index 0000000..0033053
 2991         -
-- /dev/null
        3817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 2992   3818   
@@ -0,0 +1 @@
        3819  +
3045022100a765fa4e0a2c5d56292cc9aa654332858bcbb2af27b8c488157113f2c084776b02206145afa6dbb99993e499863fa36e592b94ddaeefbd778a473348204f26c15547
              \
 No newline at end of file
 2993   3820   
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
 2994   3821   
new file mode 100644
 2995   3822   
index 0000000..1537888
 2996         -
-- /dev/null
        3823  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 2997   3824   
@@ -0,0 +1,5 @@
        3825  +
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
        3826  +
Host:example.amazonaws.com
        3827  +
My-Header1: value1
        3828  +
My-Header2: "a   b   c"
        3829  +
 2998   3830   
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
 2999   3831   
similarity index 99%
 3000   3832   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
 3001   3833   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3002   3834   
index 5eead25..633dc1f 100644
 3003   3835   
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
 3004   3836   
similarity index 75%
 3005   3837   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
 3006   3838   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3007   3839   
index 901f36c..ad1ea98 100644
 3008         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
        3840  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3009   3841   
@@ -1,5 +1,4 @@
 3010   3842   
GET / HTTP/1.1
 3011   3843   
Host:example.amazonaws.com
 3012   3844   
My-Header1: value1
 3013   3845   
My-Header2: "a   b   c"
 3014         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3015   3846   
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
 3016   3847   
new file mode 100644
 3017   3848   
index 0000000..0468d80
 3018         -
-- /dev/null
        3849  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 3019   3850   
@@ -0,0 +1,12 @@
        3851  +
{
        3852  +
    "credentials": {
        3853  +
        "access_key_id": "AKIDEXAMPLE",
        3854  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3855  +
    },
        3856  +
    "expiration_in_seconds": 3600,
        3857  +
    "normalize": true,
        3858  +
    "region": "us-east-1",
        3859  +
    "service": "service",
        3860  +
    "sign_body": false,
        3861  +
    "timestamp": "2015-08-30T12:36:00Z"
        3862  +
}
              \
 No newline at end of file
 3020   3863   
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
 3021   3864   
similarity index 99%
 3022   3865   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
 3023   3866   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3024   3867   
index 47e7128..76db73d 100644
 3025   3868   
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
 3026   3869   
new file mode 100644
 3027   3870   
index 0000000..cbd6ae2
 3028         -
-- /dev/null
        3871  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3029   3872   
@@ -0,0 +1 @@
        3873  +
3045022002e5e766e09de198957182589c9abe3e7ccd00a8fc6d7bbaf5f0a2c10660d16a022100e6b0835731cd5b72d5abb50e5821d90f5f713339697eb65cf40d34a3facfdbb8
              \
 No newline at end of file
 3030   3874   
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
 3031   3875   
new file mode 100644
 3032   3876   
index 0000000..a343fcf
 3033         -
-- /dev/null
        3877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3034   3878   
@@ -0,0 +1,6 @@
        3879  +
GET /example/.. HTTP/1.1
        3880  +
Host:example.amazonaws.com
        3881  +
X-Amz-Date:20150830T123600Z
        3882  +
X-Amz-Region-Set:us-east-1
        3883  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206ccd591952cdb4a0a002217788234c80eac520f890b0a6ea07b98044f08ba10e0220733126caf0347f7df89773f79b9fae2648ca786e67a7d88ec296d66452da4bec
        3884  +
 3035   3885   
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
 3036   3886   
similarity index 99%
 3037   3887   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
 3038   3888   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3039   3889   
index 95d7219..600f1d8 100644
 3040   3890   
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
 3041   3891   
new file mode 100644
 3042   3892   
index 0000000..379dcb2
 3043         -
-- /dev/null
        3893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3044   3894   
@@ -0,0 +1,4 @@
        3895  +
{
        3896  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3897  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3898  +
}
 3045   3899   
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
 3046   3900   
similarity index 99%
 3047   3901   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
 3048   3902   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3049   3903   
index a34ea26..779c51c 100644
 3050   3904   
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
 3051   3905   
new file mode 100644
 3052   3906   
index 0000000..3cc88e6
 3053         -
-- /dev/null
        3907  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3054   3908   
@@ -0,0 +1 @@
        3909  +
304402200ef7c6ac7bfaaddbf4df3a4b03ab2e4e24e992d305fa133ef0f6c826ad9850e602203ef21f22e239cd1971310c404c80d6e50c5cd06eae1452695ae762d1a9a51c90
              \
 No newline at end of file
 3055   3910   
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
 3056   3911   
new file mode 100644
 3057   3912   
index 0000000..f68dde8
 3058         -
-- /dev/null
        3913  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3059   3914   
@@ -0,0 +1,3 @@
        3915  +
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
        3916  +
Host:example.amazonaws.com
        3917  +
 3060   3918   
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
 3061   3919   
similarity index 99%
 3062   3920   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
 3063   3921   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3064   3922   
index 48f855c..6e29a7e 100644
 3065   3923   
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
 3066   3924   
similarity index 65%
 3067   3925   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
 3068   3926   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3069   3927   
index 9d6d7ca..6aa9f99 100644
 3070         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
        3928  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3071   3929   
@@ -1,3 +1,2 @@
 3072   3930   
GET /example/.. HTTP/1.1
 3073   3931   
Host:example.amazonaws.com
 3074         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3075   3932   
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
 3076   3933   
new file mode 100644
 3077   3934   
index 0000000..0468d80
 3078         -
-- /dev/null
        3935  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3079   3936   
@@ -0,0 +1,12 @@
        3937  +
{
        3938  +
    "credentials": {
        3939  +
        "access_key_id": "AKIDEXAMPLE",
        3940  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3941  +
    },
        3942  +
    "expiration_in_seconds": 3600,
        3943  +
    "normalize": true,
        3944  +
    "region": "us-east-1",
        3945  +
    "service": "service",
        3946  +
    "sign_body": false,
        3947  +
    "timestamp": "2015-08-30T12:36:00Z"
        3948  +
}
              \
 No newline at end of file
 3080   3949   
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
 3081   3950   
similarity index 99%
 3082   3951   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
 3083   3952   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3084   3953   
index 47e7128..76db73d 100644
 3085   3954   
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
 3086   3955   
new file mode 100644
 3087   3956   
index 0000000..f7a7ebe
 3088         -
-- /dev/null
        3957  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3089   3958   
@@ -0,0 +1 @@
        3959  +
3046022100ea029ea1e7b8715f67cd33b8536e013e53e9c7bcd109770f29a4a28767bb2212022100c95a298283c130266a4c8457590d8c047205b4aef9266b85deeb90e5c73e5caa
              \
 No newline at end of file
 3090   3960   
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
 3091   3961   
new file mode 100644
 3092   3962   
index 0000000..9d2c50d
 3093         -
-- /dev/null
        3963  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3094   3964   
@@ -0,0 +1,6 @@
        3965  +
GET /example1/example2/../.. HTTP/1.1
        3966  +
Host:example.amazonaws.com
        3967  +
X-Amz-Date:20150830T123600Z
        3968  +
X-Amz-Region-Set:us-east-1
        3969  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203edb747d59fe32db47529b2e5e02c9276759b7c43ad9e36ff62d52b8dbeb00e3022007f99e8601938b893fe6dcbac9259fec2f3797b0e3d74fd66d59b09e83b8c1d4
        3970  +
 3095   3971   
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
 3096   3972   
similarity index 99%
 3097   3973   
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
 3098   3974   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3099   3975   
index 95d7219..600f1d8 100644
 3100   3976   
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
 3101   3977   
new file mode 100644
 3102   3978   
index 0000000..379dcb2
 3103         -
-- /dev/null
        3979  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3104   3980   
@@ -0,0 +1,4 @@
        3981  +
{
        3982  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3983  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3984  +
}
 3105   3985   
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
 3106   3986   
similarity index 99%
 3107   3987   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
 3108   3988   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3109   3989   
index a34ea26..779c51c 100644
 3110   3990   
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
 3111   3991   
new file mode 100644
 3112   3992   
index 0000000..45ef286
 3113         -
-- /dev/null
        3993  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3114   3994   
@@ -0,0 +1 @@
        3995  +
304402200afc56cdc43e814e44408999f2fb2fe0f8992877345b09e402b28fb2063e4987022035cdba28f5462e9034f45fc5f879bd2305943f9a1830b0f7fbe6468658ba52c1
              \
 No newline at end of file
 3115   3996   
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
 3116   3997   
new file mode 100644
 3117   3998   
index 0000000..0d16f66
 3118         -
-- /dev/null
        3999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3119   4000   
@@ -0,0 +1,3 @@
        4001  +
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
        4002  +
Host:example.amazonaws.com
        4003  +
 3120   4004   
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
 3121   4005   
similarity index 99%
 3122   4006   
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
 3123   4007   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3124   4008   
index 48f855c..6e29a7e 100644
 3125   4009   
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
 3126   4010   
similarity index 70%
 3127   4011   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
 3128   4012   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3129   4013   
index cfd4e8b..a856c10 100644
 3130         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
        4014  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3131   4015   
@@ -1,3 +1,2 @@
 3132   4016   
GET /example1/example2/../.. HTTP/1.1
 3133   4017   
Host:example.amazonaws.com
 3134         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3135   4018   
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
 3136   4019   
new file mode 100644
 3137   4020   
index 0000000..7bee5c7
 3138         -
-- /dev/null
        4021  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3139   4022   
@@ -0,0 +1,12 @@
        4023  +
{
        4024  +
    "credentials": {
        4025  +
        "access_key_id": "AKIDEXAMPLE",
        4026  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4027  +
    },
        4028  +
    "expiration_in_seconds": 3600,
        4029  +
    "normalize": false,
        4030  +
    "region": "us-east-1",
        4031  +
    "service": "service",
        4032  +
    "sign_body": false,
        4033  +
    "timestamp": "2015-08-30T12:36:00Z"
        4034  +
}
              \
 No newline at end of file
 3140   4035   
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
 3141   4036   
similarity index 99%
 3142   4037   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
 3143   4038   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3144   4039   
index 5e1d1cf..e4e6d57 100644
 3145   4040   
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
 3146   4041   
new file mode 100644
 3147   4042   
index 0000000..2d1b47c
 3148         -
-- /dev/null
        4043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3149   4044   
@@ -0,0 +1 @@
        4045  +
30450221009bf86ef8b148904a938fcc5a050aa99cb99cb6a3436a62badfef1b82977d95c4022053e3c11e10fb302a2c39c253b066530404ee5fcca63bf962facd8d072817a69d
              \
 No newline at end of file
 3150   4046   
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
 3151   4047   
new file mode 100644
 3152   4048   
index 0000000..7158179
 3153         -
-- /dev/null
        4049  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3154   4050   
@@ -0,0 +1,6 @@
        4051  +
GET /example1/example2/../.. HTTP/1.1
        4052  +
Host:example.amazonaws.com
        4053  +
X-Amz-Date:20150830T123600Z
        4054  +
X-Amz-Region-Set:us-east-1
        4055  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402205651d45d4f377407303dba0775405efa77683821adff20c0256b94d10710de5b022053fa72420652c55327876c5105da6770cb482f55533e1b0bd7d15fa75f570e46
        4056  +
 3155   4057   
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
 3156   4058   
similarity index 99%
 3157   4059   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
 3158   4060   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3159   4061   
index 1cca6cf..db60c8e 100644
 3160   4062   
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
 3161   4063   
new file mode 100644
 3162   4064   
index 0000000..379dcb2
 3163         -
-- /dev/null
        4065  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3164   4066   
@@ -0,0 +1,4 @@
        4067  +
{
        4068  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4069  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4070  +
}
 3165   4071   
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
 3166   4072   
similarity index 99%
 3167   4073   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
 3168   4074   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3169   4075   
index 95dc104..0d963ba 100644
 3170   4076   
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
 3171   4077   
new file mode 100644
 3172   4078   
index 0000000..ae774e4
 3173         -
-- /dev/null
        4079  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3174   4080   
@@ -0,0 +1 @@
        4081  +
3046022100a11cd4cae39a6b3553651f9c6360898278d90a3cb8f736184ff6bdb8564decbc022100d86a34623cc34890750a7fe8a30948638f6dace0e558c3ff82a0cf6256067503
              \
 No newline at end of file
 3175   4082   
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
 3176   4083   
new file mode 100644
 3177   4084   
index 0000000..be6b86e
 3178         -
-- /dev/null
        4085  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3179   4086   
@@ -0,0 +1,3 @@
        4087  +
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
        4088  +
Host:example.amazonaws.com
        4089  +
 3180   4090   
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
 3181   4091   
similarity index 99%
 3182   4092   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
 3183   4093   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3184   4094   
index 50edce6..fcc70cd 100644
 3185   4095   
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
 3186   4096   
new file mode 100644
 3187   4097   
index 0000000..a856c10
 3188         -
-- /dev/null
        4098  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3189   4099   
@@ -0,0 +1,2 @@
        4100  +
GET /example1/example2/../.. HTTP/1.1
        4101  +
Host:example.amazonaws.com
 3190   4102   
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
 3191   4103   
new file mode 100644
 3192   4104   
index 0000000..7bee5c7
 3193         -
-- /dev/null
        4105  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3194   4106   
@@ -0,0 +1,12 @@
        4107  +
{
        4108  +
    "credentials": {
        4109  +
        "access_key_id": "AKIDEXAMPLE",
        4110  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4111  +
    },
        4112  +
    "expiration_in_seconds": 3600,
        4113  +
    "normalize": false,
        4114  +
    "region": "us-east-1",
        4115  +
    "service": "service",
        4116  +
    "sign_body": false,
        4117  +
    "timestamp": "2015-08-30T12:36:00Z"
        4118  +
}
              \
 No newline at end of file
 3195   4119   
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
 3196   4120   
similarity index 99%
 3197   4121   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
 3198   4122   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3199   4123   
index d6a0abe..22def1a 100644
 3200   4124   
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
 3201   4125   
new file mode 100644
 3202   4126   
index 0000000..9251bad
 3203         -
-- /dev/null
        4127  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3204   4128   
@@ -0,0 +1 @@
        4129  +
3045022100a85167a37a2c6aea42ef9dcb0dcaeaf85ca4ef1a4d8ffea5be550dbd4573471902202193760e5e6bb1ee4aff836769b9739f4563e06749bcaa7553ec1d1377aa5a6d
              \
 No newline at end of file
 3205   4130   
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
 3206   4131   
new file mode 100644
 3207   4132   
index 0000000..f1bb60f
 3208         -
-- /dev/null
        4133  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3209   4134   
@@ -0,0 +1,6 @@
        4135  +
GET /example/.. HTTP/1.1
        4136  +
Host:example.amazonaws.com
        4137  +
X-Amz-Date:20150830T123600Z
        4138  +
X-Amz-Region-Set:us-east-1
        4139  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402201430c834d8a89aca13ebd785da338950559f71ab29f1b7d7b4ad6b090de1a09702206c8d6089b75105d6fc5df5374bbb8abbc33b78951c95b90f9f6c25a657b58ce6
        4140  +
 3210   4141   
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
 3211   4142   
similarity index 99%
 3212   4143   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
 3213   4144   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3214   4145   
index 4a34e93..5673a20 100644
 3215   4146   
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
 3216   4147   
new file mode 100644
 3217   4148   
index 0000000..379dcb2
 3218         -
-- /dev/null
        4149  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3219   4150   
@@ -0,0 +1,4 @@
        4151  +
{
        4152  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4153  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4154  +
}
 3220   4155   
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
 3221   4156   
similarity index 99%
 3222   4157   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
 3223   4158   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3224   4159   
index b1d123e..a1c22e0 100644
 3225   4160   
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
 3226   4161   
new file mode 100644
 3227   4162   
index 0000000..9f0f686
 3228         -
-- /dev/null
        4163  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3229   4164   
@@ -0,0 +1 @@
        4165  +
3045022074d05647e395d4bf3d751953c7242ee27dd16fbae3f604a272d3acc3d72ba5fb022100ddccd95ac05f60f10d5e95c5847b49018bbfa1084361bf338964408cc2162fff
              \
 No newline at end of file
 3230   4166   
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
 3231   4167   
new file mode 100644
 3232   4168   
index 0000000..d1d451a
 3233         -
-- /dev/null
        4169  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3234   4170   
@@ -0,0 +1,3 @@
        4171  +
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
        4172  +
Host:example.amazonaws.com
        4173  +
 3235   4174   
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
 3236   4175   
similarity index 99%
 3237   4176   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
 3238   4177   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3239   4178   
index a17f5ab..81b41e8 100644
 3240   4179   
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
 3241   4180   
new file mode 100644
 3242   4181   
index 0000000..6aa9f99
 3243         -
-- /dev/null
        4182  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3244   4183   
@@ -0,0 +1,2 @@
        4184  +
GET /example/.. HTTP/1.1
        4185  +
Host:example.amazonaws.com
 3245   4186   
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
 3246   4187   
new file mode 100644
 3247   4188   
index 0000000..0468d80
 3248         -
-- /dev/null
        4189  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3249   4190   
@@ -0,0 +1,12 @@
        4191  +
{
        4192  +
    "credentials": {
        4193  +
        "access_key_id": "AKIDEXAMPLE",
        4194  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4195  +
    },
        4196  +
    "expiration_in_seconds": 3600,
        4197  +
    "normalize": true,
        4198  +
    "region": "us-east-1",
        4199  +
    "service": "service",
        4200  +
    "sign_body": false,
        4201  +
    "timestamp": "2015-08-30T12:36:00Z"
        4202  +
}
              \
 No newline at end of file
 3250   4203   
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
 3251   4204   
similarity index 99%
 3252   4205   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
 3253   4206   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3254   4207   
index 47e7128..76db73d 100644
 3255   4208   
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
 3256   4209   
new file mode 100644
 3257   4210   
index 0000000..ca6e84e
 3258         -
-- /dev/null
        4211  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3259   4212   
@@ -0,0 +1 @@
        4213  +
3045022100e8ed39e8b964e06162ab1cddbff57c449a9b72e2d052a7a3e12a116ae30185ee022003e6eb0fddbaa586225b26877ab145e05a08ac418ef7c966e5daef258b70cbfc
              \
 No newline at end of file
 3260   4214   
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
 3261   4215   
new file mode 100644
 3262   4216   
index 0000000..a7c764c
 3263         -
-- /dev/null
        4217  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3264   4218   
@@ -0,0 +1,6 @@
        4219  +
GET /./ HTTP/1.1
        4220  +
Host:example.amazonaws.com
        4221  +
X-Amz-Date:20150830T123600Z
        4222  +
X-Amz-Region-Set:us-east-1
        4223  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207665172b8612dbbd2c1f3c722c52b7b8dac2cdc5203d86252e21d9610018b153022100c548f3f0c23beeb388f8c8138ce1e883e2cdf2be1d7c5d7c15d4e565bfd6b0dd
        4224  +
 3265   4225   
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
 3266   4226   
similarity index 99%
 3267   4227   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
 3268   4228   
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
 3269   4229   
index 95d7219..600f1d8 100644
 3270   4230   
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
 3271   4231   
new file mode 100644
 3272   4232   
index 0000000..379dcb2
 3273         -
-- /dev/null
        4233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3274   4234   
@@ -0,0 +1,4 @@
        4235  +
{
        4236  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4237  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4238  +
}
 3275   4239   
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
 3276   4240   
similarity index 99%
 3277   4241   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
 3278   4242   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3279   4243   
index a34ea26..779c51c 100644
 3280   4244   
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
 3281   4245   
new file mode 100644
 3282   4246   
index 0000000..4b6ed09
 3283         -
-- /dev/null
        4247  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3284   4248   
@@ -0,0 +1 @@
        4249  +
3046022100ea775dcca84dbada39eb9e7d55183c31d7294d1826d965c2ade1730bd20ac7cb022100aaab5325eed9bb3f93814af0fd0170893cbeeff052d0bb554f91a394fd2f5135
              \
 No newline at end of file
 3285   4250   
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
 3286   4251   
new file mode 100644
 3287   4252   
index 0000000..d6c7176
 3288         -
-- /dev/null
        4253  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3289   4254   
@@ -0,0 +1,3 @@
        4255  +
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
        4256  +
Host:example.amazonaws.com
        4257  +
 3290   4258   
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
 3291   4259   
similarity index 99%
 3292   4260   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
 3293   4261   
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
 3294   4262   
index 48f855c..6e29a7e 100644
 3295   4263   
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
 3296   4264   
similarity index 61%
 3297   4265   
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
 3298   4266   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3299   4267   
index f3537b7..2c5ff38 100644
 3300         -
-- 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
        4268  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3301   4269   
@@ -1,3 +1,2 @@
 3302   4270   
GET /./ HTTP/1.1
 3303   4271   
Host:example.amazonaws.com
 3304         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3305   4272   
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
 3306   4273   
new file mode 100644
 3307   4274   
index 0000000..7bee5c7
 3308         -
-- /dev/null
        4275  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3309   4276   
@@ -0,0 +1,12 @@
        4277  +
{
        4278  +
    "credentials": {
        4279  +
        "access_key_id": "AKIDEXAMPLE",
        4280  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4281  +
    },
        4282  +
    "expiration_in_seconds": 3600,
        4283  +
    "normalize": false,
        4284  +
    "region": "us-east-1",
        4285  +
    "service": "service",
        4286  +
    "sign_body": false,
        4287  +
    "timestamp": "2015-08-30T12:36:00Z"
        4288  +
}
              \
 No newline at end of file
 3310   4289   
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
 3311   4290   
similarity index 99%
 3312   4291   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3313   4292   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3314   4293   
index d05303d..9257ac4 100644
 3315   4294   
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
 3316   4295   
new file mode 100644
 3317   4296   
index 0000000..2eb1aa5
 3318         -
-- /dev/null
        4297  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3319   4298   
@@ -0,0 +1 @@
        4299  +
30450220430660fe6e8e04ee055a2c56476dcf95c00b3efca267823134664f90a23fdc0f022100f188106c83e13a89e6a487f24d23522520f7a15c40e3aacd0c32284da42c2f5a
              \
 No newline at end of file
 3320   4300   
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
 3321   4301   
new file mode 100644
 3322   4302   
index 0000000..df3b1da
 3323         -
-- /dev/null
        4303  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3324   4304   
@@ -0,0 +1,6 @@
        4305  +
GET /./ HTTP/1.1
        4306  +
Host:example.amazonaws.com
        4307  +
X-Amz-Date:20150830T123600Z
        4308  +
X-Amz-Region-Set:us-east-1
        4309  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022049aaa02168ac9666a94f42238be0a02a7a244b74d6e16bdf64aac7ce8e21e44d02206b9be50186bdd4ee9191c0dd5ccff7e990365bb3b56430653f6fa49a68dbf596
        4310  +
 3325   4311   
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
 3326   4312   
similarity index 99%
 3327   4313   
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
 3328   4314   
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
 3329   4315   
index e1bfb39..754b3ed 100644
 3330   4316   
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
 3331   4317   
new file mode 100644
 3332   4318   
index 0000000..379dcb2
 3333         -
-- /dev/null
        4319  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3334   4320   
@@ -0,0 +1,4 @@
        4321  +
{
        4322  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4323  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4324  +
}
 3335   4325   
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
 3336   4326   
similarity index 99%
 3337   4327   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3338   4328   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3339   4329   
index f048d0f..c8edce3 100644
 3340   4330   
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
 3341   4331   
new file mode 100644
 3342   4332   
index 0000000..d3af3b8
 3343         -
-- /dev/null
        4333  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3344   4334   
@@ -0,0 +1 @@
        4335  +
304402207999228e5213710741e030ffa7dfa83ce3676384c5df044431bc854488a08abd0220248ff8a956bbcbc641c0ec4a7853774f44112b1571f861fc5aebf78282fd7e63
              \
 No newline at end of file
 3345   4336   
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
 3346   4337   
new file mode 100644
 3347   4338   
index 0000000..eb38155
 3348         -
-- /dev/null
        4339  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3349   4340   
@@ -0,0 +1,3 @@
        4341  +
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
        4342  +
Host:example.amazonaws.com
        4343  +
 3350   4344   
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
 3351   4345   
similarity index 99%
 3352   4346   
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
 3353   4347   
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
 3354   4348   
index bfcf245..4f20b8f 100644
 3355   4349   
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
 3356   4350   
new file mode 100644
 3357   4351   
index 0000000..2c5ff38
 3358         -
-- /dev/null
        4352  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3359   4353   
@@ -0,0 +1,2 @@
        4354  +
GET /./ HTTP/1.1
        4355  +
Host:example.amazonaws.com
 3360   4356   
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
 3361   4357   
new file mode 100644
 3362   4358   
index 0000000..0468d80
 3363         -
-- /dev/null
        4359  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3364   4360   
@@ -0,0 +1,12 @@
        4361  +
{
        4362  +
    "credentials": {
        4363  +
        "access_key_id": "AKIDEXAMPLE",
        4364  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4365  +
    },
        4366  +
    "expiration_in_seconds": 3600,
        4367  +
    "normalize": true,
        4368  +
    "region": "us-east-1",
        4369  +
    "service": "service",
        4370  +
    "sign_body": false,
        4371  +
    "timestamp": "2015-08-30T12:36:00Z"
        4372  +
}
              \
 No newline at end of file
 3365   4373   
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
 3366   4374   
similarity index 99%
 3367   4375   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
 3368   4376   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3369   4377   
index 47e7128..76db73d 100644
 3370   4378   
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
 3371   4379   
new file mode 100644
 3372   4380   
index 0000000..0c049ca
 3373         -
-- /dev/null
        4381  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 3374   4382   
@@ -0,0 +1 @@
        4383  +
304602210084a7310186a866f81dbe8e546f6931dd7c61586d30664d5c11f5904836f72cfd022100c7d80abdccceb1cbcdbbda8b4f3f0ae1ac6229dce800b21ba8298c582fa96a1c
              \
 No newline at end of file
 3375   4384   
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
 3376   4385   
new file mode 100644
 3377   4386   
index 0000000..f4bb1e1
 3378         -
-- /dev/null
        4387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 3379   4388   
@@ -0,0 +1,6 @@
        4389  +
GET // HTTP/1.1
        4390  +
Host:example.amazonaws.com
        4391  +
X-Amz-Date:20150830T123600Z
        4392  +
X-Amz-Region-Set:us-east-1
        4393  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207c7fe2e91cdbe4529569d58fc3727507375cff81a56cfa26b387895ab6cdbb25022100d38e283efa5ff27d88f10e7367493b1dc49050ba9474531e4acb3ee30fac3739
        4394  +
 3380   4395   
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
 3381   4396   
similarity index 99%
 3382   4397   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
 3383   4398   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3384   4399   
index 95d7219..600f1d8 100644
 3385   4400   
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
 3386   4401   
new file mode 100644
 3387   4402   
index 0000000..379dcb2
 3388         -
-- /dev/null
        4403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 3389   4404   
@@ -0,0 +1,4 @@
        4405  +
{
        4406  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4407  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4408  +
}
 3390   4409   
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
 3391   4410   
similarity index 99%
 3392   4411   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
 3393   4412   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3394   4413   
index a34ea26..779c51c 100644
 3395   4414   
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
 3396   4415   
new file mode 100644
 3397   4416   
index 0000000..ca52293
 3398         -
-- /dev/null
        4417  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 3399   4418   
@@ -0,0 +1 @@
        4419  +
3045022100b1c08ec4e9a6313f2de7bd8ce726845ea7a3cc636a21ab7258a3067836a6601b02206b76d7a9845bfb683eb30d126a1dc4657e8b64762d4bfb976da9fa132c4a9bd7
              \
 No newline at end of file
 3400   4420   
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
 3401   4421   
new file mode 100644
 3402   4422   
index 0000000..4a212a9
 3403         -
-- /dev/null
        4423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 3404   4424   
@@ -0,0 +1,3 @@
        4425  +
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
        4426  +
Host:example.amazonaws.com
        4427  +
 3405   4428   
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
 3406   4429   
similarity index 99%
 3407   4430   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
 3408   4431   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 3409   4432   
index 48f855c..6e29a7e 100644
 3410   4433   
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
 3411   4434   
similarity index 61%
 3412   4435   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
 3413   4436   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3414   4437   
index ede8e3c..25bc21e 100644
 3415         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
        4438  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3416   4439   
@@ -1,3 +1,2 @@
 3417   4440   
GET // HTTP/1.1
 3418   4441   
Host:example.amazonaws.com
 3419         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3420   4442   
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
 3421   4443   
new file mode 100644
 3422   4444   
index 0000000..0468d80
 3423         -
-- /dev/null
        4445  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 3424   4446   
@@ -0,0 +1,12 @@
        4447  +
{
        4448  +
    "credentials": {
        4449  +
        "access_key_id": "AKIDEXAMPLE",
        4450  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4451  +
    },
        4452  +
    "expiration_in_seconds": 3600,
        4453  +
    "normalize": true,
        4454  +
    "region": "us-east-1",
        4455  +
    "service": "service",
        4456  +
    "sign_body": false,
        4457  +
    "timestamp": "2015-08-30T12:36:00Z"
        4458  +
}
              \
 No newline at end of file
 3425   4459   
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
 3426   4460   
similarity index 99%
 3427   4461   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3428   4462   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3429   4463   
index 2e36c20..a51f1ba 100644
 3430   4464   
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
 3431   4465   
new file mode 100644
 3432   4466   
index 0000000..f5c871f
 3433         -
-- /dev/null
        4467  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 3434   4468   
@@ -0,0 +1 @@
        4469  +
304502206b0f9b99fe4e4b3bbcb69dd6ca076c847e676161b6fb4cd2bc776f357ece3d07022100fafc5606c7b1a45aa6ce6a7a3a68b07875315b8f952f9a192a420e407e8d1cef
              \
 No newline at end of file
 3435   4470   
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
 3436   4471   
new file mode 100644
 3437   4472   
index 0000000..bda4718
 3438         -
-- /dev/null
        4473  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 3439   4474   
@@ -0,0 +1,6 @@
        4475  +
GET /./example HTTP/1.1
        4476  +
Host:example.amazonaws.com
        4477  +
X-Amz-Date:20150830T123600Z
        4478  +
X-Amz-Region-Set:us-east-1
        4479  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221008cb5fa4d42bdd0c293d58ce748128be3a41693d25cfd701e281bf0c0bc28f41a022100b863217c8f05146ff1b4282706bc78781b1425c2d36a09127116e852e31fc974
        4480  +
 3440   4481   
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
 3441   4482   
similarity index 99%
 3442   4483   
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
 3443   4484   
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
 3444   4485   
index cd30e8b..2ffe879 100644
 3445   4486   
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
 3446   4487   
new file mode 100644
 3447   4488   
index 0000000..379dcb2
 3448         -
-- /dev/null
        4489  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 3449   4490   
@@ -0,0 +1,4 @@
        4491  +
{
        4492  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4493  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4494  +
}
 3450   4495   
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
 3451   4496   
similarity index 99%
 3452   4497   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3453   4498   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3454   4499   
index 77cf28d..45151ea 100644
 3455   4500   
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
 3456   4501   
new file mode 100644
 3457   4502   
index 0000000..11ad7bf
 3458         -
-- /dev/null
        4503  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 3459   4504   
@@ -0,0 +1 @@
        4505  +
3045022004b3d54ffdc33558a93c158a156ef1b50963d051e58ecb88b6809629d6b93860022100d88f70cb68de54e8abc628cb2325bcb32fab1a207d482010955f844812ad5174
              \
 No newline at end of file
 3460   4506   
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
 3461   4507   
new file mode 100644
 3462   4508   
index 0000000..a7537b1
 3463         -
-- /dev/null
        4509  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 3464   4510   
@@ -0,0 +1,3 @@
        4511  +
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
        4512  +
Host:example.amazonaws.com
        4513  +
 3465   4514   
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
 3466   4515   
similarity index 99%
 3467   4516   
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
 3468   4517   
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
 3469   4518   
index 49d9b24..b486672 100644
 3470   4519   
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
 3471   4520   
similarity index 65%
 3472   4521   
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
 3473   4522   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3474   4523   
index 3c91071..5d919c9 100644
 3475         -
-- 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
        4524  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3476   4525   
@@ -1,3 +1,2 @@
 3477   4526   
GET /./example HTTP/1.1
 3478   4527   
Host:example.amazonaws.com
 3479         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3480   4528   
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
 3481   4529   
new file mode 100644
 3482   4530   
index 0000000..7bee5c7
 3483         -
-- /dev/null
        4531  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 3484   4532   
@@ -0,0 +1,12 @@
        4533  +
{
        4534  +
    "credentials": {
        4535  +
        "access_key_id": "AKIDEXAMPLE",
        4536  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4537  +
    },
        4538  +
    "expiration_in_seconds": 3600,
        4539  +
    "normalize": false,
        4540  +
    "region": "us-east-1",
        4541  +
    "service": "service",
        4542  +
    "sign_body": false,
        4543  +
    "timestamp": "2015-08-30T12:36:00Z"
        4544  +
}
              \
 No newline at end of file
 3485   4545   
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
 3486   4546   
similarity index 99%
 3487   4547   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3488   4548   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3489   4549   
index 4444842..2355a69 100644
 3490   4550   
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
 3491   4551   
new file mode 100644
 3492   4552   
index 0000000..9c8f737
 3493         -
-- /dev/null
        4553  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 3494   4554   
@@ -0,0 +1 @@
        4555  +
3044022056618e95bf64058b8174e9e52790352380946d9a0a4ab332b530a63f497a80800220105ebcd6c6ee9b034157d21e7c81fdfb72ca640961cee9b49de82e5c1f80ac5e
              \
 No newline at end of file
 3495   4556   
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
 3496   4557   
new file mode 100644
 3497   4558   
index 0000000..aa5980d
 3498         -
-- /dev/null
        4559  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 3499   4560   
@@ -0,0 +1,6 @@
        4561  +
GET /./example HTTP/1.1
        4562  +
Host:example.amazonaws.com
        4563  +
X-Amz-Date:20150830T123600Z
        4564  +
X-Amz-Region-Set:us-east-1
        4565  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221009e2c768ae9904c3d04eba53cfbb7460034029fb1f169b51f82623cc53ae25dc7022100bfe47ecde858ad9ae3311bba5a4fd45fcacdb1795cc6825f0939e5d929a464bf
        4566  +
 3500   4567   
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
 3501   4568   
similarity index 99%
 3502   4569   
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
 3503   4570   
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
 3504   4571   
index cc63510..d056816 100644
 3505   4572   
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
 3506   4573   
new file mode 100644
 3507   4574   
index 0000000..379dcb2
 3508         -
-- /dev/null
        4575  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 3509   4576   
@@ -0,0 +1,4 @@
        4577  +
{
        4578  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4579  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4580  +
}
 3510   4581   
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
 3511   4582   
similarity index 99%
 3512   4583   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3513   4584   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3514   4585   
index ed2cb2d..df9928e 100644
 3515   4586   
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
 3516   4587   
new file mode 100644
 3517   4588   
index 0000000..bb4d86b
 3518         -
-- /dev/null
        4589  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 3519   4590   
@@ -0,0 +1 @@
        4591  +
304502202c31415712324143f4f20aebbd0f8a2fd4fcdd49d68ac95cd6815db3c0e6407b022100cb46cb62bbd024da2e29445c3378a32057b68b272fb2a08c79bfdcbc398505f3
              \
 No newline at end of file
 3520   4592   
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
 3521   4593   
new file mode 100644
 3522   4594   
index 0000000..0061136
 3523         -
-- /dev/null
        4595  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 3524   4596   
@@ -0,0 +1,3 @@
        4597  +
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
        4598  +
Host:example.amazonaws.com
        4599  +
 3525   4600   
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
 3526   4601   
similarity index 99%
 3527   4602   
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
 3528   4603   
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
 3529   4604   
index c9f3b6d..418f2d6 100644
 3530   4605   
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
 3531   4606   
new file mode 100644
 3532   4607   
index 0000000..5d919c9
 3533         -
-- /dev/null
        4608  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 3534   4609   
@@ -0,0 +1,2 @@
        4610  +
GET /./example HTTP/1.1
        4611  +
Host:example.amazonaws.com
 3535   4612   
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
 3536   4613   
new file mode 100644
 3537   4614   
index 0000000..7bee5c7
 3538         -
-- /dev/null
        4615  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 3539   4616   
@@ -0,0 +1,12 @@
        4617  +
{
        4618  +
    "credentials": {
        4619  +
        "access_key_id": "AKIDEXAMPLE",
        4620  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4621  +
    },
        4622  +
    "expiration_in_seconds": 3600,
        4623  +
    "normalize": false,
        4624  +
    "region": "us-east-1",
        4625  +
    "service": "service",
        4626  +
    "sign_body": false,
        4627  +
    "timestamp": "2015-08-30T12:36:00Z"
        4628  +
}
              \
 No newline at end of file
 3540   4629   
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
 3541   4630   
similarity index 99%
 3542   4631   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
 3543   4632   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 3544   4633   
index 8a4d33b..5f809da 100644
 3545   4634   
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
 3546   4635   
new file mode 100644
 3547   4636   
index 0000000..60179e9
 3548         -
-- /dev/null
        4637  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 3549   4638   
@@ -0,0 +1 @@
        4639  +
3046022100fee7e772befdf85d3f9871798d5e08e93ad3f5d5d408b41387ba55714244809b0221008268d33835753dcdbd0a4d149d902eed071c41b70c230ecf56e0120a0f7d72a1
              \
 No newline at end of file
 3550   4640   
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
 3551   4641   
new file mode 100644
 3552   4642   
index 0000000..72bf1b7
 3553         -
-- /dev/null
        4643  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 3554   4644   
@@ -0,0 +1,6 @@
        4645  +
GET // HTTP/1.1
        4646  +
Host:example.amazonaws.com
        4647  +
X-Amz-Date:20150830T123600Z
        4648  +
X-Amz-Region-Set:us-east-1
        4649  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022061f03990d40a274470a1621b6e12b64452083a61218be77e48132a965da27377022100cdff18369b7361b1e33bd6cb5b216cdf88d390121447d442f59ccf84eb6489f7
        4650  +
 3555   4651   
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
 3556   4652   
similarity index 99%
 3557   4653   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
 3558   4654   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 3559   4655   
index 874c01c..2b3bf67 100644
 3560   4656   
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
 3561   4657   
new file mode 100644
 3562   4658   
index 0000000..379dcb2
 3563         -
-- /dev/null
        4659  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 3564   4660   
@@ -0,0 +1,4 @@
        4661  +
{
        4662  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4663  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4664  +
}
 3565   4665   
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
 3566   4666   
similarity index 99%
 3567   4667   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
 3568   4668   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 3569   4669   
index 81d7b0b..d10ad29 100644
 3570   4670   
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
 3571   4671   
new file mode 100644
 3572   4672   
index 0000000..d9bd824
 3573         -
-- /dev/null
        4673  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 3574   4674   
@@ -0,0 +1 @@
        4675  +
3045022100abcadf84ed6f4bf5c19df3220b13e370ef093e5e7a5a5093c1a796a3de7804710220568ec0dafd60aa764002ce2ac7c89f403b47142dc7e0e48ded1691929488c88e
              \
 No newline at end of file
 3575   4676   
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
 3576   4677   
new file mode 100644
 3577   4678   
index 0000000..19d1d46
 3578         -
-- /dev/null
        4679  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 3579   4680   
@@ -0,0 +1,3 @@
        4681  +
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
        4682  +
Host:example.amazonaws.com
        4683  +
 3580   4684   
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
 3581   4685   
similarity index 99%
 3582   4686   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
 3583   4687   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 3584   4688   
index 17e5279..24c8a5e 100644
 3585   4689   
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
 3586   4690   
new file mode 100644
 3587   4691   
index 0000000..25bc21e
 3588         -
-- /dev/null
        4692  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 3589   4693   
@@ -0,0 +1,2 @@
        4694  +
GET // HTTP/1.1
        4695  +
Host:example.amazonaws.com
 3590   4696   
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
 3591   4697   
new file mode 100644
 3592   4698   
index 0000000..0468d80
 3593         -
-- /dev/null
        4699  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 3594   4700   
@@ -0,0 +1,12 @@
        4701  +
{
        4702  +
    "credentials": {
        4703  +
        "access_key_id": "AKIDEXAMPLE",
        4704  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4705  +
    },
        4706  +
    "expiration_in_seconds": 3600,
        4707  +
    "normalize": true,
        4708  +
    "region": "us-east-1",
        4709  +
    "service": "service",
        4710  +
    "sign_body": false,
        4711  +
    "timestamp": "2015-08-30T12:36:00Z"
        4712  +
}
              \
 No newline at end of file
 3595   4713   
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
 3596   4714   
similarity index 99%
 3597   4715   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
 3598   4716   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 3599   4717   
index fdf9c48..a8e9e02 100644
 3600   4718   
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
 3601   4719   
new file mode 100644
 3602   4720   
index 0000000..ffe1b60
 3603         -
-- /dev/null
        4721  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 3604   4722   
@@ -0,0 +1 @@
        4723  +
304402205dd203fd6b973e5fb088569ec27db1e267ef4a728f177e88fcc65f299255c0ab02206da878f40c64094595aa4e808849b69025f1c9b9f4be0f0e6ab8cd7a04e81d77
              \
 No newline at end of file
 3605   4724   
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
 3606   4725   
new file mode 100644
 3607   4726   
index 0000000..3189f55
 3608         -
-- /dev/null
        4727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 3609   4728   
@@ -0,0 +1,6 @@
        4729  +
GET //example// HTTP/1.1
        4730  +
Host:example.amazonaws.com
        4731  +
X-Amz-Date:20150830T123600Z
        4732  +
X-Amz-Region-Set:us-east-1
        4733  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203d34870fcc77b0f5a3f6d440cd1cecb75c7e534cfbcc68f60743d308ae92fef602200f9fbaacc5010b9a7e046b1b5ae58764bd32c24c47ef65b63ad9ff756c478e4d
        4734  +
 3610   4735   
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
 3611   4736   
similarity index 99%
 3612   4737   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
 3613   4738   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 3614   4739   
index 8f9c95e..430020e 100644
 3615   4740   
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
 3616   4741   
new file mode 100644
 3617   4742   
index 0000000..379dcb2
 3618         -
-- /dev/null
        4743  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 3619   4744   
@@ -0,0 +1,4 @@
        4745  +
{
        4746  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4747  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4748  +
}
 3620   4749   
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
 3621   4750   
similarity index 99%
 3622   4751   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
 3623   4752   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 3624   4753   
index 1046735..8d41e37 100644
 3625   4754   
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
 3626   4755   
new file mode 100644
 3627   4756   
index 0000000..93a0fa4
 3628         -
-- /dev/null
        4757  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 3629   4758   
@@ -0,0 +1 @@
        4759  +
3045022100dfd2281b396d138207f0e58889bd6cc4d95ffd8d64e6f37ef2a9f2a15cab6944022060d05a747cd4e3c49cb50bf58d834ae917cd1ebd1524a352fb64f4d54f9ba279
              \
 No newline at end of file
 3630   4760   
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
 3631   4761   
new file mode 100644
 3632   4762   
index 0000000..65c8cb6
 3633         -
-- /dev/null
        4763  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 3634   4764   
@@ -0,0 +1,3 @@
        4765  +
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
        4766  +
Host:example.amazonaws.com
        4767  +
 3635   4768   
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
 3636   4769   
similarity index 99%
 3637   4770   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
 3638   4771   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 3639   4772   
index b293cc2..0f4c4c5 100644
 3640   4773   
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
 3641   4774   
similarity index 65%
 3642   4775   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
 3643   4776   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3644   4777   
index a4307ce..12e0931 100644
 3645         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
        4778  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3646   4779   
@@ -1,3 +1,2 @@
 3647   4780   
GET //example// HTTP/1.1
 3648   4781   
Host:example.amazonaws.com
 3649         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3650   4782   
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
 3651   4783   
new file mode 100644
 3652   4784   
index 0000000..7bee5c7
 3653         -
-- /dev/null
        4785  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 3654   4786   
@@ -0,0 +1,12 @@
        4787  +
{
        4788  +
    "credentials": {
        4789  +
        "access_key_id": "AKIDEXAMPLE",
        4790  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4791  +
    },
        4792  +
    "expiration_in_seconds": 3600,
        4793  +
    "normalize": false,
        4794  +
    "region": "us-east-1",
        4795  +
    "service": "service",
        4796  +
    "sign_body": false,
        4797  +
    "timestamp": "2015-08-30T12:36:00Z"
        4798  +
}
              \
 No newline at end of file
 3655   4799   
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
 3656   4800   
similarity index 99%
 3657   4801   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
 3658   4802   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 3659   4803   
index a9c55f6..76f55ed 100644
 3660   4804   
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
 3661   4805   
new file mode 100644
 3662   4806   
index 0000000..de333b2
 3663         -
-- /dev/null
        4807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 3664   4808   
@@ -0,0 +1 @@
        4809  +
3044022039ccb6afb5f0b574cfc8fec2e9158269bbe28f9e5747acc032d1ea17617f8b2002204933ee3e4ad4ec425c90593a68db99fcece29ae45906dec40c2204290cedf8bd
              \
 No newline at end of file
 3665   4810   
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
 3666   4811   
new file mode 100644
 3667   4812   
index 0000000..773ce63
 3668         -
-- /dev/null
        4813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 3669   4814   
@@ -0,0 +1,6 @@
        4815  +
GET //example// HTTP/1.1
        4816  +
Host:example.amazonaws.com
        4817  +
X-Amz-Date:20150830T123600Z
        4818  +
X-Amz-Region-Set:us-east-1
        4819  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502202450e5abfccb424d5a0e2d5d1a084e76abc5290ae567a97f5174bfed575fd519022100a5e743040a2bdd3cd7889070e1d190d5782e7591a715370f9bea04dc2702dbab
        4820  +
 3670   4821   
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
 3671   4822   
similarity index 99%
 3672   4823   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
 3673   4824   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 3674   4825   
index 5c4c2cd..46c3265 100644
 3675   4826   
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
 3676   4827   
new file mode 100644
 3677   4828   
index 0000000..379dcb2
 3678         -
-- /dev/null
        4829  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 3679   4830   
@@ -0,0 +1,4 @@
        4831  +
{
        4832  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4833  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4834  +
}
 3680   4835   
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
 3681   4836   
similarity index 99%
 3682   4837   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
 3683   4838   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 3684   4839   
index c878ab4..6047ccf 100644
 3685   4840   
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
 3686   4841   
new file mode 100644
 3687   4842   
index 0000000..d61fcd0
 3688         -
-- /dev/null
        4843  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 3689   4844   
@@ -0,0 +1 @@
        4845  +
3045022100fa1d3e99997a184d59e23fb8bfeca08a5f94f2e7b89b0320d11deacab3593f0f022009c0785ec02c5dda370a3eb714feb51e3b0d56df674571bf7146bf8277897e65
              \
 No newline at end of file
 3690   4846   
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
 3691   4847   
new file mode 100644
 3692   4848   
index 0000000..3e37b5b
 3693         -
-- /dev/null
        4849  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 3694   4850   
@@ -0,0 +1,3 @@
        4851  +
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
        4852  +
Host:example.amazonaws.com
        4853  +
 3695   4854   
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
 3696   4855   
similarity index 99%
 3697   4856   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
 3698   4857   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 3699   4858   
index 5f59645..2537d28 100644
 3700   4859   
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
 3701   4860   
new file mode 100644
 3702   4861   
index 0000000..12e0931
 3703         -
-- /dev/null
        4862  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 3704   4863   
@@ -0,0 +1,2 @@
        4864  +
GET //example// HTTP/1.1
        4865  +
Host:example.amazonaws.com
 3705   4866   
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
 3706   4867   
new file mode 100644
 3707   4868   
index 0000000..0468d80
 3708         -
-- /dev/null
        4869  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 3709   4870   
@@ -0,0 +1,12 @@
        4871  +
{
        4872  +
    "credentials": {
        4873  +
        "access_key_id": "AKIDEXAMPLE",
        4874  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4875  +
    },
        4876  +
    "expiration_in_seconds": 3600,
        4877  +
    "normalize": true,
        4878  +
    "region": "us-east-1",
        4879  +
    "service": "service",
        4880  +
    "sign_body": false,
        4881  +
    "timestamp": "2015-08-30T12:36:00Z"
        4882  +
}
              \
 No newline at end of file
 3710   4883   
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
 3711   4884   
new file mode 100644
 3712   4885   
index 0000000..0b2b616
 3713         -
-- /dev/null
        4886  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 3714   4887   
@@ -0,0 +1,9 @@
        4888  +
GET
        4889  +
/example%20space/
        4890  +
        4891  +
host:example.amazonaws.com
        4892  +
x-amz-date:20150830T123600Z
        4893  +
x-amz-region-set:us-east-1
        4894  +
        4895  +
host;x-amz-date;x-amz-region-set
        4896  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3715   4897   
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
 3716   4898   
new file mode 100644
 3717   4899   
index 0000000..6e7841d
 3718         -
-- /dev/null
        4900  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 3719   4901   
@@ -0,0 +1 @@
        4902  +
304502202292b4f0e4f1495b9ceb3b77349efeffdce42cb5461f810db3983005c1e772ca022100b4b6175661196a82f5b59968315517e1ffdde58d2e3eba10d3bfe171cde625c4
              \
 No newline at end of file
 3720   4903   
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
 3721   4904   
new file mode 100644
 3722   4905   
index 0000000..0969cd3
 3723         -
-- /dev/null
        4906  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 3724   4907   
@@ -0,0 +1,6 @@
        4908  +
GET /example space/ HTTP/1.1
        4909  +
Host:example.amazonaws.com
        4910  +
X-Amz-Date:20150830T123600Z
        4911  +
X-Amz-Region-Set:us-east-1
        4912  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100e8e0ec99a8d287073e078543fdbdeba108cdef097a52c7556874076072350200022100e59d9e0f48209bea00faa47d485d850eb72747db83927a2a43b5ebab5ca2b545
        4913  +
 3725   4914   
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
 3726   4915   
new file mode 100644
 3727   4916   
index 0000000..ddae6e2
 3728         -
-- /dev/null
        4917  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 3729   4918   
@@ -0,0 +1,4 @@
        4919  +
AWS4-ECDSA-P256-SHA256
        4920  +
20150830T123600Z
        4921  +
20150830/service/aws4_request
        4922  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3730   4923   
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
 3731   4924   
new file mode 100644
 3732   4925   
index 0000000..379dcb2
 3733         -
-- /dev/null
        4926  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 3734   4927   
@@ -0,0 +1,4 @@
        4928  +
{
        4929  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4930  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4931  +
}
 3735   4932   
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
 3736   4933   
new file mode 100644
 3737   4934   
index 0000000..a66b3cb
 3738         -
-- /dev/null
        4935  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 3739   4936   
@@ -0,0 +1,7 @@
        4937  +
GET
        4938  +
/example%20space/
        4939  +
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
        4940  +
host:example.amazonaws.com
        4941  +
        4942  +
host
        4943  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3740   4944   
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
 3741   4945   
new file mode 100644
 3742   4946   
index 0000000..b3253ae
 3743         -
-- /dev/null
        4947  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 3744   4948   
@@ -0,0 +1 @@
        4949  +
3045022100fc068fdda7586bec9ac9ed341e7a81bf1e1f8c60fee6e22165868ecac62e404d02200620b5d68b9be75210336618fc0a884439ce1ae93085adb03e27f1ce7ca4912e
              \
 No newline at end of file
 3745   4950   
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
 3746   4951   
new file mode 100644
 3747   4952   
index 0000000..9e335b2
 3748         -
-- /dev/null
        4953  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 3749   4954   
@@ -0,0 +1,3 @@
        4955  +
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
        4956  +
Host:example.amazonaws.com
        4957  +
 3750   4958   
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
 3751   4959   
new file mode 100644
 3752   4960   
index 0000000..b6ff6fb
 3753         -
-- /dev/null
        4961  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 3754   4962   
@@ -0,0 +1,4 @@
        4963  +
AWS4-ECDSA-P256-SHA256
        4964  +
20150830T123600Z
        4965  +
20150830/service/aws4_request
        4966  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3755   4967   
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
 3756   4968   
new file mode 100644
 3757   4969   
index 0000000..ab509ab
 3758         -
-- /dev/null
        4970  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 3759   4971   
@@ -0,0 +1,2 @@
        4972  +
GET /example space/ HTTP/1.1
        4973  +
Host:example.amazonaws.com
 3760   4974   
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
 3761   4975   
new file mode 100644
 3762   4976   
index 0000000..7bee5c7
 3763         -
-- /dev/null
        4977  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 3764   4978   
@@ -0,0 +1,12 @@
        4979  +
{
        4980  +
    "credentials": {
        4981  +
        "access_key_id": "AKIDEXAMPLE",
        4982  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4983  +
    },
        4984  +
    "expiration_in_seconds": 3600,
        4985  +
    "normalize": false,
        4986  +
    "region": "us-east-1",
        4987  +
    "service": "service",
        4988  +
    "sign_body": false,
        4989  +
    "timestamp": "2015-08-30T12:36:00Z"
        4990  +
}
              \
 No newline at end of file
 3765   4991   
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
 3766   4992   
new file mode 100644
 3767   4993   
index 0000000..0b2b616
 3768         -
-- /dev/null
        4994  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 3769   4995   
@@ -0,0 +1,9 @@
        4996  +
GET
        4997  +
/example%20space/
        4998  +
        4999  +
host:example.amazonaws.com
        5000  +
x-amz-date:20150830T123600Z
        5001  +
x-amz-region-set:us-east-1
        5002  +
        5003  +
host;x-amz-date;x-amz-region-set
        5004  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3770   5005   
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
 3771   5006   
new file mode 100644
 3772   5007   
index 0000000..e75ae08
 3773         -
-- /dev/null
        5008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 3774   5009   
@@ -0,0 +1 @@
        5010  +
3046022100881d1dce37131cd3248fa4cfb63f050e8985c3de5a58f654a8b263d52ad576180221009316e13742504474cf33631bb5f2fa89f4990c911ad317be831a6de015cf4054
              \
 No newline at end of file
 3775   5011   
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
 3776   5012   
new file mode 100644
 3777   5013   
index 0000000..cb089db
 3778         -
-- /dev/null
        5014  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 3779   5015   
@@ -0,0 +1,6 @@
        5016  +
GET /example space/ HTTP/1.1
        5017  +
Host:example.amazonaws.com
        5018  +
X-Amz-Date:20150830T123600Z
        5019  +
X-Amz-Region-Set:us-east-1
        5020  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100a26695d793a8e7d2ed2a3495402e9b4bf8e5b05e767d303f57d9515f617ebae5022100c4b89f5648567c08b6d173b6d733f5c012bb615cd38039109f64db56efecc851
        5021  +
 3780   5022   
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
 3781   5023   
new file mode 100644
 3782   5024   
index 0000000..ddae6e2
 3783         -
-- /dev/null
        5025  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 3784   5026   
@@ -0,0 +1,4 @@
        5027  +
AWS4-ECDSA-P256-SHA256
        5028  +
20150830T123600Z
        5029  +
20150830/service/aws4_request
        5030  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3785   5031   
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
 3786   5032   
new file mode 100644
 3787   5033   
index 0000000..379dcb2
 3788         -
-- /dev/null
        5034  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 3789   5035   
@@ -0,0 +1,4 @@
        5036  +
{
        5037  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5038  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5039  +
}
 3790   5040   
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
 3791   5041   
new file mode 100644
 3792   5042   
index 0000000..a66b3cb
 3793         -
-- /dev/null
        5043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 3794   5044   
@@ -0,0 +1,7 @@
        5045  +
GET
        5046  +
/example%20space/
        5047  +
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
        5048  +
host:example.amazonaws.com
        5049  +
        5050  +
host
        5051  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3795   5052   
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
 3796   5053   
new file mode 100644
 3797   5054   
index 0000000..66a80c3
 3798         -
-- /dev/null
        5055  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 3799   5056   
@@ -0,0 +1 @@
        5057  +
304502201825fe5d62f321a740cbe590ce0c0c17045eed9acbbbd574d3cefbec349d06c5022100bcd482f85374b24d9f1f5000d2de7e12a4e0c8f5277e73d29c41ecc45390e731
              \
 No newline at end of file
 3800   5058   
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
 3801   5059   
new file mode 100644
 3802   5060   
index 0000000..7d1b9d9
 3803         -
-- /dev/null
        5061  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 3804   5062   
@@ -0,0 +1,3 @@
        5063  +
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
        5064  +
Host:example.amazonaws.com
        5065  +
 3805   5066   
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
 3806   5067   
new file mode 100644
 3807   5068   
index 0000000..b6ff6fb
 3808         -
-- /dev/null
        5069  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 3809   5070   
@@ -0,0 +1,4 @@
        5071  +
AWS4-ECDSA-P256-SHA256
        5072  +
20150830T123600Z
        5073  +
20150830/service/aws4_request
        5074  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3810   5075   
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
 3811   5076   
new file mode 100644
 3812   5077   
index 0000000..ab509ab
 3813         -
-- /dev/null
        5078  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 3814   5079   
@@ -0,0 +1,2 @@
        5080  +
GET /example space/ HTTP/1.1
        5081  +
Host:example.amazonaws.com
 3815   5082   
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
 3816   5083   
new file mode 100644
 3817   5084   
index 0000000..0468d80
 3818         -
-- /dev/null
        5085  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 3819   5086   
@@ -0,0 +1,12 @@
        5087  +
{
        5088  +
    "credentials": {
        5089  +
        "access_key_id": "AKIDEXAMPLE",
        5090  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5091  +
    },
        5092  +
    "expiration_in_seconds": 3600,
        5093  +
    "normalize": true,
        5094  +
    "region": "us-east-1",
        5095  +
    "service": "service",
        5096  +
    "sign_body": false,
        5097  +
    "timestamp": "2015-08-30T12:36:00Z"
        5098  +
}
              \
 No newline at end of file
 3820   5099   
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
 3821   5100   
similarity index 99%
 3822   5101   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
 3823   5102   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 3824   5103   
index b0db648..46d76bb 100644
 3825   5104   
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
 3826   5105   
new file mode 100644
 3827   5106   
index 0000000..53c0cb6
 3828         -
-- /dev/null
        5107  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 3829   5108   
@@ -0,0 +1 @@
        5109  +
304502204303d34750ced762f4e5af2c61ba70c9f5830d8a5c7fc418a02823d61673ca32022100c26cf8f38007155cb8bd3e684697063ad8f421a91be796d78b14b126e25d3680
              \
 No newline at end of file
 3830   5110   
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
 3831   5111   
new file mode 100644
 3832   5112   
index 0000000..3bdb653
 3833         -
-- /dev/null
        5113  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 3834   5114   
@@ -0,0 +1,6 @@
        5115  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5116  +
Host:example.amazonaws.com
        5117  +
X-Amz-Date:20150830T123600Z
        5118  +
X-Amz-Region-Set:us-east-1
        5119  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206a228bcbe26141c2c5065525b98ea00b793470e04e655006269f740e320215930220160015e35502fa89a96f5fed59981af0896b60ecea6a68606a0be368bca73f2c
        5120  +
 3835   5121   
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
 3836   5122   
similarity index 99%
 3837   5123   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
 3838   5124   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 3839   5125   
index 20c7cd6..3b30173 100644
 3840   5126   
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
 3841   5127   
new file mode 100644
 3842   5128   
index 0000000..379dcb2
 3843         -
-- /dev/null
        5129  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 3844   5130   
@@ -0,0 +1,4 @@
        5131  +
{
        5132  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5133  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5134  +
}
 3845   5135   
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
 3846   5136   
similarity index 99%
 3847   5137   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
 3848   5138   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 3849   5139   
index f9fb726..7e93f58 100644
 3850   5140   
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
 3851   5141   
new file mode 100644
 3852   5142   
index 0000000..48311a8
 3853         -
-- /dev/null
        5143  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 3854   5144   
@@ -0,0 +1 @@
        5145  +
3045022100a8e6e2918ceb211f77810150d828be217af238ca95db6f88264d668ffacefb8b02204122d651c775a3ed8f40f3bfe37a2c8fec28cd53027b599eddd7115e06ca4bb0
              \
 No newline at end of file
 3855   5146   
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
 3856   5147   
new file mode 100644
 3857   5148   
index 0000000..82da9be
 3858         -
-- /dev/null
        5149  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 3859   5150   
@@ -0,0 +1,3 @@
        5151  +
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
        5152  +
Host:example.amazonaws.com
        5153  +
 3860   5154   
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
 3861   5155   
similarity index 99%
 3862   5156   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
 3863   5157   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 3864   5158   
index ef06e89..4aab9a2 100644
 3865   5159   
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
 3866   5160   
similarity index 80%
 3867   5161   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
 3868   5162   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 3869   5163   
index da760cd..a149694 100644
 3870         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
        5164  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 3871   5165   
@@ -1,3 +1,2 @@
 3872   5166   
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 3873   5167   
Host:example.amazonaws.com
 3874         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3875   5168   
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
 3876   5169   
new file mode 100644
 3877   5170   
index 0000000..0468d80
 3878         -
-- /dev/null
        5171  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 3879   5172   
@@ -0,0 +1,12 @@
        5173  +
{
        5174  +
    "credentials": {
        5175  +
        "access_key_id": "AKIDEXAMPLE",
        5176  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5177  +
    },
        5178  +
    "expiration_in_seconds": 3600,
        5179  +
    "normalize": true,
        5180  +
    "region": "us-east-1",
        5181  +
    "service": "service",
        5182  +
    "sign_body": false,
        5183  +
    "timestamp": "2015-08-30T12:36:00Z"
        5184  +
}
              \
 No newline at end of file
 3880   5185   
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
 3881   5186   
new file mode 100644
 3882   5187   
index 0000000..0f1afe7
 3883         -
-- /dev/null
        5188  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 3884   5189   
@@ -0,0 +1,9 @@
        5190  +
GET
        5191  +
/%E1%88%B4
        5192  +
        5193  +
host:example.amazonaws.com
        5194  +
x-amz-date:20150830T123600Z
        5195  +
x-amz-region-set:us-east-1
        5196  +
        5197  +
host;x-amz-date;x-amz-region-set
        5198  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3885   5199   
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
 3886   5200   
new file mode 100644
 3887   5201   
index 0000000..4b9af6c
 3888         -
-- /dev/null
        5202  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 3889   5203   
@@ -0,0 +1 @@
        5204  +
3044022009b73628ce2929e224b781c591bdc93fc3381cef5f63992eefb82a286276fa0902203cbc6071d1be7b8c91ec0a04b921881c48cbea2a0a86481f6fa7a983e36190c0
              \
 No newline at end of file
 3890   5205   
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
 3891   5206   
new file mode 100644
 3892   5207   
index 0000000..d42d7b3
 3893         -
-- /dev/null
        5208  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 3894   5209   
@@ -0,0 +1,6 @@
        5210  +
GET /ሴ HTTP/1.1
        5211  +
Host:example.amazonaws.com
        5212  +
X-Amz-Date:20150830T123600Z
        5213  +
X-Amz-Region-Set:us-east-1
        5214  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210082c462efc22f340d7d20b19e0c9b38400e9395bedd9269e01e959ef915ca2846022050d38df1572786ef8befe01d888335c15b0f17fb1d795858fa3cb79e060ba375
        5215  +
 3895   5216   
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
 3896   5217   
new file mode 100644
 3897   5218   
index 0000000..0827f62
 3898         -
-- /dev/null
        5219  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 3899   5220   
@@ -0,0 +1,4 @@
        5221  +
AWS4-ECDSA-P256-SHA256
        5222  +
20150830T123600Z
        5223  +
20150830/service/aws4_request
        5224  +
7c8a7084825e715f0e217a7470ce3611bcfedb5b70329d9b36bba5cefd39c11a
              \
 No newline at end of file
 3900   5225   
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
 3901   5226   
new file mode 100644
 3902   5227   
index 0000000..379dcb2
 3903         -
-- /dev/null
        5228  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 3904   5229   
@@ -0,0 +1,4 @@
        5230  +
{
        5231  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5232  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5233  +
}
 3905   5234   
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
 3906   5235   
new file mode 100644
 3907   5236   
index 0000000..a41a2f8
 3908         -
-- /dev/null
        5237  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 3909   5238   
@@ -0,0 +1,7 @@
        5239  +
GET
        5240  +
/%E1%88%B4
        5241  +
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
        5242  +
host:example.amazonaws.com
        5243  +
        5244  +
host
        5245  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3910   5246   
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
 3911   5247   
new file mode 100644
 3912   5248   
index 0000000..a5c7f4f
 3913         -
-- /dev/null
        5249  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 3914   5250   
@@ -0,0 +1 @@
        5251  +
30460221008cf2ac3d46b7529fe7b73add56626a546fc9372b458e197dbd355198465e0918022100c059b86e01bd11d31c5fe19ee7c73fe3b8058ad2cebe2fe74c779c4a6a95684a
              \
 No newline at end of file
 3915   5252   
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
 3916   5253   
new file mode 100644
 3917   5254   
index 0000000..492ed33
 3918         -
-- /dev/null
        5255  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 3919   5256   
@@ -0,0 +1,3 @@
        5257  +
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
        5258  +
Host:example.amazonaws.com
        5259  +
 3920   5260   
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
 3921   5261   
new file mode 100644
 3922   5262   
index 0000000..a93108f
 3923         -
-- /dev/null
        5263  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 3924   5264   
@@ -0,0 +1,4 @@
        5265  +
AWS4-ECDSA-P256-SHA256
        5266  +
20150830T123600Z
        5267  +
20150830/service/aws4_request
        5268  +
b77c78c8276c5eac930db70b21b69b34d0c2560e1a963ab28e28481ef6a4ff66
              \
 No newline at end of file
 3925   5269   
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
 3926   5270   
new file mode 100644
 3927   5271   
index 0000000..9e273f6
 3928         -
-- /dev/null
        5272  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 3929   5273   
@@ -0,0 +1,2 @@
        5274  +
GET /ሴ HTTP/1.1
        5275  +
Host:example.amazonaws.com
 3930   5276   
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
 3931   5277   
new file mode 100644
 3932   5278   
index 0000000..0468d80
 3933         -
-- /dev/null
        5279  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 3934   5280   
@@ -0,0 +1,12 @@
        5281  +
{
        5282  +
    "credentials": {
        5283  +
        "access_key_id": "AKIDEXAMPLE",
        5284  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5285  +
    },
        5286  +
    "expiration_in_seconds": 3600,
        5287  +
    "normalize": true,
        5288  +
    "region": "us-east-1",
        5289  +
    "service": "service",
        5290  +
    "sign_body": false,
        5291  +
    "timestamp": "2015-08-30T12:36:00Z"
        5292  +
}
              \
 No newline at end of file
 3935   5293   
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
 3936   5294   
similarity index 99%
 3937   5295   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
 3938   5296   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 3939   5297   
index bb9d4bf..edc0bb4 100644
 3940   5298   
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
 3941   5299   
new file mode 100644
 3942   5300   
index 0000000..ee9a272
 3943         -
-- /dev/null
        5301  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 3944   5302   
@@ -0,0 +1 @@
        5303  +
3044022075e5fe54105695e4af6f5b59ff39f4f1d84de3bfdd546a6b9212936a78e743ac02204f25f3b9826688eb9743088f426eabd6b306432fd2c4c5c5aa2bbb9058267542
              \
 No newline at end of file
 3945   5304   
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
 3946   5305   
new file mode 100644
 3947   5306   
index 0000000..2090343
 3948         -
-- /dev/null
        5307  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 3949   5308   
@@ -0,0 +1,6 @@
        5309  +
GET /?Param1=value1 HTTP/1.1
        5310  +
Host:example.amazonaws.com
        5311  +
X-Amz-Date:20150830T123600Z
        5312  +
X-Amz-Region-Set:us-east-1
        5313  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210093d40fe05684ddadfadfafc4b8565d18ca94d590fc897577224bf09696bbde6102206f12bb5e2503781303cf6880c0a2136d4b820221eb9d6ac5ad61378b16b8ea5d
        5314  +
 3950   5315   
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
 3951   5316   
similarity index 99%
 3952   5317   
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
 3953   5318   
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
 3954   5319   
index a176f1d..06ed74f 100644
 3955   5320   
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
 3956   5321   
new file mode 100644
 3957   5322   
index 0000000..379dcb2
 3958         -
-- /dev/null
        5323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 3959   5324   
@@ -0,0 +1,4 @@
        5325  +
{
        5326  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5327  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5328  +
}
 3960   5329   
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
 3961   5330   
similarity index 99%
 3962   5331   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
 3963   5332   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 3964   5333   
index 344384b..a875d70 100644
 3965   5334   
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
 3966   5335   
new file mode 100644
 3967   5336   
index 0000000..ef93624
 3968         -
-- /dev/null
        5337  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 3969   5338   
@@ -0,0 +1 @@
        5339  +
30460221009a9e99aefe8effed47320e6e9f54cb943e2f72ce638ed7aae2a6711240304b82022100a90e99f053dd51912a6993299229e19aebbd81e68d4d24a1bdedcc6717c9f456
              \
 No newline at end of file
 3970   5340   
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
 3971   5341   
new file mode 100644
 3972   5342   
index 0000000..92829f7
 3973         -
-- /dev/null
        5343  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 3974   5344   
@@ -0,0 +1,3 @@
        5345  +
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
        5346  +
Host:example.amazonaws.com
        5347  +
 3975   5348   
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
 3976   5349   
similarity index 99%
 3977   5350   
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
 3978   5351   
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
 3979   5352   
index b625052..4ff9191 100644
 3980   5353   
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
 3981   5354   
similarity index 67%
 3982   5355   
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
 3983   5356   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 3984   5357   
index 970d0a0..f4a03bb 100644
 3985         -
-- 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
        5358  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 3986   5359   
@@ -1,3 +1,2 @@
 3987   5360   
GET /?Param1=value1 HTTP/1.1
 3988   5361   
Host:example.amazonaws.com
 3989         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3990   5362   
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
 3991   5363   
new file mode 100644
 3992   5364   
index 0000000..0468d80
 3993         -
-- /dev/null
        5365  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 3994   5366   
@@ -0,0 +1,12 @@
        5367  +
{
        5368  +
    "credentials": {
        5369  +
        "access_key_id": "AKIDEXAMPLE",
        5370  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5371  +
    },
        5372  +
    "expiration_in_seconds": 3600,
        5373  +
    "normalize": true,
        5374  +
    "region": "us-east-1",
        5375  +
    "service": "service",
        5376  +
    "sign_body": false,
        5377  +
    "timestamp": "2015-08-30T12:36:00Z"
        5378  +
}
              \
 No newline at end of file
 3995   5379   
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
 3996   5380   
new file mode 100644
 3997   5381   
index 0000000..da07537
 3998         -
-- /dev/null
        5382  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 3999   5383   
@@ -0,0 +1,9 @@
        5384  +
GET
        5385  +
/
        5386  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        5387  +
host:example.amazonaws.com
        5388  +
x-amz-date:20150830T123600Z
        5389  +
x-amz-region-set:us-east-1
        5390  +
        5391  +
host;x-amz-date;x-amz-region-set
        5392  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4000   5393   
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
 4001   5394   
new file mode 100644
 4002   5395   
index 0000000..edb21e5
 4003         -
-- /dev/null
        5396  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 4004   5397   
@@ -0,0 +1 @@
        5398  +
304402201c9d8aa856d87542e2fc29ccb3841bf604d7582a8ab2ca8e6c9e21c98693f35502207052f84ecd1dc8b6468a536e9d1bdc990cf14bae8142c1cc945f15bcf0e87613
              \
 No newline at end of file
 4005   5399   
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
 4006   5400   
new file mode 100644
 4007   5401   
index 0000000..e60394c
 4008         -
-- /dev/null
        5402  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 4009   5403   
@@ -0,0 +1,6 @@
        5404  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5405  +
Host:example.amazonaws.com
        5406  +
X-Amz-Date:20150830T123600Z
        5407  +
X-Amz-Region-Set:us-east-1
        5408  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100cef3137947f52af13fe5591d4ddcff0260176e7b2a668b43ac8f0cba2e489fe502203b4fe53c9fe3e8925643fe0e4c3ec0b3ea6262917bf7300d2e2abb399078e6de
        5409  +
 4010   5410   
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
 4011   5411   
new file mode 100644
 4012   5412   
index 0000000..1dfc886
 4013         -
-- /dev/null
        5413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 4014   5414   
@@ -0,0 +1,4 @@
        5415  +
AWS4-ECDSA-P256-SHA256
        5416  +
20150830T123600Z
        5417  +
20150830/service/aws4_request
        5418  +
55568a29040b287c72015a5ab482d9aaceeb1e9881f3bc946378bc3d6079f6a5
              \
 No newline at end of file
 4015   5419   
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
 4016   5420   
new file mode 100644
 4017   5421   
index 0000000..379dcb2
 4018         -
-- /dev/null
        5422  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 4019   5423   
@@ -0,0 +1,4 @@
        5424  +
{
        5425  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5426  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5427  +
}
 4020   5428   
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
 4021   5429   
new file mode 100644
 4022   5430   
index 0000000..e94dc0c
 4023         -
-- /dev/null
        5431  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 4024   5432   
@@ -0,0 +1,7 @@
        5433  +
GET
        5434  +
/
        5435  +
%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
        5436  +
host:example.amazonaws.com
        5437  +
        5438  +
host
        5439  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4025   5440   
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
 4026   5441   
new file mode 100644
 4027   5442   
index 0000000..7489437
 4028         -
-- /dev/null
        5443  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4029   5444   
@@ -0,0 +1 @@
        5445  +
3046022100dcc853d7fbd59ceebd1ac57d404b979a7252cf88c79dcc6d58167902750235fd022100ffa98128e35b03aa434287165980f78533e9e6dfc80373cea82b047f4f0554ee
              \
 No newline at end of file
 4030   5446   
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
 4031   5447   
new file mode 100644
 4032   5448   
index 0000000..90c0e73
 4033         -
-- /dev/null
        5449  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4034   5450   
@@ -0,0 +1,3 @@
        5451  +
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
        5452  +
Host:example.amazonaws.com
        5453  +
 4035   5454   
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
 4036   5455   
new file mode 100644
 4037   5456   
index 0000000..ab8a711
 4038         -
-- /dev/null
        5457  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4039   5458   
@@ -0,0 +1,4 @@
        5459  +
AWS4-ECDSA-P256-SHA256
        5460  +
20150830T123600Z
        5461  +
20150830/service/aws4_request
        5462  +
56d9ab07692614338f2aa44f1018ad4102b19305fba8b83383d2d7c6ca816614
              \
 No newline at end of file
 4040   5463   
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
 4041   5464   
new file mode 100644
 4042   5465   
index 0000000..368c6e3
 4043         -
-- /dev/null
        5466  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4044   5467   
@@ -0,0 +1,2 @@
        5468  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5469  +
Host:example.amazonaws.com
 4045   5470   
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
 4046   5471   
new file mode 100644
 4047   5472   
index 0000000..0468d80
 4048         -
-- /dev/null
        5473  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4049   5474   
@@ -0,0 +1,12 @@
        5475  +
{
        5476  +
    "credentials": {
        5477  +
        "access_key_id": "AKIDEXAMPLE",
        5478  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5479  +
    },
        5480  +
    "expiration_in_seconds": 3600,
        5481  +
    "normalize": true,
        5482  +
    "region": "us-east-1",
        5483  +
    "service": "service",
        5484  +
    "sign_body": false,
        5485  +
    "timestamp": "2015-08-30T12:36:00Z"
        5486  +
}
              \
 No newline at end of file
 4050   5487   
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
 4051   5488   
similarity index 99%
 4052   5489   
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
 4053   5490   
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
 4054   5491   
index 74f625a..3db56f7 100644
 4055   5492   
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
 4056   5493   
new file mode 100644
 4057   5494   
index 0000000..e6042bc
 4058         -
-- /dev/null
        5495  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4059   5496   
@@ -0,0 +1 @@
        5497  +
3045022100b342b0d62487d235a5baf82e970102670a8d7af34c61f086125d204a90724d9e022070304e846de3de228c57e528b61f4addfdb5fa788a8a452e483c6a286d8803f5
              \
 No newline at end of file
 4060   5498   
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
 4061   5499   
new file mode 100644
 4062   5500   
index 0000000..5505969
 4063         -
-- /dev/null
        5501  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4064   5502   
@@ -0,0 +1,6 @@
        5503  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        5504  +
Host:example.amazonaws.com
        5505  +
X-Amz-Date:20150830T123600Z
        5506  +
X-Amz-Region-Set:us-east-1
        5507  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220394fa0699225f403514cb4db03b7c479f64c5f9864bf520b871bb23a054d6517022100d4445c909fc62a43c6c485a8582621e0e14c6ef1e4218072bc2dcaffc1188f18
        5508  +
 4065   5509   
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
 4066   5510   
similarity index 99%
 4067   5511   
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
 4068   5512   
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
 4069   5513   
index 44873b7..e8f5e31 100644
 4070   5514   
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
 4071   5515   
new file mode 100644
 4072   5516   
index 0000000..379dcb2
 4073         -
-- /dev/null
        5517  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4074   5518   
@@ -0,0 +1,4 @@
        5519  +
{
        5520  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5521  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5522  +
}
 4075   5523   
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
 4076   5524   
similarity index 99%
 4077   5525   
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
 4078   5526   
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
 4079   5527   
index 6d30727..3fe6a9f 100644
 4080   5528   
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
 4081   5529   
new file mode 100644
 4082   5530   
index 0000000..3f35de8
 4083         -
-- /dev/null
        5531  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4084   5532   
@@ -0,0 +1 @@
        5533  +
304402207c976c47b1bcf7333ad10fcf78498bb14a368a6cd8f58703d47c9e91c4468c13022059a3715bafae9410271bf3355ccd0bbc622fe90f3c0168203d83323297789de5
              \
 No newline at end of file
 4085   5534   
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
 4086   5535   
new file mode 100644
 4087   5536   
index 0000000..30b336b
 4088         -
-- /dev/null
        5537  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4089   5538   
@@ -0,0 +1,3 @@
        5539  +
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
        5540  +
Host:example.amazonaws.com
        5541  +
 4090   5542   
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
 4091   5543   
similarity index 99%
 4092   5544   
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
 4093   5545   
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
 4094   5546   
index 99d0510..7f0565f 100644
 4095   5547   
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
 4096   5548   
similarity index 100%
 4097   5549   
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
 4098   5550   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 4099   5551   
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
 4100   5552   
new file mode 100644
 4101   5553   
index 0000000..0468d80
 4102         -
-- /dev/null
        5554  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 4103   5555   
@@ -0,0 +1,12 @@
        5556  +
{
        5557  +
    "credentials": {
        5558  +
        "access_key_id": "AKIDEXAMPLE",
        5559  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5560  +
    },
        5561  +
    "expiration_in_seconds": 3600,
        5562  +
    "normalize": true,
        5563  +
    "region": "us-east-1",
        5564  +
    "service": "service",
        5565  +
    "sign_body": false,
        5566  +
    "timestamp": "2015-08-30T12:36:00Z"
        5567  +
}
              \
 No newline at end of file
 4104   5568   
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
 4105   5569   
similarity index 99%
 4106   5570   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
 4107   5571   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4108   5572   
index 816c862..cc4537a 100644
 4109   5573   
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
 4110   5574   
new file mode 100644
 4111   5575   
index 0000000..70d38c1
 4112         -
-- /dev/null
        5576  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 4113   5577   
@@ -0,0 +1 @@
        5578  +
3045022100ce7ae9d07bea650598803710644006d47de14a884d0777abd71ccf76164a36c70220256f34ad94c5cb1291a05f7680c2a0068c51d2a31a4e2fe2100d4a58197565ed
              \
 No newline at end of file
 4114   5579   
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
 4115   5580   
new file mode 100644
 4116   5581   
index 0000000..0647eea
 4117         -
-- /dev/null
        5582  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 4118   5583   
@@ -0,0 +1,6 @@
        5584  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5585  +
Host:example.amazonaws.com
        5586  +
X-Amz-Date:20150830T123600Z
        5587  +
X-Amz-Region-Set:us-east-1
        5588  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220023b0ce37b4e3f7fe6b6e155dab72846b461d22ff4820f019a07afef476f61ee022100f985e993037270cc48ac905b360046d077770a2b28aa829ea909430b1b3ed8aa
        5589  +
 4119   5590   
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
 4120   5591   
similarity index 99%
 4121   5592   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
 4122   5593   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 4123   5594   
index 6129fc5..cc19d14 100644
 4124   5595   
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
 4125   5596   
new file mode 100644
 4126   5597   
index 0000000..379dcb2
 4127         -
-- /dev/null
        5598  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 4128   5599   
@@ -0,0 +1,4 @@
        5600  +
{
        5601  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5602  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5603  +
}
 4129   5604   
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
 4130   5605   
similarity index 99%
 4131   5606   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
 4132   5607   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 4133   5608   
index b77ee9f..ed6a10e 100644
 4134   5609   
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
 4135   5610   
new file mode 100644
 4136   5611   
index 0000000..2ceba7b
 4137         -
-- /dev/null
        5612  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 4138   5613   
@@ -0,0 +1 @@
        5614  +
30450220720698c40b04f1a2e1f94e91ed9a59f8b2a2e70cb55e6dd245d0aec039cad6ea022100b2076666b780735e1ddabf773f141ff49f8df3686ffb6c4c7798ba22470e3819
              \
 No newline at end of file
 4139   5615   
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
 4140   5616   
new file mode 100644
 4141   5617   
index 0000000..0cd6d0a
 4142         -
-- /dev/null
        5618  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 4143   5619   
@@ -0,0 +1,3 @@
        5620  +
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
        5621  +
Host:example.amazonaws.com
        5622  +
 4144   5623   
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
 4145   5624   
similarity index 99%
 4146   5625   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
 4147   5626   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 4148   5627   
index 1cfed7a..aad1421 100644
 4149   5628   
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
 4150   5629   
similarity index 86%
 4151   5630   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
 4152   5631   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4153   5632   
index d2833b3..36b2fe3 100644
 4154         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
        5633  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4155   5634   
@@ -1,3 +1,2 @@
 4156   5635   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4157   5636   
Host:example.amazonaws.com
 4158         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4159   5637   
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
 4160   5638   
new file mode 100644
 4161   5639   
index 0000000..0468d80
 4162         -
-- /dev/null
        5640  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 4163   5641   
@@ -0,0 +1,12 @@
        5642  +
{
        5643  +
    "credentials": {
        5644  +
        "access_key_id": "AKIDEXAMPLE",
        5645  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5646  +
    },
        5647  +
    "expiration_in_seconds": 3600,
        5648  +
    "normalize": true,
        5649  +
    "region": "us-east-1",
        5650  +
    "service": "service",
        5651  +
    "sign_body": false,
        5652  +
    "timestamp": "2015-08-30T12:36:00Z"
        5653  +
}
              \
 No newline at end of file
 4164   5654   
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
 4165   5655   
new file mode 100644
 4166   5656   
index 0000000..76db73d
 4167         -
-- /dev/null
        5657  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 4168   5658   
@@ -0,0 +1,9 @@
        5659  +
GET
        5660  +
/
        5661  +
        5662  +
host:example.amazonaws.com
        5663  +
x-amz-date:20150830T123600Z
        5664  +
x-amz-region-set:us-east-1
        5665  +
        5666  +
host;x-amz-date;x-amz-region-set
        5667  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4169   5668   
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
 4170   5669   
new file mode 100644
 4171   5670   
index 0000000..281cc62
 4172         -
-- /dev/null
        5671  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 4173   5672   
@@ -0,0 +1 @@
        5673  +
304402202f36c5363f01990fac07fb18efd255fb82fa3807a8a84946f0b5ac2b71ac96f5022068a86869075a8ca0fe4f875f6a07af6df16538f156dba648c9a96b7c3d687924
              \
 No newline at end of file
 4174   5674   
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
 4175   5675   
new file mode 100644
 4176   5676   
index 0000000..cce9925
 4177         -
-- /dev/null
        5677  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 4178   5678   
@@ -0,0 +1,6 @@
        5679  +
GET / HTTP/1.1
        5680  +
Host:example.amazonaws.com
        5681  +
X-Amz-Date:20150830T123600Z
        5682  +
X-Amz-Region-Set:us-east-1
        5683  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502201f8540fba7741deef60d162a2cf5a8abece28db296174e82420ae6790d93b8af022100d3109ac9ec7995b9e976efa2c54b278d3fab0737e3c73483771773d2061d8f3f
        5684  +
 4179   5685   
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
 4180   5686   
new file mode 100644
 4181   5687   
index 0000000..600f1d8
 4182         -
-- /dev/null
        5688  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 4183   5689   
@@ -0,0 +1,4 @@
        5690  +
AWS4-ECDSA-P256-SHA256
        5691  +
20150830T123600Z
        5692  +
20150830/service/aws4_request
        5693  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4184   5694   
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
 4185   5695   
new file mode 100644
 4186   5696   
index 0000000..379dcb2
 4187         -
-- /dev/null
        5697  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 4188   5698   
@@ -0,0 +1,4 @@
        5699  +
{
        5700  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5701  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5702  +
}
 4189   5703   
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
 4190   5704   
new file mode 100644
 4191   5705   
index 0000000..779c51c
 4192         -
-- /dev/null
        5706  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 4193   5707   
@@ -0,0 +1,7 @@
        5708  +
GET
        5709  +
/
        5710  +
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
        5711  +
host:example.amazonaws.com
        5712  +
        5713  +
host
        5714  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4194   5715   
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
 4195   5716   
new file mode 100644
 4196   5717   
index 0000000..2979e5e
 4197         -
-- /dev/null
        5718  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 4198   5719   
@@ -0,0 +1 @@
        5720  +
304402203840161a4739cd19b33c2186657554e140b84ce1fe9021074f154410b97ffad002200606f4430d72826616b2cd47590fcee42bbf23cb0287458389a43f9e6edd897d
              \
 No newline at end of file
 4199   5721   
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
 4200   5722   
new file mode 100644
 4201   5723   
index 0000000..1b3179c
 4202         -
-- /dev/null
        5724  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 4203   5725   
@@ -0,0 +1,3 @@
        5726  +
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
        5727  +
Host:example.amazonaws.com
        5728  +
 4204   5729   
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
 4205   5730   
new file mode 100644
 4206   5731   
index 0000000..6e29a7e
 4207         -
-- /dev/null
        5732  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 4208   5733   
@@ -0,0 +1,4 @@
        5734  +
AWS4-ECDSA-P256-SHA256
        5735  +
20150830T123600Z
        5736  +
20150830/service/aws4_request
        5737  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4209   5738   
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
 4210   5739   
similarity index 60%
 4211   5740   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
 4212   5741   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4213   5742   
index 0f7a9bf..e659c3b 100644
 4214         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
        5743  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4215   5744   
@@ -1,3 +1,2 @@
 4216   5745   
GET / HTTP/1.1
 4217   5746   
Host:example.amazonaws.com
 4218         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4219   5747   
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
 4220   5748   
new file mode 100644
 4221   5749   
index 0000000..0468d80
 4222         -
-- /dev/null
        5750  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 4223   5751   
@@ -0,0 +1,12 @@
        5752  +
{
        5753  +
    "credentials": {
        5754  +
        "access_key_id": "AKIDEXAMPLE",
        5755  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5756  +
    },
        5757  +
    "expiration_in_seconds": 3600,
        5758  +
    "normalize": true,
        5759  +
    "region": "us-east-1",
        5760  +
    "service": "service",
        5761  +
    "sign_body": false,
        5762  +
    "timestamp": "2015-08-30T12:36:00Z"
        5763  +
}
              \
 No newline at end of file
 4224   5764   
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
 4225   5765   
new file mode 100644
 4226   5766   
index 0000000..8841ddf
 4227         -
-- /dev/null
        5767  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 4228   5768   
@@ -0,0 +1,9 @@
        5769  +
GET
        5770  +
/
        5771  +
%E1%88%B4=bar
        5772  +
host:example.amazonaws.com
        5773  +
x-amz-date:20150830T123600Z
        5774  +
x-amz-region-set:us-east-1
        5775  +
        5776  +
host;x-amz-date;x-amz-region-set
        5777  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4229   5778   
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
 4230   5779   
new file mode 100644
 4231   5780   
index 0000000..1497add
 4232         -
-- /dev/null
        5781  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 4233   5782   
@@ -0,0 +1 @@
        5783  +
3046022100b47fe24b090d857f34597a58a4e8acd0ea9639462e606af7e1fa1e2c3fae1d630221008ce7f870adf7d2c06f299da0c9870402b027c6a50ff027881655a664ff294cc3
              \
 No newline at end of file
 4234   5784   
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
 4235   5785   
new file mode 100644
 4236   5786   
index 0000000..961bc10
 4237         -
-- /dev/null
        5787  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 4238   5788   
@@ -0,0 +1,6 @@
        5789  +
GET /?ሴ=bar HTTP/1.1
        5790  +
Host:example.amazonaws.com
        5791  +
X-Amz-Date:20150830T123600Z
        5792  +
X-Amz-Region-Set:us-east-1
        5793  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502206e0b9d70bb0413a557946314e04739d721c9f301d452c072590edfdcb9320572022100846f242fb0346c8c56c76a6f0e70c521d7ac02742f09c2e7b5253f1e9afe5a44
        5794  +
 4239   5795   
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
 4240   5796   
new file mode 100644
 4241   5797   
index 0000000..e78ed70
 4242         -
-- /dev/null
        5798  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 4243   5799   
@@ -0,0 +1,4 @@
        5800  +
AWS4-ECDSA-P256-SHA256
        5801  +
20150830T123600Z
        5802  +
20150830/service/aws4_request
        5803  +
b27131d754045e85823698b1fe3fc9694c17b16d97f4c43cef2359a1233c7b76
              \
 No newline at end of file
 4244   5804   
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
 4245   5805   
new file mode 100644
 4246   5806   
index 0000000..379dcb2
 4247         -
-- /dev/null
        5807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 4248   5808   
@@ -0,0 +1,4 @@
        5809  +
{
        5810  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5811  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5812  +
}
 4249   5813   
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
 4250   5814   
new file mode 100644
 4251   5815   
index 0000000..6d5ae93
 4252         -
-- /dev/null
        5816  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 4253   5817   
@@ -0,0 +1,7 @@
        5818  +
GET
        5819  +
/
        5820  +
%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
        5821  +
host:example.amazonaws.com
        5822  +
        5823  +
host
        5824  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4254   5825   
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
 4255   5826   
new file mode 100644
 4256   5827   
index 0000000..92107f2
 4257         -
-- /dev/null
        5828  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 4258   5829   
@@ -0,0 +1 @@
        5830  +
3044022076d8b03a19db63abc106c50f13487d5363f1eac2c77bc4eda764eadba8f84c6502205c0aa76554ba223a97958be9ff34aca35d84cb7b8c7ba698793ead9e6788e241
              \
 No newline at end of file
 4259   5831   
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
 4260   5832   
new file mode 100644
 4261   5833   
index 0000000..bb8a75b
 4262         -
-- /dev/null
        5834  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 4263   5835   
@@ -0,0 +1,3 @@
        5836  +
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
        5837  +
Host:example.amazonaws.com
        5838  +
 4264   5839   
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
 4265   5840   
new file mode 100644
 4266   5841   
index 0000000..9fa94c7
 4267         -
-- /dev/null
        5842  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 4268   5843   
@@ -0,0 +1,4 @@
        5844  +
AWS4-ECDSA-P256-SHA256
        5845  +
20150830T123600Z
        5846  +
20150830/service/aws4_request
        5847  +
e22d57192c68232f914afff959b8aa1027756098f879c7d4d7615a2469f85c1f
              \
 No newline at end of file
 4269   5848   
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
 4270   5849   
new file mode 100644
 4271   5850   
index 0000000..aff333a
 4272         -
-- /dev/null
        5851  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 4273   5852   
@@ -0,0 +1,2 @@
        5853  +
GET /?ሴ=bar HTTP/1.1
        5854  +
Host:example.amazonaws.com
 4274   5855   
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
 4275   5856   
new file mode 100644
 4276   5857   
index 0000000..a334e18
 4277         -
-- /dev/null
        5858  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 4278   5859   
@@ -0,0 +1,13 @@
        5860  +
{
        5861  +
    "credentials": {
        5862  +
        "access_key_id": "AKIDEXAMPLE",
        5863  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        5864  +
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
        5865  +
    },
        5866  +
    "expiration_in_seconds": 3600,
        5867  +
    "normalize": true,
        5868  +
    "region": "us-east-1",
        5869  +
    "service": "service",
        5870  +
    "sign_body": false,
        5871  +
    "timestamp": "2015-08-30T12:36:00Z"
        5872  +
}
              \
 No newline at end of file
 4279   5873   
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
 4280   5874   
similarity index 99%
 4281   5875   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
 4282   5876   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 4283   5877   
index f14defd..0e9ad42 100644
 4284   5878   
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
 4285   5879   
new file mode 100644
 4286   5880   
index 0000000..a7673b5
 4287         -
-- /dev/null
        5881  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 4288   5882   
@@ -0,0 +1 @@
        5883  +
3044022035c6bc9a8cab8a434bd8bd1cc3b6f1401842f530f1537722ad10d72a1577f8c80220101352fe0720715efbab80f82edb133175f0b61cad85daf943ad615852f9ae10
              \
 No newline at end of file
 4289   5884   
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
 4290   5885   
new file mode 100644
 4291   5886   
index 0000000..ed16e76
 4292         -
-- /dev/null
        5887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 4293   5888   
@@ -0,0 +1,7 @@
        5889  +
GET / HTTP/1.1
        5890  +
Host:example.amazonaws.com
        5891  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        5892  +
X-Amz-Date:20150830T123600Z
        5893  +
X-Amz-Region-Set:us-east-1
        5894  +
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
        5895  +
 4294   5896   
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
 4295   5897   
similarity index 99%
 4296   5898   
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
 4297   5899   
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
 4298   5900   
index 4edece5..6c1ec65 100644
 4299   5901   
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
 4300   5902   
new file mode 100644
 4301   5903   
index 0000000..379dcb2
 4302         -
-- /dev/null
        5904  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 4303   5905   
@@ -0,0 +1,4 @@
        5906  +
{
        5907  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5908  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5909  +
}
 4304   5910   
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
 4305   5911   
similarity index 99%
 4306   5912   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
 4307   5913   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 4308   5914   
index 7c042af..1876b42 100644
 4309   5915   
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
 4310   5916   
new file mode 100644
 4311   5917   
index 0000000..903dfb4
 4312         -
-- /dev/null
        5918  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 4313   5919   
@@ -0,0 +1 @@
        5920  +
3046022100d51f7ae1ac1b6b3db6c40f69aafb4306f81cdd2d87a85f69b2c4cb8fd057cf21022100cdb787a698c3f53d961f5b6279a0ff246097f50c874bcbf7a249bf4c0f118fb3
              \
 No newline at end of file
 4314   5921   
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
 4315   5922   
new file mode 100644
 4316   5923   
index 0000000..bf1d246
 4317         -
-- /dev/null
        5924  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 4318   5925   
@@ -0,0 +1,3 @@
        5926  +
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
        5927  +
Host:example.amazonaws.com
        5928  +
 4319   5929   
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
 4320   5930   
similarity index 99%
 4321   5931   
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
 4322   5932   
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
 4323   5933   
index 0fd066a..f1b1790 100644
 4324   5934   
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
 4325   5935   
similarity index 60%
 4326   5936   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
 4327   5937   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4328   5938   
index 0f7a9bf..e659c3b 100644
 4329         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
        5939  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4330   5940   
@@ -1,3 +1,2 @@
 4331   5941   
GET / HTTP/1.1
 4332   5942   
Host:example.amazonaws.com
 4333         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4334   5943   
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
 4335   5944   
new file mode 100644
 4336   5945   
index 0000000..76db73d
 4337         -
-- /dev/null
        5946  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 4338   5947   
@@ -0,0 +1,9 @@
        5948  +
GET
        5949  +
/
        5950  +
        5951  +
host:example.amazonaws.com
        5952  +
x-amz-date:20150830T123600Z
        5953  +
x-amz-region-set:us-east-1
        5954  +
        5955  +
host;x-amz-date;x-amz-region-set
        5956  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4339   5957   
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
 4340   5958   
new file mode 100644
 4341   5959   
index 0000000..0468d80
 4342         -
-- /dev/null
        5960  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 4343   5961   
@@ -0,0 +1,12 @@
        5962  +
{
        5963  +
    "credentials": {
        5964  +
        "access_key_id": "AKIDEXAMPLE",
        5965  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5966  +
    },
        5967  +
    "expiration_in_seconds": 3600,
        5968  +
    "normalize": true,
        5969  +
    "region": "us-east-1",
        5970  +
    "service": "service",
        5971  +
    "sign_body": false,
        5972  +
    "timestamp": "2015-08-30T12:36:00Z"
        5973  +
}
              \
 No newline at end of file
 4344   5974   
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
 4345   5975   
new file mode 100644
 4346   5976   
index 0000000..76db73d
 4347         -
-- /dev/null
        5977  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 4348   5978   
@@ -0,0 +1,9 @@
        5979  +
GET
        5980  +
/
        5981  +
        5982  +
host:example.amazonaws.com
        5983  +
x-amz-date:20150830T123600Z
        5984  +
x-amz-region-set:us-east-1
        5985  +
        5986  +
host;x-amz-date;x-amz-region-set
        5987  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4349   5988   
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
 4350   5989   
new file mode 100644
 4351   5990   
index 0000000..a96ff24
 4352         -
-- /dev/null
        5991  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 4353   5992   
@@ -0,0 +1 @@
        5993  +
3045022018b4e277d0281864beb51d3600e23f88510ea5031d68ddfbb68614b82a5eb7d2022100effb9c5f22ed9ef3ae0ab243d21f06bce82365bbb79529a07b6888c343ae5f8c
              \
 No newline at end of file
 4354   5994   
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
 4355   5995   
new file mode 100644
 4356   5996   
index 0000000..689078b
 4357         -
-- /dev/null
        5997  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 4358   5998   
@@ -0,0 +1,6 @@
        5999  +
GET / HTTP/1.1
        6000  +
Host:example.amazonaws.com
        6001  +
X-Amz-Date:20150830T123600Z
        6002  +
X-Amz-Region-Set:us-east-1
        6003  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100fddaaf816a31e30d04973875b13bc27b98da10907a3a1872fd5819a221334abc022100de2ee81d83b54f31efc82834de07e6cd4d5c6f25bfa08e0f29a15bb0977c343e
        6004  +
 4359   6005   
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
 4360   6006   
new file mode 100644
 4361   6007   
index 0000000..600f1d8
 4362         -
-- /dev/null
        6008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 4363   6009   
@@ -0,0 +1,4 @@
        6010  +
AWS4-ECDSA-P256-SHA256
        6011  +
20150830T123600Z
        6012  +
20150830/service/aws4_request
        6013  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4364   6014   
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
 4365   6015   
new file mode 100644
 4366   6016   
index 0000000..379dcb2
 4367         -
-- /dev/null
        6017  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 4368   6018   
@@ -0,0 +1,4 @@
        6019  +
{
        6020  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6021  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6022  +
}
 4369   6023   
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
 4370   6024   
new file mode 100644
 4371   6025   
index 0000000..779c51c
 4372         -
-- /dev/null
        6026  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 4373   6027   
@@ -0,0 +1,7 @@
        6028  +
GET
        6029  +
/
        6030  +
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
        6031  +
host:example.amazonaws.com
        6032  +
        6033  +
host
        6034  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4374   6035   
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
 4375   6036   
new file mode 100644
 4376   6037   
index 0000000..cc42158
 4377         -
-- /dev/null
        6038  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 4378   6039   
@@ -0,0 +1 @@
        6040  +
3045022100b3246f8e1442dd58e73292ae1294720c3256ee58f6cea50f3a3f83b4a4b0331a0220329693f7745c9008a5887c0529ceccb0fae4e16d707b712ea66acdbaf963769a
              \
 No newline at end of file
 4379   6041   
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
 4380   6042   
new file mode 100644
 4381   6043   
index 0000000..dc6d01d
 4382         -
-- /dev/null
        6044  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 4383   6045   
@@ -0,0 +1,3 @@
        6046  +
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
        6047  +
Host:example.amazonaws.com
        6048  +
 4384   6049   
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
 4385   6050   
new file mode 100644
 4386   6051   
index 0000000..6e29a7e
 4387         -
-- /dev/null
        6052  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 4388   6053   
@@ -0,0 +1,4 @@
        6054  +
AWS4-ECDSA-P256-SHA256
        6055  +
20150830T123600Z
        6056  +
20150830/service/aws4_request
        6057  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4389   6058   
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
 4390   6059   
new file mode 100644
 4391   6060   
index 0000000..e659c3b
 4392         -
-- /dev/null
        6061  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 4393   6062   
@@ -0,0 +1,2 @@
        6063  +
GET / HTTP/1.1
        6064  +
Host:example.amazonaws.com
 4394   6065   
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
 4395   6066   
new file mode 100644
 4396   6067   
index 0000000..600f1d8
 4397         -
-- /dev/null
        6068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 4398   6069   
@@ -0,0 +1,4 @@
        6070  +
AWS4-ECDSA-P256-SHA256
        6071  +
20150830T123600Z
        6072  +
20150830/service/aws4_request
        6073  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4399   6074   
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
 4400   6075   
new file mode 100644
 4401   6076   
index 0000000..0468d80
 4402         -
-- /dev/null
        6077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 4403   6078   
@@ -0,0 +1,12 @@
        6079  +
{
        6080  +
    "credentials": {
        6081  +
        "access_key_id": "AKIDEXAMPLE",
        6082  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6083  +
    },
        6084  +
    "expiration_in_seconds": 3600,
        6085  +
    "normalize": true,
        6086  +
    "region": "us-east-1",
        6087  +
    "service": "service",
        6088  +
    "sign_body": false,
        6089  +
    "timestamp": "2015-08-30T12:36:00Z"
        6090  +
}
              \
 No newline at end of file
 4404   6091   
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
 4405   6092   
similarity index 99%
 4406   6093   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
 4407   6094   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 4408   6095   
index a6942c1..e881ac7 100644
 4409   6096   
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
 4410   6097   
new file mode 100644
 4411   6098   
index 0000000..4210210
 4412         -
-- /dev/null
        6099  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 4413   6100   
@@ -0,0 +1 @@
        6101  +
3044022025397839d55c2147eead39170f5b1758c9f9fb4ccbcda4c8612a23df8e90c13d022079f5fc1377201691a11be43def8be12fe882e998589317508ff67b8dbe982722
              \
 No newline at end of file
 4414   6102   
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
 4415   6103   
new file mode 100644
 4416   6104   
index 0000000..257b110
 4417         -
-- /dev/null
        6105  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 4418   6106   
@@ -0,0 +1,6 @@
        6107  +
POST / HTTP/1.1
        6108  +
Host:example.amazonaws.com
        6109  +
X-Amz-Date:20150830T123600Z
        6110  +
X-Amz-Region-Set:us-east-1
        6111  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304602210081bb2a93eae5cce843abe0e7cac2f0e4cecdd0a79cb8d60e5b9dc4c8e8906b61022100e18c8119f50b8218da995ada62080d88ff75d2f02309c3685a02dfb9a83b103f
        6112  +
 4419   6113   
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
 4420   6114   
similarity index 99%
 4421   6115   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
 4422   6116   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 4423   6117   
index d5650cb..f8adf13 100644
 4424   6118   
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
 4425   6119   
new file mode 100644
 4426   6120   
index 0000000..379dcb2
 4427         -
-- /dev/null
        6121  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 4428   6122   
@@ -0,0 +1,4 @@
        6123  +
{
        6124  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6125  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6126  +
}
 4429   6127   
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
 4430   6128   
similarity index 99%
 4431   6129   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
 4432   6130   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 4433   6131   
index e48ce07..5ea8e3c 100644
 4434   6132   
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
 4435   6133   
new file mode 100644
 4436   6134   
index 0000000..9e2069e
 4437         -
-- /dev/null
        6135  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 4438   6136   
@@ -0,0 +1 @@
        6137  +
304402204afe4ce8de62e37853d0cb8a00f9601532fdeca89d6d8591c72d5bbf728bee2f02202feb0d8e680cab063e0c3c9090c0483f400511678ce83169ddce3e6d040f9ed8
              \
 No newline at end of file
 4439   6138   
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
 4440   6139   
new file mode 100644
 4441   6140   
index 0000000..67f5d29
 4442         -
-- /dev/null
        6141  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 4443   6142   
@@ -0,0 +1,3 @@
        6143  +
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
        6144  +
Host:example.amazonaws.com
        6145  +
 4444   6146   
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
 4445   6147   
similarity index 99%
 4446   6148   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
 4447   6149   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 4448   6150   
index 34e3382..711c162 100644
 4449   6151   
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
 4450   6152   
similarity index 61%
 4451   6153   
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
 4452   6154   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4453   6155   
index 3dc4179..3f0a82a 100644
 4454         -
-- 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
        6156  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4455   6157   
@@ -1,3 +1,2 @@
 4456   6158   
POST / HTTP/1.1
 4457   6159   
Host:example.amazonaws.com
 4458         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4459   6160   
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
 4460   6161   
new file mode 100644
 4461   6162   
index 0000000..0468d80
 4462         -
-- /dev/null
        6163  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 4463   6164   
@@ -0,0 +1,12 @@
        6165  +
{
        6166  +
    "credentials": {
        6167  +
        "access_key_id": "AKIDEXAMPLE",
        6168  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6169  +
    },
        6170  +
    "expiration_in_seconds": 3600,
        6171  +
    "normalize": true,
        6172  +
    "region": "us-east-1",
        6173  +
    "service": "service",
        6174  +
    "sign_body": false,
        6175  +
    "timestamp": "2015-08-30T12:36:00Z"
        6176  +
}
              \
 No newline at end of file
 4464   6177   
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
 4465   6178   
similarity index 99%
 4466   6179   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
 4467   6180   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 4468   6181   
index a8e1727..2883822 100644
 4469   6182   
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
 4470   6183   
new file mode 100644
 4471   6184   
index 0000000..e3c2e6e
 4472         -
-- /dev/null
        6185  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 4473   6186   
@@ -0,0 +1 @@
        6187  +
304502210097752f8c9953078cbb6b370471cb7029aea9517d59fb835d8befce66a91e6c4a022043a8c62681ff76e6cbaaeaed2fff2fcfee8efceebb7bd9e562ecd5a08b2c563f
              \
 No newline at end of file
 4474   6188   
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
 4475   6189   
new file mode 100644
 4476   6190   
index 0000000..1d6e288
 4477         -
-- /dev/null
        6191  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 4478   6192   
@@ -0,0 +1,7 @@
        6193  +
POST / HTTP/1.1
        6194  +
Host:example.amazonaws.com
        6195  +
My-Header1:value1
        6196  +
X-Amz-Date:20150830T123600Z
        6197  +
X-Amz-Region-Set:us-east-1
        6198  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3046022100a5dc03771b33997d8eeb15d639cb7bdef2aff78a4a59c7996070e5f94fe149780221009a732061539208209ba0ae6755bef956c258a0c0ac6a6916489486efde21cfeb
        6199  +
 4479   6200   
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
 4480   6201   
similarity index 99%
 4481   6202   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
 4482   6203   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 4483   6204   
index f6e3e9b..7c5236a 100644
 4484   6205   
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
 4485   6206   
new file mode 100644
 4486   6207   
index 0000000..379dcb2
 4487         -
-- /dev/null
        6208  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 4488   6209   
@@ -0,0 +1,4 @@
        6210  +
{
        6211  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6212  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6213  +
}
 4489   6214   
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
 4490   6215   
similarity index 99%
 4491   6216   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
 4492   6217   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 4493   6218   
index 0ae73e1..2cf3f29 100644
 4494   6219   
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
 4495   6220   
new file mode 100644
 4496   6221   
index 0000000..2a08401
 4497         -
-- /dev/null
        6222  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 4498   6223   
@@ -0,0 +1 @@
        6224  +
304502204f2a31513c9bea5c92dd8045e226dc1db150f768e60b538cacce157c623873dc022100ab5d654ce3c7b917656cec2cf58a3689159e89deed5241ca21e19a40173674c4
              \
 No newline at end of file
 4499   6225   
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
 4500   6226   
new file mode 100644
 4501   6227   
index 0000000..8d2343f
 4502         -
-- /dev/null
        6228  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 4503   6229   
@@ -0,0 +1,4 @@
        6230  +
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
        6231  +
Host:example.amazonaws.com
        6232  +
My-Header1:value1
        6233  +
 4504   6234   
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
 4505   6235   
similarity index 99%
 4506   6236   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
 4507   6237   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 4508   6238   
index 8cb96bf..2c4db7a 100644
 4509   6239   
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
 4510   6240   
similarity index 69%
 4511   6241   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
 4512   6242   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4513   6243   
index 0253f19..917720e 100644
 4514         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
        6244  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4515   6245   
@@ -1,4 +1,3 @@
 4516   6246   
POST / HTTP/1.1
 4517   6247   
Host:example.amazonaws.com
 4518   6248   
My-Header1:value1
 4519         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4520   6249   
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
 4521   6250   
new file mode 100644
 4522   6251   
index 0000000..0468d80
 4523         -
-- /dev/null
        6252  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 4524   6253   
@@ -0,0 +1,12 @@
        6254  +
{
        6255  +
    "credentials": {
        6256  +
        "access_key_id": "AKIDEXAMPLE",
        6257  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6258  +
    },
        6259  +
    "expiration_in_seconds": 3600,
        6260  +
    "normalize": true,
        6261  +
    "region": "us-east-1",
        6262  +
    "service": "service",
        6263  +
    "sign_body": false,
        6264  +
    "timestamp": "2015-08-30T12:36:00Z"
        6265  +
}
              \
 No newline at end of file
 4525   6266   
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
 4526   6267   
similarity index 99%
 4527   6268   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
 4528   6269   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 4529   6270   
index 1dc3ef8..164e65c 100644
 4530   6271   
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
 4531   6272   
new file mode 100644
 4532   6273   
index 0000000..7072b0e
 4533         -
-- /dev/null
        6274  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 4534   6275   
@@ -0,0 +1 @@
        6276  +
304402207b3baf259f5d29f13511eb4c9b236045c43168ca70369ed639611f4bff9eb6490220465e922e8b19146de9c70147440f4ee80a3318f0c756c8050dbfd641e6ff0456
              \
 No newline at end of file
 4535   6277   
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
 4536   6278   
new file mode 100644
 4537   6279   
index 0000000..17f5e3e
 4538         -
-- /dev/null
        6280  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 4539   6281   
@@ -0,0 +1,7 @@
        6282  +
POST / HTTP/1.1
        6283  +
Host:example.amazonaws.com
        6284  +
My-Header1:VALUE1
        6285  +
X-Amz-Date:20150830T123600Z
        6286  +
X-Amz-Region-Set:us-east-1
        6287  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022100c72dd4d54c45d3eb30858c6227e9512f41b7379b7c685e39e0cd39a793d7ee3102205c900d330270e31d2f7b5138fb3d791b6743f6f3b9ffbc34a4adcc8307591b11
        6288  +
 4540   6289   
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
 4541   6290   
similarity index 99%
 4542   6291   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
 4543   6292   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 4544   6293   
index 59c7e45..620f54e 100644
 4545   6294   
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
 4546   6295   
new file mode 100644
 4547   6296   
index 0000000..379dcb2
 4548         -
-- /dev/null
        6297  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 4549   6298   
@@ -0,0 +1,4 @@
        6299  +
{
        6300  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6301  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6302  +
}
 4550   6303   
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
 4551   6304   
similarity index 99%
 4552   6305   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
 4553   6306   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 4554   6307   
index 377e6f3..23e0da3 100644
 4555   6308   
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
 4556   6309   
new file mode 100644
 4557   6310   
index 0000000..a18acb8
 4558         -
-- /dev/null
        6311  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 4559   6312   
@@ -0,0 +1 @@
        6313  +
30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
              \
 No newline at end of file
 4560   6314   
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
 4561   6315   
new file mode 100644
 4562   6316   
index 0000000..7cbdcfa
 4563         -
-- /dev/null
        6317  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 4564   6318   
@@ -0,0 +1,4 @@
        6319  +
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
        6320  +
Host:example.amazonaws.com
        6321  +
My-Header1:VALUE1
        6322  +
 4565   6323   
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
 4566   6324   
similarity index 99%
 4567   6325   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
 4568   6326   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 4569   6327   
index 84a7afd..0c90627 100644
 4570   6328   
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
 4571   6329   
similarity index 69%
 4572   6330   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
 4573   6331   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4574   6332   
index 3f9987a..5f14c91 100644
 4575         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
        6333  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4576   6334   
@@ -1,4 +1,3 @@
 4577   6335   
POST / HTTP/1.1
 4578   6336   
Host:example.amazonaws.com
 4579   6337   
My-Header1:VALUE1
 4580         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4581   6338   
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
 4582   6339   
new file mode 100644
 4583   6340   
index 0000000..8f1d5ce
 4584         -
-- /dev/null
        6341  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 4585   6342   
@@ -0,0 +1,14 @@
        6343  +
{
        6344  +
    "credentials": {
        6345  +
        "access_key_id": "AKIDEXAMPLE",
        6346  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6347  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6348  +
    },
        6349  +
    "expiration_in_seconds": 3600,
        6350  +
    "normalize": true,
        6351  +
    "region": "us-east-1",
        6352  +
    "service": "service",
        6353  +
    "sign_body": false,
        6354  +
    "timestamp": "2015-08-30T12:36:00Z",
        6355  +
    "omit_session_token": true
        6356  +
}
 4586   6357   
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
 4587   6358   
similarity index 99%
 4588   6359   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
 4589   6360   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 4590   6361   
index a6942c1..e881ac7 100644
 4591   6362   
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
 4592   6363   
new file mode 100644
 4593   6364   
index 0000000..9c5ecb9
 4594         -
-- /dev/null
        6365  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 4595   6366   
@@ -0,0 +1 @@
        6367  +
3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
              \
 No newline at end of file
 4596   6368   
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
 4597   6369   
similarity index 52%
 4598   6370   
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
 4599   6371   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4600   6372   
index 9d91775..61b6527 100644
 4601         -
-- 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
        6373  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4602   6374   
@@ -1,4 +1,7 @@
 4603   6375   
POST / HTTP/1.1
 4604   6376   
Host:example.amazonaws.com
 4605         -
X-Amz-Date:20150830T123600Z
 4606   6377   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6378  +
X-Amz-Date:20150830T123600Z
        6379  +
X-Amz-Region-Set:us-east-1
        6380  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
        6381  +
 4607   6382   
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
 4608   6383   
similarity index 99%
 4609   6384   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
 4610   6385   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 4611   6386   
index d5650cb..f8adf13 100644
 4612   6387   
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
 4613   6388   
new file mode 100644
 4614   6389   
index 0000000..379dcb2
 4615         -
-- /dev/null
        6390  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 4616   6391   
@@ -0,0 +1,4 @@
        6392  +
{
        6393  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6394  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6395  +
}
 4617   6396   
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
 4618   6397   
similarity index 99%
 4619   6398   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
 4620   6399   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 4621   6400   
index e48ce07..5ea8e3c 100644
 4622   6401   
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
 4623   6402   
new file mode 100644
 4624   6403   
index 0000000..ff8823a
 4625         -
-- /dev/null
        6404  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 4626   6405   
@@ -0,0 +1 @@
        6406  +
3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
              \
 No newline at end of file
 4627   6407   
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
 4628   6408   
new file mode 100644
 4629   6409   
index 0000000..cfac41b
 4630         -
-- /dev/null
        6410  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 4631   6411   
@@ -0,0 +1,3 @@
        6412  +
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
        6413  +
Host:example.amazonaws.com
        6414  +
 4632   6415   
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
 4633   6416   
similarity index 99%
 4634   6417   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
 4635   6418   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 4636   6419   
index 34e3382..711c162 100644
 4637   6420   
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
 4638   6421   
similarity index 61%
 4639   6422   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
 4640   6423   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4641   6424   
index 3dc4179..3f0a82a 100644
 4642         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
        6425  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4643   6426   
@@ -1,3 +1,2 @@
 4644   6427   
POST / HTTP/1.1
 4645   6428   
Host:example.amazonaws.com
 4646         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4647   6429   
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
 4648   6430   
new file mode 100644
 4649   6431   
index 0000000..5187392
 4650         -
-- /dev/null
        6432  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 4651   6433   
@@ -0,0 +1,14 @@
        6434  +
{
        6435  +
    "credentials": {
        6436  +
        "access_key_id": "AKIDEXAMPLE",
        6437  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6438  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6439  +
    },
        6440  +
    "expiration_in_seconds": 3600,
        6441  +
    "normalize": true,
        6442  +
    "region": "us-east-1",
        6443  +
    "service": "service",
        6444  +
    "sign_body": false,
        6445  +
    "timestamp": "2015-08-30T12:36:00Z",
        6446  +
    "omit_session_token": false
        6447  +
}
 4652   6448   
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
 4653   6449   
similarity index 99%
 4654   6450   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
 4655   6451   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 4656   6452   
index dd408c8..e95924e 100644
 4657   6453   
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
 4658   6454   
new file mode 100644
 4659   6455   
index 0000000..1573f07
 4660         -
-- /dev/null
        6456  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 4661   6457   
@@ -0,0 +1 @@
        6458  +
30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
              \
 No newline at end of file
 4662   6459   
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
 4663   6460   
new file mode 100644
 4664   6461   
index 0000000..6ef9a08
 4665         -
-- /dev/null
        6462  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 4666   6463   
@@ -0,0 +1,7 @@
        6464  +
POST / HTTP/1.1
        6465  +
Host:example.amazonaws.com
        6466  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6467  +
X-Amz-Date:20150830T123600Z
        6468  +
X-Amz-Region-Set:us-east-1
        6469  +
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
        6470  +
 4667   6471   
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
 4668   6472   
similarity index 99%
 4669   6473   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
 4670   6474   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 4671   6475   
index f352b54..3c3235f 100644
 4672   6476   
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
 4673   6477   
new file mode 100644
 4674   6478   
index 0000000..379dcb2
 4675         -
-- /dev/null
        6479  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 4676   6480   
@@ -0,0 +1,4 @@
        6481  +
{
        6482  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6483  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6484  +
}
 4677   6485   
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
 4678   6486   
similarity index 99%
 4679   6487   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
 4680   6488   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 4681   6489   
index 832cdc0..63b7de5 100644
 4682   6490   
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
 4683   6491   
new file mode 100644
 4684   6492   
index 0000000..713f57c
 4685         -
-- /dev/null
        6493  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 4686   6494   
@@ -0,0 +1 @@
        6495  +
304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
              \
 No newline at end of file
 4687   6496   
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
 4688   6497   
new file mode 100644
 4689   6498   
index 0000000..32c3bb3
 4690         -
-- /dev/null
        6499  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 4691   6500   
@@ -0,0 +1,3 @@
        6501  +
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
        6502  +
Host:example.amazonaws.com
        6503  +
 4692   6504   
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
 4693   6505   
similarity index 99%
 4694   6506   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
 4695   6507   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 4696   6508   
index d7f3668..b46cd8c 100644
 4697   6509   
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
 4698   6510   
similarity index 60%
 4699   6511   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
 4700   6512   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4701   6513   
index 8b5efc8..3f0a82a 100644
 4702         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
        6514  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4703   6515   
@@ -1,3 +1,2 @@
 4704   6516   
POST / HTTP/1.1
 4705   6517   
Host:example.amazonaws.com
 4706         -
X-Amz-Date:20150830T123600Z
 4707   6518   
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
 4708   6519   
new file mode 100644
 4709   6520   
index 0000000..0468d80
 4710         -
-- /dev/null
        6521  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 4711   6522   
@@ -0,0 +1,12 @@
        6523  +
{
        6524  +
    "credentials": {
        6525  +
        "access_key_id": "AKIDEXAMPLE",
        6526  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6527  +
    },
        6528  +
    "expiration_in_seconds": 3600,
        6529  +
    "normalize": true,
        6530  +
    "region": "us-east-1",
        6531  +
    "service": "service",
        6532  +
    "sign_body": false,
        6533  +
    "timestamp": "2015-08-30T12:36:00Z"
        6534  +
}
              \
 No newline at end of file
 4712   6535   
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
 4713   6536   
similarity index 99%
 4714   6537   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
 4715   6538   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 4716   6539   
index 02af60f..34b8c11 100644
 4717   6540   
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
 4718   6541   
new file mode 100644
 4719   6542   
index 0000000..aac6427
 4720         -
-- /dev/null
        6543  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 4721   6544   
@@ -0,0 +1 @@
        6545  +
3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
              \
 No newline at end of file
 4722   6546   
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
 4723   6547   
new file mode 100644
 4724   6548   
index 0000000..a611436
 4725         -
-- /dev/null
        6549  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 4726   6550   
@@ -0,0 +1,6 @@
        6551  +
POST /?Param1=value1 HTTP/1.1
        6552  +
Host:example.amazonaws.com
        6553  +
X-Amz-Date:20150830T123600Z
        6554  +
X-Amz-Region-Set:us-east-1
        6555  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
        6556  +
 4727   6557   
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
 4728   6558   
similarity index 99%
 4729   6559   
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
 4730   6560   
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
 4731   6561   
index 4256b4f..ad88dff 100644
 4732   6562   
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
 4733   6563   
new file mode 100644
 4734   6564   
index 0000000..379dcb2
 4735         -
-- /dev/null
        6565  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 4736   6566   
@@ -0,0 +1,4 @@
        6567  +
{
        6568  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6569  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6570  +
}
 4737   6571   
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
 4738   6572   
similarity index 99%
 4739   6573   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
 4740   6574   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 4741   6575   
index fa84bbd..76d5ad6 100644
 4742   6576   
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
 4743   6577   
new file mode 100644
 4744   6578   
index 0000000..4cb1c94
 4745         -
-- /dev/null
        6579  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 4746   6580   
@@ -0,0 +1 @@
        6581  +
3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
              \
 No newline at end of file
 4747   6582   
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
 4748   6583   
new file mode 100644
 4749   6584   
index 0000000..bd22b97
 4750         -
-- /dev/null
        6585  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 4751   6586   
@@ -0,0 +1,3 @@
        6587  +
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
        6588  +
Host:example.amazonaws.com
        6589  +
 4752   6590   
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
 4753   6591   
similarity index 99%
 4754   6592   
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
 4755   6593   
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
 4756   6594   
index de270ef..8c9d319 100644
 4757   6595   
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
 4758   6596   
similarity index 67%
 4759   6597   
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
 4760   6598   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4761   6599   
index 9157bc7..c9d6e5d 100644
 4762         -
-- 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
        6600  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4763   6601   
@@ -1,3 +1,2 @@
 4764   6602   
POST /?Param1=value1 HTTP/1.1
 4765   6603   
Host:example.amazonaws.com
 4766         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4767   6604   
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
 4768   6605   
new file mode 100644
 4769   6606   
index 0000000..0468d80
 4770         -
-- /dev/null
        6607  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 4771   6608   
@@ -0,0 +1,12 @@
        6609  +
{
        6610  +
    "credentials": {
        6611  +
        "access_key_id": "AKIDEXAMPLE",
        6612  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6613  +
    },
        6614  +
    "expiration_in_seconds": 3600,
        6615  +
    "normalize": true,
        6616  +
    "region": "us-east-1",
        6617  +
    "service": "service",
        6618  +
    "sign_body": false,
        6619  +
    "timestamp": "2015-08-30T12:36:00Z"
        6620  +
}
              \
 No newline at end of file
 4772   6621   
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
 4773   6622   
similarity index 99%
 4774   6623   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
 4775   6624   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 4776   6625   
index 02af60f..34b8c11 100644
 4777   6626   
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
 4778   6627   
new file mode 100644
 4779   6628   
index 0000000..34f75c8
 4780         -
-- /dev/null
        6629  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 4781   6630   
@@ -0,0 +1 @@
        6631  +
3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
              \
 No newline at end of file
 4782   6632   
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
 4783   6633   
new file mode 100644
 4784   6634   
index 0000000..c731408
 4785         -
-- /dev/null
        6635  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 4786   6636   
@@ -0,0 +1,6 @@
        6637  +
POST /?Param1=value1 HTTP/1.1
        6638  +
Host:example.amazonaws.com
        6639  +
X-Amz-Date:20150830T123600Z
        6640  +
X-Amz-Region-Set:us-east-1
        6641  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
        6642  +
 4787   6643   
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
 4788   6644   
similarity index 99%
 4789   6645   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
 4790   6646   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 4791   6647   
index 4256b4f..ad88dff 100644
 4792   6648   
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
 4793   6649   
new file mode 100644
 4794   6650   
index 0000000..379dcb2
 4795         -
-- /dev/null
        6651  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 4796   6652   
@@ -0,0 +1,4 @@
        6653  +
{
        6654  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6655  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6656  +
}
 4797   6657   
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
 4798   6658   
similarity index 99%
 4799   6659   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
 4800   6660   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 4801   6661   
index fa84bbd..76d5ad6 100644
 4802   6662   
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
 4803   6663   
new file mode 100644
 4804   6664   
index 0000000..ae000d6
 4805         -
-- /dev/null
        6665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 4806   6666   
@@ -0,0 +1 @@
        6667  +
304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
              \
 No newline at end of file
 4807   6668   
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
 4808   6669   
new file mode 100644
 4809   6670   
index 0000000..a868f7d
 4810         -
-- /dev/null
        6671  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 4811   6672   
@@ -0,0 +1,3 @@
        6673  +
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
        6674  +
Host:example.amazonaws.com
        6675  +
 4812   6676   
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
 4813   6677   
similarity index 99%
 4814   6678   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
 4815   6679   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 4816   6680   
index de270ef..8c9d319 100644
 4817   6681   
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
 4818   6682   
similarity index 67%
 4819   6683   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
 4820   6684   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 4821   6685   
index 9157bc7..c9d6e5d 100644
 4822         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
        6686  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 4823   6687   
@@ -1,3 +1,2 @@
 4824   6688   
POST /?Param1=value1 HTTP/1.1
 4825   6689   
Host:example.amazonaws.com
 4826         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4827   6690   
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
 4828   6691   
new file mode 100644
 4829   6692   
index 0000000..0468d80
 4830         -
-- /dev/null
        6693  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 4831   6694   
@@ -0,0 +1,12 @@
        6695  +
{
        6696  +
    "credentials": {
        6697  +
        "access_key_id": "AKIDEXAMPLE",
        6698  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6699  +
    },
        6700  +
    "expiration_in_seconds": 3600,
        6701  +
    "normalize": true,
        6702  +
    "region": "us-east-1",
        6703  +
    "service": "service",
        6704  +
    "sign_body": false,
        6705  +
    "timestamp": "2015-08-30T12:36:00Z"
        6706  +
}
              \
 No newline at end of file
 4832   6707   
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
 4833   6708   
similarity index 99%
 4834   6709   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
 4835   6710   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 4836   6711   
index a6942c1..e881ac7 100644
 4837   6712   
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
 4838   6713   
new file mode 100644
 4839   6714   
index 0000000..7c5e47b
 4840         -
-- /dev/null
        6715  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 4841   6716   
@@ -0,0 +1 @@
        6717  +
3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
              \
 No newline at end of file
 4842   6718   
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
 4843   6719   
new file mode 100644
 4844   6720   
index 0000000..c0e50a0
 4845         -
-- /dev/null
        6721  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 4846   6722   
@@ -0,0 +1,6 @@
        6723  +
POST / HTTP/1.1
        6724  +
Host:example.amazonaws.com
        6725  +
X-Amz-Date:20150830T123600Z
        6726  +
X-Amz-Region-Set:us-east-1
        6727  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
        6728  +
 4847   6729   
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
 4848   6730   
similarity index 99%
 4849   6731   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
 4850   6732   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 4851   6733   
index d5650cb..f8adf13 100644
 4852   6734   
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
 4853   6735   
new file mode 100644
 4854   6736   
index 0000000..379dcb2
 4855         -
-- /dev/null
        6737  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 4856   6738   
@@ -0,0 +1,4 @@
        6739  +
{
        6740  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6741  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6742  +
}
 4857   6743   
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
 4858   6744   
similarity index 99%
 4859   6745   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
 4860   6746   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 4861   6747   
index e48ce07..5ea8e3c 100644
 4862   6748   
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
 4863   6749   
new file mode 100644
 4864   6750   
index 0000000..ea8e3b4
 4865         -
-- /dev/null
        6751  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 4866   6752   
@@ -0,0 +1 @@
        6753  +
30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
              \
 No newline at end of file
 4867   6754   
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
 4868   6755   
new file mode 100644
 4869   6756   
index 0000000..616973f
 4870         -
-- /dev/null
        6757  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 4871   6758   
@@ -0,0 +1,3 @@
        6759  +
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
        6760  +
Host:example.amazonaws.com
        6761  +
 4872   6762   
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
 4873   6763   
similarity index 99%
 4874   6764   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
 4875   6765   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 4876   6766   
index 34e3382..711c162 100644
 4877   6767   
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
 4878   6768   
new file mode 100644
 4879   6769   
index 0000000..3f0a82a
 4880         -
-- /dev/null
        6770  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 4881   6771   
@@ -0,0 +1,2 @@
        6772  +
POST / HTTP/1.1
        6773  +
Host:example.amazonaws.com
 4882   6774   
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
 4883   6775   
new file mode 100644
 4884   6776   
index 0000000..0db1df1
 4885         -
-- /dev/null
        6777  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 4886   6778   
@@ -0,0 +1,12 @@
        6779  +
{
        6780  +
    "credentials": {
        6781  +
        "access_key_id": "AKIDEXAMPLE",
        6782  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6783  +
    },
        6784  +
    "expiration_in_seconds": 3600,
        6785  +
    "normalize": true,
        6786  +
    "region": "us-east-1",
        6787  +
    "service": "service",
        6788  +
    "sign_body": true,
        6789  +
    "timestamp": "2015-08-30T12:36:00Z"
        6790  +
}
              \
 No newline at end of file
 4887   6791   
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
 4888   6792   
similarity index 62%
 4889   6793   
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
 4890   6794   
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
 4891   6795   
index 05ab787..62639b2 100644
 4892         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
        6796  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 4893   6797   
@@ -1,12 +1,12 @@
 4894   6798   
POST
 4895   6799   
/
 4896   6800   
 4897   6801   
content-length:13
 4898   6802   
content-type:application/x-www-form-urlencoded; charset=utf-8
 4899   6803   
host:example.amazonaws.com
 4900         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6804  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 4901   6805   
x-amz-date:20150830T123600Z
 4902   6806   
x-amz-region-set:us-east-1
 4903   6807   
 4904   6808   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 4905         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6809  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 4906   6810   
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
 4907   6811   
new file mode 100644
 4908   6812   
index 0000000..006ec2e
 4909         -
-- /dev/null
        6813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 4910   6814   
@@ -0,0 +1 @@
        6815  +
3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
              \
 No newline at end of file
 4911   6816   
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
 4912   6817   
new file mode 100644
 4913   6818   
index 0000000..87a11f2
 4914         -
-- /dev/null
        6819  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 4915   6820   
@@ -0,0 +1,10 @@
        6821  +
POST / HTTP/1.1
        6822  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6823  +
Host:example.amazonaws.com
        6824  +
Content-Length:13
        6825  +
X-Amz-Date:20150830T123600Z
        6826  +
X-Amz-Region-Set:us-east-1
        6827  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        6828  +
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
        6829  +
        6830  +
Param1=value1
              \
 No newline at end of file
 4916   6831   
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
 4917   6832   
new file mode 100644
 4918   6833   
index 0000000..c047afb
 4919         -
-- /dev/null
        6834  +
++ 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
 4920   6835   
@@ -0,0 +1,4 @@
        6836  +
AWS4-ECDSA-P256-SHA256
        6837  +
20150830T123600Z
        6838  +
20150830/service/aws4_request
        6839  +
bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
              \
 No newline at end of file
 4921   6840   
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
 4922   6841   
new file mode 100644
 4923   6842   
index 0000000..379dcb2
 4924         -
-- /dev/null
        6843  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 4925   6844   
@@ -0,0 +1,4 @@
        6845  +
{
        6846  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6847  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6848  +
}
 4926   6849   
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
 4927   6850   
similarity index 85%
 4928   6851   
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
 4929   6852   
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
 4930   6853   
index fcc454f..6933a8c 100644
 4931         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
        6854  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 4932   6855   
@@ -1,9 +1,9 @@
 4933   6856   
POST
 4934   6857   
/
 4935   6858   
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
 4936   6859   
content-length:13
 4937   6860   
content-type:application/x-www-form-urlencoded; charset=utf-8
 4938   6861   
host:example.amazonaws.com
 4939   6862   
 4940   6863   
content-length;content-type;host
 4941         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6864  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 4942   6865   
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
 4943   6866   
new file mode 100644
 4944   6867   
index 0000000..34a2e12
 4945         -
-- /dev/null
        6868  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 4946   6869   
@@ -0,0 +1 @@
        6870  +
3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
              \
 No newline at end of file
 4947   6871   
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
 4948   6872   
new file mode 100644
 4949   6873   
index 0000000..197b99e
 4950         -
-- /dev/null
        6874  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 4951   6875   
@@ -0,0 +1,6 @@
        6876  +
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
        6877  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6878  +
Host:example.amazonaws.com
        6879  +
Content-Length:13
        6880  +
        6881  +
Param1=value1
              \
 No newline at end of file
 4952   6882   
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
 4953   6883   
new file mode 100644
 4954   6884   
index 0000000..9d2bc74
 4955         -
-- /dev/null
        6885  +
++ 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
 4956   6886   
@@ -0,0 +1,4 @@
        6887  +
AWS4-ECDSA-P256-SHA256
        6888  +
20150830T123600Z
        6889  +
20150830/service/aws4_request
        6890  +
d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
              \
 No newline at end of file
 4957   6891   
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
 4958   6892   
similarity index 80%
 4959   6893   
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
 4960   6894   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 4961   6895   
index 36015f1..8289eaa 100644
 4962         -
-- 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
        6896  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 4963   6897   
@@ -1,6 +1,6 @@
 4964   6898   
POST / HTTP/1.1
 4965   6899   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 4966   6900   
Host:example.amazonaws.com
 4967         -
X-Amz-Date:20150830T123600Z
        6901  +
Content-Length:13
 4968   6902   
 4969   6903   
Param1=value1
              \
 No newline at end of file
 4970   6904   
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
 4971   6905   
new file mode 100644
 4972   6906   
index 0000000..0db1df1
 4973         -
-- /dev/null
        6907  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 4974   6908   
@@ -0,0 +1,12 @@
        6909  +
{
        6910  +
    "credentials": {
        6911  +
        "access_key_id": "AKIDEXAMPLE",
        6912  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6913  +
    },
        6914  +
    "expiration_in_seconds": 3600,
        6915  +
    "normalize": true,
        6916  +
    "region": "us-east-1",
        6917  +
    "service": "service",
        6918  +
    "sign_body": true,
        6919  +
    "timestamp": "2015-08-30T12:36:00Z"
        6920  +
}
              \
 No newline at end of file
 4975   6921   
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
 4976   6922   
similarity index 61%
 4977   6923   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
 4978   6924   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 4979   6925   
index 69009dc..797632b 100644
 4980         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
        6926  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 4981   6927   
@@ -1,12 +1,12 @@
 4982   6928   
POST
 4983   6929   
/
 4984   6930   
 4985   6931   
content-length:13
 4986   6932   
content-type:application/x-www-form-urlencoded
 4987   6933   
host:example.amazonaws.com
 4988         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6934  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 4989   6935   
x-amz-date:20150830T123600Z
 4990   6936   
x-amz-region-set:us-east-1
 4991   6937   
 4992   6938   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 4993         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6939  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 4994   6940   
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
 4995   6941   
new file mode 100644
 4996   6942   
index 0000000..f5a641c
 4997         -
-- /dev/null
        6943  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 4998   6944   
@@ -0,0 +1 @@
        6945  +
304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
              \
 No newline at end of file
 4999   6946   
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
 5000   6947   
new file mode 100644
 5001   6948   
index 0000000..7bd94a7
 5002         -
-- /dev/null
        6949  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 5003   6950   
@@ -0,0 +1,10 @@
        6951  +
POST / HTTP/1.1
        6952  +
Content-Type:application/x-www-form-urlencoded
        6953  +
Host:example.amazonaws.com
        6954  +
Content-Length:13
        6955  +
X-Amz-Date:20150830T123600Z
        6956  +
X-Amz-Region-Set:us-east-1
        6957  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        6958  +
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
        6959  +
        6960  +
Param1=value1
              \
 No newline at end of file
 5004   6961   
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
 5005   6962   
new file mode 100644
 5006   6963   
index 0000000..8d25ba9
 5007         -
-- /dev/null
        6964  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 5008   6965   
@@ -0,0 +1,4 @@
        6966  +
AWS4-ECDSA-P256-SHA256
        6967  +
20150830T123600Z
        6968  +
20150830/service/aws4_request
        6969  +
ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
              \
 No newline at end of file
 5009   6970   
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
 5010   6971   
new file mode 100644
 5011   6972   
index 0000000..379dcb2
 5012         -
-- /dev/null
        6973  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 5013   6974   
@@ -0,0 +1,4 @@
        6975  +
{
        6976  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6977  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6978  +
}
 5014   6979   
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
 5015   6980   
similarity index 99%
 5016   6981   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
 5017   6982   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 5018   6983   
index 9ed065b..563ff58 100644
 5019   6984   
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
 5020   6985   
new file mode 100644
 5021   6986   
index 0000000..0c77daf
 5022         -
-- /dev/null
        6987  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 5023   6988   
@@ -0,0 +1 @@
        6989  +
304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
              \
 No newline at end of file
 5024   6990   
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
 5025   6991   
new file mode 100644
 5026   6992   
index 0000000..71d6de9
 5027         -
-- /dev/null
        6993  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 5028   6994   
@@ -0,0 +1,6 @@
        6995  +
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
        6996  +
Content-Type:application/x-www-form-urlencoded
        6997  +
Host:example.amazonaws.com
        6998  +
Content-Length:13
        6999  +
        7000  +
Param1=value1
              \
 No newline at end of file
 5029   7001   
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
 5030   7002   
similarity index 99%
 5031   7003   
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
 5032   7004   
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
 5033   7005   
index bef3143..cc7a224 100644
 5034   7006   
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
 5035   7007   
new file mode 100644
 5036   7008   
index 0000000..760b2d3
 5037         -
-- /dev/null
        7009  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 5038   7010   
@@ -0,0 +1,6 @@
        7011  +
POST / HTTP/1.1
        7012  +
Content-Type:application/x-www-form-urlencoded
        7013  +
Host:example.amazonaws.com
        7014  +
Content-Length:13
        7015  +
        7016  +
Param1=value1
              \
 No newline at end of file
 5039   7017   
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
 5040   7018   
index 9bd636f..b53f33f 100644
 5041         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
        7019  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 5042   7020   
@@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
 5043   7021   
            params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
 5044   7022   
        }
 5045   7023   
 5046   7024   
        if let SignatureValues::QueryParams(values) = values {
 5047   7025   
            add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
 5048   7026   
            add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
 5049   7027   
 5050   7028   
            #[cfg(feature = "sigv4a")]
 5051   7029   
            if let Some(regions) = values.region_set {
 5052   7030   
                add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
 5053   7031   
            }
 5054   7032   
 5055   7033   
            add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
 5056   7034   
            add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
 5057   7035   
            add_param(
 5058   7036   
                &mut params,
 5059   7037   
                param::X_AMZ_SIGNED_HEADERS,
 5060   7038   
                values.signed_headers.as_str(),
 5061   7039   
            );
 5062   7040   
 5063   7041   
            if let Some(security_token) = values.security_token {
 5064   7042   
                add_param(
 5065   7043   
                    &mut params,
 5066   7044   
                    settings
 5067   7045   
                        .session_token_name_override
 5068   7046   
                        .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
 5069   7047   
                    security_token,
 5070   7048   
                );
 5071   7049   
            }
 5072   7050   
        }
 5073         -
        // Sort by param name, and then by param value
        7051  +
        7052  +
        // Sort on the _encoded_ key/value pairs
        7053  +
        let mut params: Vec<(String, String)> = params
        7054  +
            .into_iter()
        7055  +
            .map(|x| {
        7056  +
                use aws_smithy_http::query::fmt_string;
        7057  +
                let enc_k = fmt_string(&x.0);
        7058  +
                let enc_v = fmt_string(&x.1);
        7059  +
                (enc_k, enc_v)
        7060  +
            })
        7061  +
            .collect();
        7062  +
 5074   7063   
        params.sort();
 5075   7064   
 5076   7065   
        let mut query = QueryWriter::new(uri);
 5077   7066   
        query.clear_params();
 5078   7067   
        for (key, value) in params {
 5079         -
            query.insert(&key, &value);
        7068  +
            query.insert_encoded(&key, &value);
 5080   7069   
        }
 5081   7070   
 5082   7071   
        let query = query.build_query();
 5083   7072   
        if query.is_empty() {
 5084   7073   
            None
 5085   7074   
        } else {
 5086   7075   
            Some(query)
 5087   7076   
        }
 5088   7077   
    }
 5089   7078   
 5090   7079   
    fn insert_host_header(
 5091   7080   
        canonical_headers: &mut HeaderMap<HeaderValue>,
 5092   7081   
        uri: &Uri,
 5093   7082   
    ) -> HeaderValue {
 5094   7083   
        match canonical_headers.get(&HOST) {
 5095   7084   
            Some(header) => header.clone(),
 5096   7085   
            None => {
 5097   7086   
                let port = uri.port();
 5098   7087   
                let scheme = uri.scheme();
 5099   7088   
                let authority = uri
 5100   7089   
                    .authority()
 5101   7090   
                    .expect("request uri authority must be set for signing")
 5102   7091   
                    .as_str();
 5103   7092   
                let host = uri
 5104   7093   
                    .host()
 5105   7094   
                    .expect("request uri host must be set for signing");
 5106   7095   
 5107   7096   
                // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
 5108   7097   
                // Host header when signing since RFC 2616 indicates that the default port should not be
 5109   7098   
                // sent in the Host header (and Hyper strips default ports if they are present)
 5110   7099   
@@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
 5111   7100   
            service,
 5112   7101   
            hashed_creq,
 5113   7102   
            signature_version: SignatureVersion::V4a,
 5114   7103   
        }
 5115   7104   
    }
 5116   7105   
}
 5117   7106   
 5118   7107   
impl fmt::Display for StringToSign<'_> {
 5119   7108   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 5120   7109   
        write!(
 5121   7110   
            f,
 5122   7111   
            "{}\n{}\n{}\n{}",
 5123   7112   
            self.algorithm,
 5124   7113   
            format_date_time(self.time),
 5125   7114   
            match self.signature_version {
 5126   7115   
                SignatureVersion::V4 => self.scope.to_string(),
 5127   7116   
                SignatureVersion::V4a => self.scope.v4a_display(),
 5128   7117   
            },
 5129   7118   
            self.hashed_creq
 5130   7119   
        )
 5131   7120   
    }
 5132   7121   
}
 5133   7122   
 5134   7123   
#[cfg(test)]
 5135   7124   
mod tests {
 5136   7125   
    use crate::date_time::test_parsers::parse_date_time;
 5137   7126   
    use crate::http_request::canonical_request::{
 5138   7127   
        normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
 5139   7128   
    };
 5140   7129   
    use crate::http_request::test;
        7130  +
    use crate::http_request::test::SigningSuiteTest;
 5141   7131   
    use crate::http_request::{
 5142   7132   
        PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
 5143   7133   
        SigningParams, SigningSettings,
 5144   7134   
    };
 5145   7135   
    use crate::sign::v4;
 5146   7136   
    use crate::sign::v4::sha256_hex_string;
 5147   7137   
    use aws_credential_types::Credentials;
 5148   7138   
    use aws_smithy_http::query_writer::QueryWriter;
 5149   7139   
    use aws_smithy_runtime_api::client::identity::Identity;
 5150   7140   
    use http0::{HeaderValue, Uri};
 5151   7141   
    use pretty_assertions::assert_eq;
 5152   7142   
    use proptest::{prelude::*, proptest};
 5153   7143   
    use std::borrow::Cow;
 5154   7144   
    use std::time::Duration;
 5155   7145   
 5156   7146   
    fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
 5157   7147   
        v4::signing_params::Builder::default()
 5158   7148   
            .identity(identity)
 5159   7149   
            .region("test-region")
 5160   7150   
            .name("testservicename")
 5161   7151   
            .time(parse_date_time("20210511T154045Z").unwrap())
 5162   7152   
            .settings(settings)
 5163   7153   
            .build()
 5164   7154   
            .unwrap()
 5165   7155   
            .into()
 5166   7156   
    }
 5167   7157   
 5168   7158   
    #[test]
 5169   7159   
    fn test_repeated_header() {
 5170         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7160  +
        let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7161  +
        let mut req = test.request();
 5171   7162   
        req.headers.push((
 5172   7163   
            "x-amz-object-attributes".to_string(),
 5173   7164   
            "Checksum".to_string(),
 5174   7165   
        ));
 5175   7166   
        req.headers.push((
 5176   7167   
            "x-amz-object-attributes".to_string(),
 5177   7168   
            "ObjectSize".to_string(),
 5178   7169   
        ));
 5179   7170   
        let req = SignableRequest::from(&req);
 5180   7171   
        let settings = SigningSettings {
 5181   7172   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5182   7173   
            session_token_mode: SessionTokenMode::Exclude,
 5183   7174   
            ..Default::default()
 5184   7175   
        };
 5185   7176   
        let identity = Credentials::for_tests().into();
 5186   7177   
        let signing_params = signing_params(&identity, settings);
 5187   7178   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5188   7179   
 5189   7180   
        assert_eq!(
 5190   7181   
            creq.values.signed_headers().to_string(),
 5191   7182   
            "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
 5192   7183   
        );
 5193   7184   
        assert_eq!(
 5194   7185   
            creq.header_values_for("x-amz-object-attributes"),
 5195   7186   
            "Checksum,ObjectSize",
 5196   7187   
        );
 5197   7188   
    }
 5198   7189   
 5199   7190   
    #[test]
 5200   7191   
    fn test_host_header_properly_handles_ports() {
 5201   7192   
        fn host_header_test_setup(endpoint: String) -> String {
 5202         -
            let mut req = test::v4::test_request("get-vanilla");
        7193  +
            let test = SigningSuiteTest::v4("get-vanilla");
        7194  +
            let mut req = test.request();
 5203   7195   
            req.uri = endpoint;
 5204   7196   
            let req = SignableRequest::from(&req);
 5205   7197   
            let settings = SigningSettings {
 5206   7198   
                payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5207   7199   
                session_token_mode: SessionTokenMode::Exclude,
 5208   7200   
                ..Default::default()
 5209   7201   
            };
 5210   7202   
            let identity = Credentials::for_tests().into();
 5211   7203   
            let signing_params = signing_params(&identity, settings);
 5212   7204   
            let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5213   7205   
            creq.header_values_for("host")
 5214   7206   
        }
 5215   7207   
 5216   7208   
        // HTTP request with 80 port should not be signed with that port
 5217   7209   
        let http_80_host_header = host_header_test_setup("http://localhost:80".into());
 5218   7210   
        assert_eq!(http_80_host_header, "localhost",);
 5219   7211   
 5220   7212   
        // HTTP request with non-80 port should be signed with that port
 5221   7213   
        let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
 5222   7214   
        assert_eq!(http_1234_host_header, "localhost:1234",);
 5223   7215   
 5224   7216   
        // HTTPS request with 443 port should not be signed with that port
 5225   7217   
        let https_443_host_header = host_header_test_setup("https://localhost:443".into());
 5226   7218   
        assert_eq!(https_443_host_header, "localhost",);
 5227   7219   
 5228   7220   
        // HTTPS request with non-443 port should be signed with that port
 5229   7221   
        let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
 5230   7222   
        assert_eq!(https_1234_host_header, "localhost:1234",);
 5231   7223   
    }
 5232   7224   
 5233   7225   
    #[test]
 5234   7226   
    fn test_set_xamz_sha_256() {
 5235         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7227  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7228  +
        let req = test.request();
 5236   7229   
        let req = SignableRequest::from(&req);
 5237   7230   
        let settings = SigningSettings {
 5238   7231   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5239   7232   
            session_token_mode: SessionTokenMode::Exclude,
 5240   7233   
            ..Default::default()
 5241   7234   
        };
 5242   7235   
        let identity = Credentials::for_tests().into();
 5243   7236   
        let mut signing_params = signing_params(&identity, settings);
 5244   7237   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5245   7238   
        assert_eq!(
 5246   7239   
            creq.values.content_sha256(),
 5247   7240   
            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 5248   7241   
        );
 5249   7242   
        // assert that the sha256 header was added
 5250   7243   
        assert_eq!(
 5251   7244   
            creq.values.signed_headers().as_str(),
 5252   7245   
            "host;x-amz-content-sha256;x-amz-date"
 5253   7246   
        );
 5254   7247   
 5255   7248   
        signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
 5256   7249   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5257   7250   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5258   7251   
    }
 5259   7252   
 5260   7253   
    #[test]
 5261   7254   
    fn test_unsigned_payload() {
 5262         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7255  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7256  +
        let mut req = test.request();
 5263   7257   
        req.set_body(SignableBody::UnsignedPayload);
 5264   7258   
        let req: SignableRequest<'_> = SignableRequest::from(&req);
 5265   7259   
 5266   7260   
        let settings = SigningSettings {
 5267   7261   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5268   7262   
            ..Default::default()
 5269   7263   
        };
 5270   7264   
        let identity = Credentials::for_tests().into();
 5271   7265   
        let signing_params = signing_params(&identity, settings);
 5272   7266   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5273   7267   
        assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
 5274   7268   
        assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
 5275   7269   
    }
 5276   7270   
 5277   7271   
    #[test]
 5278   7272   
    fn test_precomputed_payload() {
 5279   7273   
        let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
 5280         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7274  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7275  +
        let mut req = test.request();
 5281   7276   
        req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
 5282   7277   
        let req = SignableRequest::from(&req);
 5283   7278   
        let settings = SigningSettings {
 5284   7279   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5285   7280   
            ..Default::default()
 5286   7281   
        };
 5287   7282   
        let identity = Credentials::for_tests().into();
 5288   7283   
        let signing_params = signing_params(&identity, settings);
 5289   7284   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5290   7285   
        assert_eq!(creq.values.content_sha256(), payload_hash);
 5291   7286   
        assert!(creq.to_string().ends_with(payload_hash));
 5292   7287   
    }
 5293   7288   
 5294   7289   
    #[test]
 5295   7290   
    fn test_generate_scope() {
 5296   7291   
        let expected = "20150830/us-east-1/iam/aws4_request\n";
 5297   7292   
        let scope = SigningScope {
 5298   7293   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5299   7294   
            region: "us-east-1",
 5300   7295   
            service: "iam",
 5301   7296   
        };
 5302   7297   
        assert_eq!(format!("{}\n", scope), expected);
 5303   7298   
    }
 5304   7299   
 5305   7300   
    #[test]
 5306   7301   
    fn test_string_to_sign() {
 5307   7302   
        let time = parse_date_time("20150830T123600Z").unwrap();
 5308         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
 5309         -
        let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
        7303  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7304  +
        let creq = test.canonical_request(SignatureLocation::Headers);
        7305  +
        let expected_sts = test.string_to_sign(SignatureLocation::Headers);
 5310   7306   
        let encoded = sha256_hex_string(creq.as_bytes());
 5311   7307   
 5312   7308   
        let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
 5313   7309   
        assert_eq!(expected_sts, actual.to_string());
 5314   7310   
    }
 5315   7311   
 5316   7312   
    #[test]
 5317   7313   
    fn test_digest_of_canonical_request() {
 5318         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
        7314  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7315  +
        let creq = test.canonical_request(SignatureLocation::Headers);
 5319   7316   
        let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
 5320   7317   
        let actual = sha256_hex_string(creq.as_bytes());
 5321   7318   
        assert_eq!(expected, actual);
 5322   7319   
    }
 5323   7320   
 5324   7321   
    #[test]
 5325   7322   
    fn test_double_url_encode_path() {
 5326         -
        let req = test::v4::test_request("double-encode-path");
        7323  +
        let test = SigningSuiteTest::v4("double-encode-path");
        7324  +
        let req = test.request();
 5327   7325   
        let req = SignableRequest::from(&req);
 5328   7326   
        let identity = Credentials::for_tests().into();
 5329   7327   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5330   7328   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5331   7329   
 5332         -
        let expected = test::v4::test_canonical_request("double-encode-path");
        7330  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5333   7331   
        let actual = format!("{}", creq);
 5334   7332   
        assert_eq!(actual, expected);
 5335   7333   
    }
 5336   7334   
 5337   7335   
    #[test]
 5338   7336   
    fn test_double_url_encode() {
 5339         -
        let req = test::v4::test_request("double-url-encode");
        7337  +
        let test = SigningSuiteTest::v4("double-url-encode");
        7338  +
        let req = test.request();
 5340   7339   
        let req = SignableRequest::from(&req);
 5341   7340   
        let identity = Credentials::for_tests().into();
 5342   7341   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5343   7342   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5344         -
 5345         -
        let expected = test::v4::test_canonical_request("double-url-encode");
        7343  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5346   7344   
        let actual = format!("{}", creq);
 5347   7345   
        assert_eq!(actual, expected);
 5348   7346   
    }
 5349   7347   
 5350   7348   
    #[test]
 5351   7349   
    fn test_tilde_in_uri() {
 5352   7350   
        let req = http0::Request::builder()
 5353   7351   
            .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
 5354   7352   
        let req = SignableRequest::from(&req);
 5355   7353   
        let identity = Credentials::for_tests().into();
 5356   7354   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5357   7355   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5358   7356   
        assert_eq!(
 5359   7357   
            Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
 5360   7358   
            creq.params.as_deref(),
 5361   7359   
        );
 5362   7360   
    }
 5363   7361   
 5364   7362   
    #[test]
 5365   7363   
    fn test_signing_urls_with_percent_encoded_query_strings() {
 5366   7364   
        let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
 5367   7365   
        let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
 5368   7366   
 5369   7367   
        let mut query_writer = QueryWriter::new(&uri);
 5370   7368   
        query_writer.insert("list-type", "2");
 5371   7369   
        query_writer.insert("prefix", &all_printable_ascii_chars);
 5372   7370   
 5373   7371   
        let req = http0::Request::builder()
 5374   7372   
            .uri(query_writer.build_uri())
 5375   7373   
            .body("")
 5376   7374   
            .unwrap()
 5377   7375   
            .into();
 5378   7376   
        let req = SignableRequest::from(&req);
 5379   7377   
        let identity = Credentials::for_tests().into();
 5380   7378   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5381   7379   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5382   7380   
 5383   7381   
        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~";
 5384   7382   
        let actual = creq.params.unwrap();
 5385   7383   
        assert_eq!(expected, actual);
 5386   7384   
    }
 5387   7385   
 5388   7386   
    #[test]
 5389   7387   
    fn test_omit_session_token() {
 5390         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7388  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7389  +
        let req = test.request();
 5391   7390   
        let req = SignableRequest::from(&req);
 5392   7391   
        let settings = SigningSettings {
 5393   7392   
            session_token_mode: SessionTokenMode::Include,
 5394   7393   
            ..Default::default()
 5395   7394   
        };
 5396   7395   
        let identity = Credentials::for_tests_with_session_token().into();
 5397   7396   
        let mut signing_params = signing_params(&identity, settings);
 5398   7397   
 5399   7398   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5400   7399   
        assert_eq!(
 5401   7400   
            creq.values.signed_headers().as_str(),
 5402   7401   
            "host;x-amz-date;x-amz-security-token"
 5403   7402   
        );
 5404   7403   
        assert_eq!(
 5405   7404   
            creq.headers.get("x-amz-security-token").unwrap(),
 5406   7405   
            "notarealsessiontoken"
 5407   7406   
        );
 5408   7407   
 5409   7408   
        signing_params.set_session_token_mode(SessionTokenMode::Exclude);
 5410   7409   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5411   7410   
        assert_eq!(
 5412   7411   
            creq.headers.get("x-amz-security-token").unwrap(),
 5413   7412   
            "notarealsessiontoken"
 5414   7413   
        );
 5415   7414   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5416   7415   
    }
 5417   7416   
 5418   7417   
    // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
 5419   7418   
    #[test]
 5420   7419   
    fn non_presigning_header_exclusion() {
 5421   7420   
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
 5422   7421   
index c4bbbee..30b4743 100644
 5423         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
        7422  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 5424   7423   
@@ -478,436 +478,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 5425   7424   
        sensitive,
 5426   7425   
    });
 5427   7426   
}
 5428   7427   
 5429   7428   
// add signature to authorization header
 5430   7429   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 5431   7430   
fn build_authorization_header(
 5432   7431   
    access_key: &str,
 5433   7432   
    creq: &CanonicalRequest<'_>,
 5434   7433   
    sts: StringToSign<'_>,
 5435   7434   
    signature: &str,
 5436   7435   
    signature_version: SignatureVersion,
 5437   7436   
) -> String {
 5438   7437   
    let scope = match signature_version {
 5439   7438   
        SignatureVersion::V4 => sts.scope.to_string(),
 5440   7439   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 5441   7440   
    };
 5442   7441   
    format!(
 5443   7442   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 5444   7443   
        sts.algorithm,
 5445   7444   
        access_key,
 5446   7445   
        scope,
 5447   7446   
        creq.values.signed_headers().as_str(),
 5448   7447   
        signature
 5449   7448   
    )
 5450   7449   
}
 5451   7450   
#[cfg(test)]
 5452   7451   
mod tests {
 5453   7452   
    use crate::date_time::test_parsers::parse_date_time;
 5454   7453   
    use crate::http_request::sign::{add_header, SignableRequest};
        7454  +
    use crate::http_request::test::SigningSuiteTest;
 5455   7455   
    use crate::http_request::{
 5456         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        7456  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 5457   7457   
        SigningSettings,
 5458   7458   
    };
 5459   7459   
    use crate::sign::v4;
 5460   7460   
    use aws_credential_types::Credentials;
 5461   7461   
    use http0::{HeaderValue, Request};
 5462   7462   
    use pretty_assertions::assert_eq;
 5463   7463   
    use proptest::proptest;
 5464   7464   
    use std::borrow::Cow;
 5465   7465   
    use std::iter;
 5466         -
    use std::time::Duration;
 5467   7466   
 5468   7467   
    macro_rules! assert_req_eq {
 5469   7468   
        (http: $expected:expr, $actual:expr) => {
 5470   7469   
            let mut expected = ($expected).map(|_b|"body");
 5471   7470   
            let mut actual = ($actual).map(|_b|"body");
 5472   7471   
            make_headers_comparable(&mut expected);
 5473   7472   
            make_headers_comparable(&mut actual);
 5474   7473   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 5475   7474   
        };
 5476   7475   
        ($expected:tt, $actual:tt) => {
 5477   7476   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 5478   7477   
        };
 5479   7478   
    }
 5480   7479   
 5481   7480   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 5482   7481   
        for (_name, value) in request.headers_mut() {
 5483   7482   
            value.set_sensitive(false);
 5484   7483   
        }
 5485   7484   
    }
 5486   7485   
 5487         -
    #[test]
 5488         -
    fn test_sign_vanilla_with_headers() {
 5489         -
        let settings = SigningSettings::default();
 5490         -
        let identity = &Credentials::for_tests().into();
 5491         -
        let params = v4::SigningParams {
 5492         -
            identity,
 5493         -
            region: "us-east-1",
 5494         -
            name: "service",
 5495         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5496         -
            settings,
 5497         -
        }
 5498         -
        .into();
 5499         -
 5500         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5501         -
        let signable = SignableRequest::from(&original);
 5502         -
        let out = sign(signable, &params).unwrap();
 5503         -
        assert_eq!(
 5504         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 5505         -
            out.signature
 5506         -
        );
 5507         -
 5508         -
        let mut signed = original.as_http_request();
 5509         -
        out.output.apply_to_request_http0x(&mut signed);
 5510         -
 5511         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 5512         -
        assert_req_eq!(expected, signed);
 5513         -
    }
 5514         -
        7486  +
    // Sigv4A suite tests
 5515   7487   
    #[cfg(feature = "sigv4a")]
 5516         -
    mod sigv4a_tests {
 5517         -
        use super::*;
 5518         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5519         -
        use crate::http_request::{sign, test, SigningParams};
 5520         -
        use crate::sign::v4a;
 5521         -
        use p256::ecdsa::signature::{Signature, Verifier};
 5522         -
        use p256::ecdsa::{DerSignature, SigningKey};
 5523         -
        use pretty_assertions::assert_eq;
 5524         -
 5525         -
        fn new_v4a_signing_params_from_context(
 5526         -
            test_context: &'_ test::v4a::TestContext,
 5527         -
            signature_location: SignatureLocation,
 5528         -
        ) -> SigningParams<'_> {
 5529         -
            let mut params = v4a::SigningParams::from(test_context);
 5530         -
            params.settings.signature_location = signature_location;
 5531         -
 5532         -
            params.into()
 5533         -
        }
 5534         -
 5535         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 5536         -
            let tc = test::v4a::test_context(test_name);
 5537         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 5538         -
 5539         -
            let req = test::v4a::test_request(test_name);
 5540         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 5541         -
            let signable_req = SignableRequest::from(&req);
 5542         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
 5543         -
 5544         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
        7488  +
    mod v4a_suite {
        7489  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 5545   7490   
 5546         -
            let expected_string_to_sign =
 5547         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 5548         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 5549         -
            let actual_string_to_sign = StringToSign::new_v4a(
 5550         -
                *params.time(),
 5551         -
                params.region_set().unwrap(),
 5552         -
                params.name(),
 5553         -
                hashed_creq,
 5554         -
            )
 5555         -
            .to_string();
 5556         -
 5557         -
            assert_eq!(
 5558         -
                expected_string_to_sign, actual_string_to_sign,
 5559         -
                "'string to sign' didn't match"
 5560         -
            );
 5561         -
 5562         -
            let out = sign(signable_req, &params).unwrap();
 5563         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 5564         -
            out.output
 5565         -
                .apply_to_request_http0x(&mut req.as_http_request());
 5566         -
 5567         -
            let creds = params.credentials().unwrap();
 5568         -
            let signing_key =
 5569         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 5570         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 5571         -
            let sig = sig
 5572         -
                .try_into()
 5573         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 5574         -
 5575         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 5576         -
            let peer_public_key = signing_key.verifying_key();
 5577         -
            let sts = actual_string_to_sign.as_bytes();
 5578         -
            peer_public_key.verify(sts, &sig).unwrap();
        7491  +
        #[test]
        7492  +
        fn test_get_header_key_duplicate() {
        7493  +
            run_test_suite_v4a("get-header-key-duplicate")
 5579   7494   
        }
 5580   7495   
 5581   7496   
        #[test]
 5582         -
        fn test_get_header_key_duplicate() {
 5583         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        7497  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7498  +
        fn test_get_header_value_multiline() {
        7499  +
            run_test_suite_v4a("get-header-value-multiline")
 5584   7500   
        }
 5585   7501   
 5586   7502   
        #[test]
 5587   7503   
        fn test_get_header_value_order() {
 5588         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        7504  +
            run_test_suite_v4a("get-header-value-order")
 5589   7505   
        }
 5590   7506   
 5591   7507   
        #[test]
 5592   7508   
        fn test_get_header_value_trim() {
 5593         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        7509  +
            run_test_suite_v4a("get-header-value-trim");
 5594   7510   
        }
 5595   7511   
 5596   7512   
        #[test]
 5597   7513   
        fn test_get_relative_normalized() {
 5598         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        7514  +
            run_test_suite_v4a("get-relative-normalized");
 5599   7515   
        }
 5600   7516   
 5601   7517   
        #[test]
 5602   7518   
        fn test_get_relative_relative_normalized() {
 5603         -
            run_v4a_test_suite(
 5604         -
                "get-relative-relative-normalized",
 5605         -
                SignatureLocation::Headers,
 5606         -
            );
        7519  +
            run_test_suite_v4a("get-relative-relative-normalized");
 5607   7520   
        }
 5608   7521   
 5609   7522   
        #[test]
 5610   7523   
        fn test_get_relative_relative_unnormalized() {
 5611         -
            run_v4a_test_suite(
 5612         -
                "get-relative-relative-unnormalized",
 5613         -
                SignatureLocation::Headers,
 5614         -
            );
        7524  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 5615   7525   
        }
 5616   7526   
 5617   7527   
        #[test]
 5618   7528   
        fn test_get_relative_unnormalized() {
 5619         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        7529  +
            run_test_suite_v4a("get-relative-unnormalized");
 5620   7530   
        }
 5621   7531   
 5622   7532   
        #[test]
 5623   7533   
        fn test_get_slash_dot_slash_normalized() {
 5624         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        7534  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 5625   7535   
        }
 5626   7536   
 5627   7537   
        #[test]
 5628   7538   
        fn test_get_slash_dot_slash_unnormalized() {
 5629         -
            run_v4a_test_suite(
 5630         -
                "get-slash-dot-slash-unnormalized",
 5631         -
                SignatureLocation::Headers,
 5632         -
            );
        7539  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 5633   7540   
        }
 5634   7541   
 5635   7542   
        #[test]
 5636   7543   
        fn test_get_slash_normalized() {
 5637         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        7544  +
            run_test_suite_v4a("get-slash-normalized");
 5638   7545   
        }
 5639   7546   
 5640   7547   
        #[test]
 5641   7548   
        fn test_get_slash_pointless_dot_normalized() {
 5642         -
            run_v4a_test_suite(
 5643         -
                "get-slash-pointless-dot-normalized",
 5644         -
                SignatureLocation::Headers,
 5645         -
            );
        7549  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 5646   7550   
        }
 5647   7551   
 5648   7552   
        #[test]
 5649   7553   
        fn test_get_slash_pointless_dot_unnormalized() {
 5650         -
            run_v4a_test_suite(
 5651         -
                "get-slash-pointless-dot-unnormalized",
 5652         -
                SignatureLocation::Headers,
 5653         -
            );
        7554  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 5654   7555   
        }
 5655   7556   
 5656   7557   
        #[test]
 5657   7558   
        fn test_get_slash_unnormalized() {
 5658         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        7559  +
            run_test_suite_v4a("get-slash-unnormalized");
 5659   7560   
        }
 5660   7561   
 5661   7562   
        #[test]
 5662   7563   
        fn test_get_slashes_normalized() {
 5663         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        7564  +
            run_test_suite_v4a("get-slashes-normalized");
 5664   7565   
        }
 5665   7566   
 5666   7567   
        #[test]
 5667   7568   
        fn test_get_slashes_unnormalized() {
 5668         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        7569  +
            run_test_suite_v4a("get-slashes-unnormalized");
        7570  +
        }
        7571  +
        7572  +
        #[test]
        7573  +
        #[ignore = "relies on single encode of path segments"]
        7574  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7575  +
        // skipped until we add control over double_uri_encode in context.json
        7576  +
        fn test_get_space_normalized() {
        7577  +
            run_test_suite_v4a("get-space-normalized");
        7578  +
        }
        7579  +
        7580  +
        #[test]
        7581  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7582  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7583  +
        fn test_get_space_unnormalized() {
        7584  +
            run_test_suite_v4a("get-space-unnormalized");
 5669   7585   
        }
 5670   7586   
 5671   7587   
        #[test]
 5672   7588   
        fn test_get_unreserved() {
 5673         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        7589  +
            run_test_suite_v4a("get-unreserved");
        7590  +
        }
        7591  +
        7592  +
        #[test]
        7593  +
        #[ignore = "httparse fails on invalid uri character"]
        7594  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7595  +
        fn test_get_utf8() {
        7596  +
            run_test_suite_v4a("get-utf8");
 5674   7597   
        }
 5675   7598   
 5676   7599   
        #[test]
 5677   7600   
        fn test_get_vanilla() {
 5678         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        7601  +
            run_test_suite_v4a("get-vanilla");
 5679   7602   
        }
 5680   7603   
 5681   7604   
        #[test]
 5682   7605   
        fn test_get_vanilla_empty_query_key() {
 5683         -
            run_v4a_test_suite(
 5684         -
                "get-vanilla-empty-query-key",
 5685         -
                SignatureLocation::QueryParams,
 5686         -
            );
        7606  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 5687   7607   
        }
 5688   7608   
 5689   7609   
        #[test]
 5690   7610   
        fn test_get_vanilla_query() {
 5691         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        7611  +
            run_test_suite_v4a("get-vanilla-query");
        7612  +
        }
        7613  +
        7614  +
        #[test]
        7615  +
        fn test_get_vanilla_query_order_encoded() {
        7616  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 5692   7617   
        }
 5693   7618   
 5694   7619   
        #[test]
 5695   7620   
        fn test_get_vanilla_query_order_key_case() {
 5696         -
            run_v4a_test_suite(
 5697         -
                "get-vanilla-query-order-key-case",
 5698         -
                SignatureLocation::QueryParams,
 5699         -
            );
        7621  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 5700   7622   
        }
 5701   7623   
 5702   7624   
        #[test]
 5703   7625   
        fn test_get_vanilla_query_unreserved() {
 5704         -
            run_v4a_test_suite(
 5705         -
                "get-vanilla-query-unreserved",
 5706         -
                SignatureLocation::QueryParams,
 5707         -
            );
        7626  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        7627  +
        }
        7628  +
        7629  +
        #[test]
        7630  +
        #[ignore = "httparse fails on invalid uri character"]
        7631  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7632  +
        fn test_get_vanilla_utf8_query() {
        7633  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 5708   7634   
        }
 5709   7635   
 5710   7636   
        #[test]
 5711   7637   
        fn test_get_vanilla_with_session_token() {
 5712         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        7638  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 5713   7639   
        }
 5714   7640   
 5715   7641   
        #[test]
 5716   7642   
        fn test_post_header_key_case() {
 5717         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        7643  +
            run_test_suite_v4a("post-header-key-case");
 5718   7644   
        }
 5719   7645   
 5720   7646   
        #[test]
 5721   7647   
        fn test_post_header_key_sort() {
 5722         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        7648  +
            run_test_suite_v4a("post-header-key-sort");
 5723   7649   
        }
 5724   7650   
 5725   7651   
        #[test]
 5726   7652   
        fn test_post_header_value_case() {
 5727         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        7653  +
            run_test_suite_v4a("post-header-value-case");
 5728   7654   
        }
 5729   7655   
 5730   7656   
        #[test]
 5731   7657   
        fn test_post_sts_header_after() {
 5732         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        7658  +
            run_test_suite_v4a("post-sts-header-after");
 5733   7659   
        }
 5734   7660   
 5735   7661   
        #[test]
 5736   7662   
        fn test_post_sts_header_before() {
 5737         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        7663  +
            run_test_suite_v4a("post-sts-header-before");
 5738   7664   
        }
 5739   7665   
 5740   7666   
        #[test]
 5741   7667   
        fn test_post_vanilla() {
 5742         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        7668  +
            run_test_suite_v4a("post-vanilla");
 5743   7669   
        }
 5744   7670   
 5745   7671   
        #[test]
 5746   7672   
        fn test_post_vanilla_empty_query_value() {
 5747         -
            run_v4a_test_suite(
 5748         -
                "post-vanilla-empty-query-value",
 5749         -
                SignatureLocation::QueryParams,
 5750         -
            );
        7673  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 5751   7674   
        }
 5752   7675   
 5753   7676   
        #[test]
 5754   7677   
        fn test_post_vanilla_query() {
 5755         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        7678  +
            run_test_suite_v4a("post-vanilla-query");
 5756   7679   
        }
 5757   7680   
 5758   7681   
        #[test]
 5759   7682   
        fn test_post_x_www_form_urlencoded() {
 5760         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        7683  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 5761   7684   
        }
 5762   7685   
 5763   7686   
        #[test]
 5764   7687   
        fn test_post_x_www_form_urlencoded_parameters() {
 5765         -
            run_v4a_test_suite(
 5766         -
                "post-x-www-form-urlencoded-parameters",
 5767         -
                SignatureLocation::QueryParams,
 5768         -
            );
        7688  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 5769   7689   
        }
 5770   7690   
    }
 5771   7691   
 5772   7692   
    #[test]
 5773   7693   
    fn test_sign_url_escape() {
 5774         -
        let test = "double-encode-path";
        7694  +
        let test = SigningSuiteTest::v4("double-encode-path");
 5775   7695   
        let settings = SigningSettings::default();
 5776   7696   
        let identity = &Credentials::for_tests().into();
 5777   7697   
        let params = v4::SigningParams {
 5778   7698   
            identity,
 5779   7699   
            region: "us-east-1",
 5780   7700   
            name: "service",
 5781   7701   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5782   7702   
            settings,
 5783   7703   
        }
 5784   7704   
        .into();
 5785   7705   
 5786         -
        let original = test::v4::test_request(test);
        7706  +
        let original = test.request();
 5787   7707   
        let signable = SignableRequest::from(&original);
 5788   7708   
        let out = sign(signable, &params).unwrap();
 5789   7709   
        assert_eq!(
 5790   7710   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 5791   7711   
            out.signature
 5792   7712   
        );
 5793   7713   
 5794   7714   
        let mut signed = original.as_http_request();
 5795   7715   
        out.output.apply_to_request_http0x(&mut signed);
 5796   7716   
 5797         -
        let expected = test::v4::test_signed_request(test);
 5798         -
        assert_req_eq!(expected, signed);
 5799         -
    }
 5800         -
 5801         -
    #[test]
 5802         -
    fn test_sign_vanilla_with_query_params() {
 5803         -
        let settings = SigningSettings {
 5804         -
            signature_location: SignatureLocation::QueryParams,
 5805         -
            expires_in: Some(Duration::from_secs(35)),
 5806         -
            ..Default::default()
 5807         -
        };
 5808         -
        let identity = &Credentials::for_tests().into();
 5809         -
        let params = v4::SigningParams {
 5810         -
            identity,
 5811         -
            region: "us-east-1",
 5812         -
            name: "service",
 5813         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5814         -
            settings,
 5815         -
        }
 5816         -
        .into();
 5817         -
 5818         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5819         -
        let signable = SignableRequest::from(&original);
 5820         -
        let out = sign(signable, &params).unwrap();
 5821         -
        assert_eq!(
 5822         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 5823         -
            out.signature
 5824         -
        );
 5825         -
 5826         -
        let mut signed = original.as_http_request();
 5827         -
        out.output.apply_to_request_http0x(&mut signed);
 5828         -
 5829         -
        let expected =
 5830         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        7717  +
        let expected = test.signed_request(SignatureLocation::Headers);
 5831   7718   
        assert_req_eq!(expected, signed);
 5832   7719   
    }
 5833   7720   
 5834   7721   
    #[test]
 5835   7722   
    fn test_sign_headers_utf8() {
 5836   7723   
        let settings = SigningSettings::default();
 5837   7724   
        let identity = &Credentials::for_tests().into();
 5838   7725   
        let params = v4::SigningParams {
 5839   7726   
            identity,
 5840   7727   
            region: "us-east-1",
 5841   7728   
            name: "service",
 5842   7729   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5843   7730   
            settings,
 5844   7731   
        }
 5845   7732   
        .into();
 5846   7733   
 5847   7734   
        let original = http0::Request::builder()
 5848   7735   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 5849   7736   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 5850   7737   
            .body("")
 5851   7738   
            .unwrap()
 5852   7739   
            .into();
 5853   7740   
        let signable = SignableRequest::from(&original);
 5854   7741   
        let out = sign(signable, &params).unwrap();
 5855   7742   
        assert_eq!(
 5856   7743   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 5857   7744   
            out.signature
 5858   7745   
        );
 5859   7746   
 5860   7747   
        let mut signed = original.as_http_request();
 5861   7748   
@@ -1138,31 +1026,236 @@ mod tests {
 5862   7749   
        let mut request = http::Request::builder()
 5863   7750   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 5864   7751   
            .body("")
 5865   7752   
            .unwrap();
 5866   7753   
 5867   7754   
        instructions.apply_to_request_http1x(&mut request);
 5868   7755   
 5869   7756   
        assert_eq!(
 5870   7757   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 5871   7758   
            request.uri().path_and_query().unwrap().to_string()
 5872   7759   
        );
 5873   7760   
    }
 5874   7761   
 5875   7762   
    #[test]
 5876   7763   
    fn test_debug_signable_body() {
 5877   7764   
        let sut = SignableBody::Bytes(b"hello signable body");
 5878   7765   
        assert_eq!(
 5879   7766   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 5880   7767   
            format!("{sut:?}")
 5881   7768   
        );
 5882   7769   
 5883   7770   
        let sut = SignableBody::UnsignedPayload;
 5884   7771   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 5885   7772   
 5886   7773   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 5887   7774   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 5888   7775   
 5889   7776   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 5890   7777   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 5891   7778   
    }
        7779  +
        7780  +
    // v4 test suite
        7781  +
    mod v4_suite {
        7782  +
        use crate::http_request::test::run_test_suite_v4;
        7783  +
        7784  +
        #[test]
        7785  +
        fn test_get_header_key_duplicate() {
        7786  +
            run_test_suite_v4("get-header-key-duplicate");
        7787  +
        }
        7788  +
        7789  +
        #[test]
        7790  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7791  +
        fn test_get_header_value_multiline() {
        7792  +
            run_test_suite_v4("get-header-value-multiline");
        7793  +
        }
        7794  +
        7795  +
        #[test]
        7796  +
        fn test_get_header_value_order() {
        7797  +
            run_test_suite_v4("get-header-value-order");
        7798  +
        }
        7799  +
        7800  +
        #[test]
        7801  +
        fn test_get_header_value_trim() {
        7802  +
            run_test_suite_v4("get-header-value-trim");
        7803  +
        }
        7804  +
        7805  +
        #[test]
        7806  +
        fn test_get_relative_normalized() {
        7807  +
            run_test_suite_v4("get-relative-normalized");
        7808  +
        }
        7809  +
        7810  +
        #[test]
        7811  +
        fn test_get_relative_relative_normalized() {
        7812  +
            run_test_suite_v4("get-relative-relative-normalized");
        7813  +
        }
        7814  +
        7815  +
        #[test]
        7816  +
        fn test_get_relative_relative_unnormalized() {
        7817  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        7818  +
        }
        7819  +
        7820  +
        #[test]
        7821  +
        fn test_get_relative_unnormalized() {
        7822  +
            run_test_suite_v4("get-relative-unnormalized");
        7823  +
        }
        7824  +
        7825  +
        #[test]
        7826  +
        fn test_get_slash_dot_slash_normalized() {
        7827  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        7828  +
        }
        7829  +
        7830  +
        #[test]
        7831  +
        fn test_get_slash_dot_slash_unnormalized() {
        7832  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        7833  +
        }
        7834  +
        7835  +
        #[test]
        7836  +
        fn test_get_slash_normalized() {
        7837  +
            run_test_suite_v4("get-slash-normalized");
        7838  +
        }
        7839  +
        7840  +
        #[test]
        7841  +
        fn test_get_slash_pointless_dot_normalized() {
        7842  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        7843  +
        }
        7844  +
        7845  +
        #[test]
        7846  +
        fn test_get_slash_pointless_dot_unnormalized() {
        7847  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        7848  +
        }
        7849  +
        7850  +
        #[test]
        7851  +
        fn test_get_slash_unnormalized() {
        7852  +
            run_test_suite_v4("get-slash-unnormalized");
        7853  +
        }
        7854  +
        7855  +
        #[test]
        7856  +
        fn test_get_slashes_normalized() {
        7857  +
            run_test_suite_v4("get-slashes-normalized");
        7858  +
        }
        7859  +
        7860  +
        #[test]
        7861  +
        fn test_get_slashes_unnormalized() {
        7862  +
            run_test_suite_v4("get-slashes-unnormalized");
        7863  +
        }
        7864  +
        7865  +
        #[test]
        7866  +
        #[ignore = "relies on single encode of path segments"]
        7867  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7868  +
        // skipped until we add control over double_uri_encode in context.json
        7869  +
        fn test_get_space_normalized() {
        7870  +
            run_test_suite_v4("get-space-normalized");
        7871  +
        }
        7872  +
        7873  +
        #[test]
        7874  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7875  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7876  +
        fn test_get_space_unnormalized() {
        7877  +
            run_test_suite_v4("get-space-unnormalized");
        7878  +
        }
        7879  +
        7880  +
        #[test]
        7881  +
        fn test_get_unreserved() {
        7882  +
            run_test_suite_v4("get-unreserved");
        7883  +
        }
        7884  +
        7885  +
        #[test]
        7886  +
        #[ignore = "httparse fails on invalid uri character"]
        7887  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7888  +
        fn test_get_utf8() {
        7889  +
            run_test_suite_v4("get-utf8");
        7890  +
        }
        7891  +
        7892  +
        #[test]
        7893  +
        fn test_get_vanilla() {
        7894  +
            run_test_suite_v4("get-vanilla");
        7895  +
        }
        7896  +
        7897  +
        #[test]
        7898  +
        fn test_get_vanilla_empty_query_key() {
        7899  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        7900  +
        }
        7901  +
        7902  +
        #[test]
        7903  +
        fn test_get_vanilla_query() {
        7904  +
            run_test_suite_v4("get-vanilla-query");
        7905  +
        }
        7906  +
        7907  +
        #[test]
        7908  +
        fn test_get_vanilla_query_order_encoded() {
        7909  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        7910  +
        }
        7911  +
        7912  +
        #[test]
        7913  +
        fn test_get_vanilla_query_order_key_case() {
        7914  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        7915  +
        }
        7916  +
        7917  +
        #[test]
        7918  +
        fn test_get_vanilla_query_unreserved() {
        7919  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        7920  +
        }
        7921  +
        7922  +
        #[test]
        7923  +
        #[ignore = "httparse fails on invalid uri character"]
        7924  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7925  +
        fn test_get_vanilla_utf8_query() {
        7926  +
            run_test_suite_v4("get-vanilla-utf8-query");
        7927  +
        }
        7928  +
        7929  +
        #[test]
        7930  +
        fn test_get_vanilla_with_session_token() {
        7931  +
            run_test_suite_v4("get-vanilla-with-session-token");
        7932  +
        }
        7933  +
        7934  +
        #[test]
        7935  +
        fn test_post_header_key_case() {
        7936  +
            run_test_suite_v4("post-header-key-case");
        7937  +
        }
        7938  +
        7939  +
        #[test]
        7940  +
        fn test_post_header_key_sort() {
        7941  +
            run_test_suite_v4("post-header-key-sort");
        7942  +
        }
        7943  +
        7944  +
        #[test]
        7945  +
        fn test_post_header_value_case() {
        7946  +
            run_test_suite_v4("post-header-value-case");
        7947  +
        }
        7948  +
        7949  +
        #[test]
        7950  +
        fn test_post_sts_header_after() {
        7951  +
            run_test_suite_v4("post-sts-header-after");
        7952  +
        }
        7953  +
        7954  +
        #[test]
        7955  +
        fn test_post_sts_header_before() {
        7956  +
            run_test_suite_v4("post-sts-header-before");
        7957  +
        }
        7958  +
        7959  +
        #[test]
        7960  +
        fn test_post_vanilla() {
        7961  +
            run_test_suite_v4("post-vanilla");
        7962  +
        }
        7963  +
        7964  +
        #[test]
        7965  +
        fn test_post_vanilla_empty_query_value() {
        7966  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        7967  +
        }
        7968  +
        7969  +
        #[test]
        7970  +
        fn test_post_vanilla_query() {
        7971  +
            run_test_suite_v4("post-vanilla-query");
        7972  +
        }
        7973  +
        7974  +
        #[test]
        7975  +
        fn test_post_x_www_form_urlencoded() {
        7976  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        7977  +
        }
        7978  +
        7979  +
        #[test]
        7980  +
        fn test_post_x_www_form_urlencoded_parameters() {
        7981  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        7982  +
        }
        7983  +
    }
 5892   7984   
}
 5893   7985   
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
 5894   7986   
index be6c496..86eec20 100644
 5895         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        7987  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 5896   7988   
@@ -1,242 +1,453 @@
 5897   7989   
/*
 5898   7990   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 5899   7991   
 * SPDX-License-Identifier: Apache-2.0
 5900   7992   
 */
 5901   7993   
 5902   7994   
//! Functions shared between the tests of several modules.
 5903   7995   
 5904         -
use crate::http_request::{SignableBody, SignableRequest};
        7996  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        7997  +
use crate::http_request::{
        7998  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        7999  +
    SigningSettings,
        8000  +
};
        8001  +
use aws_credential_types::Credentials;
        8002  +
use aws_smithy_runtime_api::client::identity::Identity;
 5905   8003   
use http0::{Method, Uri};
        8004  +
use std::borrow::Cow;
 5906   8005   
use std::error::Error as StdError;
        8006  +
use std::time::{Duration, SystemTime};
        8007  +
use time::format_description::well_known::Rfc3339;
        8008  +
use time::OffsetDateTime;
        8009  +
        8010  +
/// Common test suite collection
        8011  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        8012  +
enum Collection {
        8013  +
    V4,
        8014  +
    V4A,
        8015  +
}
 5907   8016   
 5908         -
pub(crate) mod v4 {
 5909         -
    use super::*;
        8017  +
/// A test from the common CRT test suite
        8018  +
#[derive(Debug, Clone)]
        8019  +
pub(crate) struct SigningSuiteTest {
        8020  +
    test_name: &'static str,
        8021  +
    collection: Collection,
        8022  +
}
 5910   8023   
 5911         -
    fn path(name: &str, ext: &str) -> String {
 5912         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        8024  +
impl SigningSuiteTest {
        8025  +
    /// Create a new test from the V4 test suite
        8026  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        8027  +
        Self {
        8028  +
            test_name,
        8029  +
            collection: Collection::V4,
 5913   8030   
        }
 5914         -
 5915         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 5916         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 5917         -
        read(&path(name, "creq")).trim().to_string()
 5918   8031   
    }
 5919   8032   
 5920         -
    pub(crate) fn test_sts(name: &str) -> String {
 5921         -
        read(&path(name, "sts"))
        8033  +
    /// Create a new test from the V4a test suite
        8034  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        8035  +
        Self {
        8036  +
            test_name,
        8037  +
            collection: Collection::V4A,
 5922   8038   
        }
 5923         -
 5924         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 5925         -
        test_parsed_request(name, "req")
 5926   8039   
    }
 5927   8040   
 5928         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 5929         -
        test_parsed_request(name, "sreq")
        8041  +
    /// Get the path to a file in this test suite directory
        8042  +
    fn path(&self, filename: &str) -> String {
        8043  +
        let dir = match self.collection {
        8044  +
            Collection::V4 => "v4",
        8045  +
            Collection::V4A => "v4a",
        8046  +
        };
        8047  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 5930   8048   
    }
 5931   8049   
 5932         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 5933         -
        test_parsed_request(name, "qpsreq")
        8050  +
    /// Get the HTTP request for the test
        8051  +
    pub(crate) fn request(&self) -> TestRequest {
        8052  +
        test_parsed_request(&self.path("request.txt"))
 5934   8053   
    }
 5935   8054   
 5936         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 5937         -
        let path = path(name, ext);
 5938         -
        match parse_request(read(&path).as_bytes()) {
 5939         -
            Ok(parsed) => parsed,
 5940         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        8055  +
    /// Get the signed HTTP request for the test
        8056  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        8057  +
        match signature_location {
        8058  +
            SignatureLocation::QueryParams => {
        8059  +
                test_parsed_request(&self.path("query-signed-request.txt"))
 5941   8060   
            }
        8061  +
            SignatureLocation::Headers => {
        8062  +
                test_parsed_request(&self.path("header-signed-request.txt"))
 5942   8063   
            }
 5943         -
 5944         -
    #[test]
 5945         -
    fn test_parse() {
 5946         -
        test_request("post-header-key-case");
 5947   8064   
        }
 5948         -
 5949         -
    #[test]
 5950         -
    fn test_read_query_params() {
 5951         -
        test_request("get-vanilla-query-order-key-case");
 5952   8065   
    }
 5953         -
}
 5954         -
 5955         -
#[cfg(feature = "sigv4a")]
 5956         -
pub(crate) mod v4a {
 5957         -
    use super::*;
 5958         -
    use crate::http_request::{
 5959         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 5960         -
    };
 5961         -
    use aws_credential_types::Credentials;
 5962         -
    use aws_smithy_runtime_api::client::identity::Identity;
 5963         -
    use serde_derive::Deserialize;
 5964         -
    use std::time::{Duration, SystemTime};
 5965         -
    use time::format_description::well_known::Rfc3339;
 5966         -
    use time::OffsetDateTime;
 5967   8066   
 5968         -
    fn path(test_name: &str, definition_name: &str) -> String {
 5969         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        8067  +
    /// Get the canonical request for the test
        8068  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        8069  +
        match signature_location {
        8070  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        8071  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
 5970   8072   
        }
 5971         -
 5972         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 5973         -
        test_parsed_request(&path(name, "request"))
 5974   8073   
    }
 5975   8074   
 5976         -
    pub(crate) fn test_canonical_request(
 5977         -
        name: &str,
 5978         -
        signature_location: SignatureLocation,
 5979         -
    ) -> String {
        8075  +
    /// Get the string to sign for the test
        8076  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
 5980   8077   
        match signature_location {
 5981         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 5982         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        8078  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        8079  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 5983   8080   
        }
 5984   8081   
    }
 5985   8082   
 5986         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
        8083  +
    /// Get the signature for the test
        8084  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
 5987   8085   
        match signature_location {
 5988         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 5989         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        8086  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        8087  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        8088  +
        }
 5990   8089   
    }
        8090  +
        8091  +
    /// Get the test context for the test
        8092  +
    pub(crate) fn context(&self) -> TestContext {
        8093  +
        let context = read(&self.path("context.json"));
        8094  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        8095  +
        tc_builder.build()
 5991   8096   
    }
        8097  +
}
 5992   8098   
 5993         -
    fn test_parsed_request(path: &str) -> TestRequest {
        8099  +
fn test_parsed_request(path: &str) -> TestRequest {
 5994   8100   
    match parse_request(read(path).as_bytes()) {
 5995   8101   
        Ok(parsed) => parsed,
 5996   8102   
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 5997   8103   
    }
 5998         -
    }
        8104  +
}
 5999   8105   
 6000         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 6001         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 6002         -
        let context = read(&path);
 6003         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 6004         -
        tc_builder.build()
 6005         -
    }
        8106  +
fn new_v4_signing_params_from_context(
        8107  +
    test_context: &'_ TestContext,
        8108  +
    signature_location: SignatureLocation,
        8109  +
) -> crate::http_request::SigningParams<'_> {
        8110  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        8111  +
    params.settings.signature_location = signature_location;
        8112  +
    params.into()
        8113  +
}
        8114  +
        8115  +
/// Run the given test from the v4 suite for both header and query
        8116  +
/// signature locations
        8117  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        8118  +
    run_v4_test(test_name, SignatureLocation::Headers);
        8119  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        8120  +
}
        8121  +
        8122  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        8123  +
    assert_eq!(expected.scheme(), actual.scheme());
        8124  +
    assert_eq!(expected.authority(), actual.authority());
        8125  +
    assert_eq!(expected.path(), actual.path());
        8126  +
        8127  +
    // query params may be out of order
        8128  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8129  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        8130  +
    expected_params.sort();
        8131  +
        8132  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8133  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        8134  +
    actual_params.sort();
        8135  +
        8136  +
    assert_eq!(expected_params, actual_params);
        8137  +
}
 6006   8138   
 6007         -
    pub(crate) struct TestContext {
        8139  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        8140  +
    let expected = expected.as_http_request();
        8141  +
    let actual = actual;
        8142  +
    assert_eq!(expected.method(), actual.method());
        8143  +
    assert_eq!(
        8144  +
        expected.headers().len(),
        8145  +
        actual.headers().len(),
        8146  +
        "extra or missing headers"
        8147  +
    );
        8148  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        8149  +
    assert_uri_eq(expected.uri(), actual.uri());
        8150  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        8151  +
}
        8152  +
        8153  +
/// Run the given test from the v4 suite for the given signature location
        8154  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        8155  +
    let test = SigningSuiteTest::v4(test_name);
        8156  +
    let tc = test.context();
        8157  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        8158  +
        8159  +
    let req = test.request();
        8160  +
    let expected_creq = test.canonical_request(signature_location);
        8161  +
    let signable_req = SignableRequest::from(&req);
        8162  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8163  +
        8164  +
    // check canonical request
        8165  +
    assert_eq!(
        8166  +
        expected_creq,
        8167  +
        actual_creq.to_string(),
        8168  +
        "canonical request didn't match (signature location: {signature_location:?})"
        8169  +
    );
        8170  +
        8171  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        8172  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8173  +
    let actual_string_to_sign = StringToSign::new_v4(
        8174  +
        *params.time(),
        8175  +
        params.region().unwrap(),
        8176  +
        params.name(),
        8177  +
        hashed_creq,
        8178  +
    )
        8179  +
    .to_string();
        8180  +
        8181  +
    // check string to sign
        8182  +
    assert_eq!(
        8183  +
        expected_string_to_sign, actual_string_to_sign,
        8184  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        8185  +
    );
        8186  +
        8187  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        8188  +
    let mut signed = req.as_http_request();
        8189  +
    out.output.apply_to_request_http0x(&mut signed);
        8190  +
        8191  +
    // check signature
        8192  +
    assert_eq!(
        8193  +
        test.signature(signature_location),
        8194  +
        out.signature,
        8195  +
        "signature didn't match (signature location: {signature_location:?})"
        8196  +
    );
        8197  +
        8198  +
    let expected = test.signed_request(signature_location);
        8199  +
    assert_requests_eq(expected, signed);
        8200  +
}
        8201  +
        8202  +
/// Test suite context.json
        8203  +
pub(crate) struct TestContext {
 6008   8204   
    pub(crate) identity: Identity,
 6009   8205   
    pub(crate) expiration_in_seconds: u64,
 6010   8206   
    pub(crate) normalize: bool,
 6011   8207   
    pub(crate) region: String,
 6012   8208   
    pub(crate) service: String,
 6013   8209   
    pub(crate) timestamp: String,
 6014   8210   
    pub(crate) omit_session_token: bool,
 6015   8211   
    pub(crate) sign_body: bool,
 6016         -
    }
 6017         -
 6018         -
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 6019         -
        fn from(tc: &'a TestContext) -> Self {
 6020         -
            crate::sign::v4a::SigningParams {
 6021         -
                identity: &tc.identity,
 6022         -
                region_set: &tc.region,
 6023         -
                name: &tc.service,
 6024         -
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 6025         -
                    .unwrap()
 6026         -
                    .into(),
 6027         -
                settings: SigningSettings {
 6028         -
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6029         -
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 6030         -
                    uri_path_normalization_mode: tc.normalize.into(),
 6031         -
                    session_token_mode: if tc.omit_session_token {
 6032         -
                        SessionTokenMode::Exclude
 6033         -
                    } else {
 6034         -
                        SessionTokenMode::Include
 6035         -
                    },
 6036         -
                    payload_checksum_kind: if tc.sign_body {
 6037         -
                        PayloadChecksumKind::XAmzSha256
 6038         -
                    } else {
 6039         -
                        PayloadChecksumKind::NoHeader
 6040         -
                    },
 6041         -
                    ..Default::default()
 6042         -
                },
 6043         -
            }
 6044         -
        }
 6045         -
    }
        8212  +
}
 6046   8213   
 6047         -
    // Serde has limitations requiring this odd workaround.
 6048         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 6049         -
    fn return_true() -> bool {
        8214  +
// Serde has limitations requiring this odd workaround.
        8215  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        8216  +
fn return_true() -> bool {
 6050   8217   
    true
 6051         -
    }
        8218  +
}
 6052   8219   
 6053         -
    #[derive(Deserialize)]
 6054         -
    pub(crate) struct TestContextBuilder {
        8220  +
#[derive(serde_derive::Deserialize)]
        8221  +
pub(crate) struct TestContextBuilder {
 6055   8222   
    credentials: TestContextCreds,
 6056   8223   
    expiration_in_seconds: u64,
 6057   8224   
    normalize: bool,
 6058   8225   
    region: String,
 6059   8226   
    service: String,
 6060   8227   
    timestamp: String,
 6061   8228   
    #[serde(default)]
 6062   8229   
    omit_session_token: bool,
 6063   8230   
    #[serde(default = "return_true")]
 6064   8231   
    sign_body: bool,
 6065         -
    }
        8232  +
}
 6066   8233   
 6067         -
    impl TestContextBuilder {
        8234  +
impl TestContextBuilder {
 6068   8235   
    pub(crate) fn build(self) -> TestContext {
 6069   8236   
        let identity = Identity::new(
 6070   8237   
            Credentials::from_keys(
 6071   8238   
                &self.credentials.access_key_id,
 6072   8239   
                &self.credentials.secret_access_key,
 6073   8240   
                self.credentials.token.clone(),
 6074   8241   
            ),
 6075   8242   
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 6076   8243   
        );
 6077   8244   
 6078   8245   
        TestContext {
 6079   8246   
            identity,
 6080   8247   
            expiration_in_seconds: self.expiration_in_seconds,
 6081   8248   
            normalize: self.normalize,
 6082   8249   
            region: self.region,
 6083   8250   
            service: self.service,
 6084   8251   
            timestamp: self.timestamp,
 6085   8252   
            omit_session_token: self.omit_session_token,
 6086   8253   
            sign_body: self.sign_body,
 6087   8254   
        }
 6088   8255   
    }
 6089         -
    }
        8256  +
}
 6090   8257   
 6091         -
    #[derive(Deserialize)]
 6092         -
    pub(crate) struct TestContextCreds {
        8258  +
#[derive(serde_derive::Deserialize)]
        8259  +
pub(crate) struct TestContextCreds {
 6093   8260   
    access_key_id: String,
 6094   8261   
    secret_access_key: String,
 6095   8262   
    token: Option<String>,
        8263  +
}
        8264  +
        8265  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        8266  +
    fn from(tc: &'a TestContext) -> Self {
        8267  +
        crate::sign::v4::SigningParams {
        8268  +
            identity: &tc.identity,
        8269  +
            region: &tc.region,
        8270  +
            name: &tc.service,
        8271  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8272  +
                .unwrap()
        8273  +
                .into(),
        8274  +
            settings: SigningSettings {
        8275  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8276  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8277  +
                uri_path_normalization_mode: tc.normalize.into(),
        8278  +
                session_token_mode: if tc.omit_session_token {
        8279  +
                    SessionTokenMode::Exclude
        8280  +
                } else {
        8281  +
                    SessionTokenMode::Include
        8282  +
                },
        8283  +
                payload_checksum_kind: if tc.sign_body {
        8284  +
                    PayloadChecksumKind::XAmzSha256
        8285  +
                } else {
        8286  +
                    PayloadChecksumKind::NoHeader
        8287  +
                },
        8288  +
                ..Default::default()
        8289  +
            },
        8290  +
        }
        8291  +
    }
        8292  +
}
        8293  +
        8294  +
#[cfg(feature = "sigv4a")]
        8295  +
pub(crate) mod v4a {
        8296  +
    use super::*;
        8297  +
    use crate::http_request::{
        8298  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        8299  +
    };
        8300  +
    use crate::sign::v4a;
        8301  +
    use p256::ecdsa::signature::{Signature, Verifier};
        8302  +
    use p256::ecdsa::{DerSignature, SigningKey};
        8303  +
    use std::time::Duration;
        8304  +
    use time::format_description::well_known::Rfc3339;
        8305  +
    use time::OffsetDateTime;
        8306  +
        8307  +
    fn new_v4a_signing_params_from_context(
        8308  +
        test_context: &'_ TestContext,
        8309  +
        signature_location: SignatureLocation,
        8310  +
    ) -> crate::http_request::SigningParams<'_> {
        8311  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        8312  +
        params.settings.signature_location = signature_location;
        8313  +
        params.into()
        8314  +
    }
        8315  +
        8316  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        8317  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        8318  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
        8319  +
    }
        8320  +
        8321  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        8322  +
        let test = SigningSuiteTest::v4a(test_name);
        8323  +
        let tc = test.context();
        8324  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        8325  +
        8326  +
        let req = test.request();
        8327  +
        let expected_creq = test.canonical_request(signature_location);
        8328  +
        let signable_req = SignableRequest::from(&req);
        8329  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8330  +
        8331  +
        assert_eq!(
        8332  +
            expected_creq,
        8333  +
            actual_creq.to_string(),
        8334  +
            "canonical request didn't match (signature location: {signature_location:?})"
        8335  +
        );
        8336  +
        8337  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        8338  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8339  +
        let actual_string_to_sign = StringToSign::new_v4a(
        8340  +
            *params.time(),
        8341  +
            params.region_set().unwrap(),
        8342  +
            params.name(),
        8343  +
            hashed_creq,
        8344  +
        )
        8345  +
        .to_string();
        8346  +
        8347  +
        assert_eq!(
        8348  +
            expected_string_to_sign, actual_string_to_sign,
        8349  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        8350  +
        );
        8351  +
        8352  +
        let out = sign(signable_req, &params).unwrap();
        8353  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        8354  +
        out.output
        8355  +
            .apply_to_request_http0x(&mut req.as_http_request());
        8356  +
        8357  +
        let creds = params.credentials().unwrap();
        8358  +
        let signing_key =
        8359  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        8360  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        8361  +
        let sig = sig
        8362  +
            .try_into()
        8363  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        8364  +
        8365  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        8366  +
        let peer_public_key = signing_key.verifying_key();
        8367  +
        let sts = actual_string_to_sign.as_bytes();
        8368  +
        peer_public_key.verify(sts, &sig).unwrap();
        8369  +
        // TODO(sigv4a) - use public.key.json as verifying key?
        8370  +
    }
        8371  +
        8372  +
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
        8373  +
        fn from(tc: &'a TestContext) -> Self {
        8374  +
            crate::sign::v4a::SigningParams {
        8375  +
                identity: &tc.identity,
        8376  +
                region_set: &tc.region,
        8377  +
                name: &tc.service,
        8378  +
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8379  +
                    .unwrap()
        8380  +
                    .into(),
        8381  +
                settings: SigningSettings {
        8382  +
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8383  +
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8384  +
                    uri_path_normalization_mode: tc.normalize.into(),
        8385  +
                    session_token_mode: if tc.omit_session_token {
        8386  +
                        SessionTokenMode::Exclude
        8387  +
                    } else {
        8388  +
                        SessionTokenMode::Include
        8389  +
                    },
        8390  +
                    payload_checksum_kind: if tc.sign_body {
        8391  +
                        PayloadChecksumKind::XAmzSha256
        8392  +
                    } else {
        8393  +
                        PayloadChecksumKind::NoHeader
        8394  +
                    },
        8395  +
                    ..Default::default()
        8396  +
                },
        8397  +
            }
        8398  +
        }
 6096   8399   
    }
 6097   8400   
 6098   8401   
    #[test]
 6099   8402   
    fn test_parse() {
 6100         -
        let req = test_request("post-header-key-case");
        8403  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 6101   8404   
        assert_eq!(req.method, "POST");
 6102   8405   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6103   8406   
        assert!(req.headers.is_empty());
 6104   8407   
    }
 6105   8408   
 6106   8409   
    #[test]
 6107   8410   
    fn test_read_query_params() {
 6108         -
        let req = test_request("get-header-value-trim");
        8411  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 6109   8412   
        assert_eq!(req.method, "GET");
 6110   8413   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6111   8414   
        assert!(!req.headers.is_empty());
 6112   8415   
    }
 6113   8416   
}
 6114   8417   
 6115   8418   
fn read(path: &str) -> String {
 6116   8419   
    println!("Loading `{}` for test case...", path);
 6117   8420   
    let v = {
 6118   8421   
        match std::fs::read_to_string(path) {
 6119   8422   
            // This replacement is necessary for tests to pass on Windows, as reading the
 6120   8423   
            // test snapshots from the file system results in CRLF line endings being inserted.
 6121   8424   
            Ok(value) => value.replace("\r\n", "\n"),
 6122   8425   
            Err(err) => {
 6123   8426   
                panic!("failed to load test case `{}`: {}", path, err);
 6124   8427   
            }
 6125   8428   
        }
 6126   8429   
    };
 6127   8430   
 6128   8431   
    v.trim().to_string()
 6129   8432   
}
 6130   8433   
 6131   8434   
pub(crate) struct TestRequest {
 6132   8435   
    pub(crate) uri: String,
 6133   8436   
    pub(crate) method: String,
 6134   8437   
    pub(crate) headers: Vec<(String, String)>,
 6135   8438   
    pub(crate) body: TestSignedBody,
 6136   8439   
}
 6137   8440   
 6138   8441   
pub(crate) enum TestSignedBody {
 6139   8442   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 6140   8443   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 6141   8444   
                    )
 6142   8445   
                })
 6143   8446   
                .collect::<Vec<_>>(),
 6144   8447   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 6145   8448   
        }
 6146   8449   
    }
 6147   8450   
}
 6148   8451   
 6149   8452   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 6150   8453   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 6151   8454   
        SignableRequest::new(
 6152   8455   
            &request.method,
 6153   8456   
            &request.uri,
 6154   8457   
            request
 6155   8458   
                .headers
 6156   8459   
                .iter()
 6157   8460   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 6158   8461   
            request.body.as_signable_body(),
 6159   8462   
        )
 6160   8463   
        .expect("URI MUST be valid")
 6161   8464   
    }
 6162   8465   
}
 6163   8466   
 6164   8467   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 6165   8468   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 6166   8469   
    // httparse 1.5 requires two trailing newlines to head the header section.
 6167   8470   
    let mut with_newline = Vec::from(s);
 6168   8471   
    with_newline.push(b'\n');
 6169   8472   
    let mut req = httparse::Request::new(&mut headers);
 6170         -
    let _ = req.parse(&with_newline).unwrap();
        8473  +
    let status = req.parse(&with_newline).unwrap();
        8474  +
        8475  +
    let body = if status.is_complete() {
        8476  +
        let body_offset = status.unwrap();
        8477  +
        // ignore the newline we added, take from original
        8478  +
        &s[body_offset..]
        8479  +
    } else {
        8480  +
        &[]
        8481  +
    };
 6171   8482   
 6172   8483   
    let mut uri_builder = Uri::builder().scheme("https");
 6173   8484   
    if let Some(path) = req.path {
 6174   8485   
        uri_builder = uri_builder.path_and_query(path);
 6175   8486   
    }
 6176   8487   
 6177   8488   
    let mut headers = vec![];
 6178   8489   
    for header in req.headers {
 6179   8490   
        let name = header.name.to_lowercase();
 6180   8491   
        if name == "host" {
 6181   8492   
            uri_builder = uri_builder.authority(header.value);
 6182   8493   
        } else if !name.is_empty() {
 6183   8494   
            headers.push((
 6184   8495   
                header.name.to_string(),
 6185   8496   
                std::str::from_utf8(header.value)?.to_string(),
 6186   8497   
            ));
 6187   8498   
        }
 6188   8499   
    }
 6189   8500   
 6190   8501   
    Ok(TestRequest {
 6191   8502   
        uri: uri_builder.build()?.to_string(),
 6192   8503   
        method: req.method.unwrap().to_string(),
 6193   8504   
        headers,
 6194         -
        body: TestSignedBody::Bytes(vec![]),
        8505  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 6195   8506   
    })
 6196   8507   
}
 6197   8508   
 6198   8509   
#[test]
 6199   8510   
fn test_parse_headers() {
 6200   8511   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 6201   8512   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 6202   8513   
    assert_eq!(
 6203   8514   
        httparse::parse_headers(buf, &mut headers),
 6204   8515   
        Ok(httparse::Status::Complete((
 6205   8516   
            56,
 6206   8517   
            &[
 6207   8518   
                httparse::Header {
 6208   8519   
                    name: "Host",
 6209   8520   
                    value: b"example.amazonaws.com",
 6210   8521   
                },
 6211   8522   
                httparse::Header {
 6212   8523   
                    name: "X-Amz-Date",
 6213   8524   
                    value: b"20150830T123600Z",
 6214   8525   
                }
 6215   8526   
            ][..]
 6216   8527   
        )))
 6217   8528   
    );
 6218   8529   
}
 6219   8530   
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
 6220   8531   
index a208453..fc00249 100644
 6221         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        8532  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 6222   8533   
@@ -168,52 +168,54 @@ pub mod signing_params {
 6223   8534   
        );
 6224   8535   
 6225   8536   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 6226   8537   
        /// a required argument was not given.
 6227   8538   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 6228   8539   
            Ok(SigningParams {
 6229   8540   
                identity: self
 6230   8541   
                    .identity
 6231   8542   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 6232   8543   
                region: self
 6233   8544   
                    .region
 6234   8545   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 6235   8546   
                name: self
 6236   8547   
                    .name
 6237   8548   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 6238   8549   
                time: self
 6239   8550   
                    .time
 6240   8551   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 6241   8552   
                settings: self
 6242   8553   
                    .settings
 6243   8554   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 6244   8555   
            })
 6245   8556   
        }
 6246   8557   
    }
 6247   8558   
}
 6248   8559   
 6249   8560   
#[cfg(test)]
 6250   8561   
mod tests {
 6251   8562   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 6252   8563   
    use crate::date_time::test_parsers::parse_date_time;
 6253         -
    use crate::http_request::test;
 6254   8564   
 6255   8565   
    #[test]
 6256   8566   
    fn test_signature_calculation() {
 6257   8567   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 6258         -
        let creq = test::v4::test_canonical_request("iam");
        8568  +
        let creq = r#"AWS4-HMAC-SHA256
        8569  +
20150830T123600Z
        8570  +
20150830/us-east-1/iam/aws4_request
        8571  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 6259   8572   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6260   8573   
 6261   8574   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 6262   8575   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 6263   8576   
 6264   8577   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 6265   8578   
        assert_eq!(expected, &signature);
 6266   8579   
    }
 6267   8580   
 6268   8581   
    #[test]
 6269   8582   
    fn sign_payload_empty_string() {
 6270   8583   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 6271   8584   
        let actual = sha256_hex_string([]);
 6272   8585   
        assert_eq!(expected, actual);
 6273   8586   
    }
 6274   8587   
}
 6275   8588   
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
 6276   8589   
index ce78c38..8c2f591 100644
 6277         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        8590  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 6278   8591   
@@ -1,43 +1,43 @@
 6279   8592   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6280   8593   
[package]
 6281   8594   
name = "aws-smithy-checksums"
 6282   8595   
version = "0.63.5"
 6283   8596   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 6284   8597   
description = "Checksum calculation and verification callbacks"
 6285   8598   
edition = "2021"
 6286   8599   
license = "Apache-2.0"
 6287   8600   
repository = "https://github.com/smithy-lang/smithy-rs"
 6288   8601   
[package.metadata.docs.rs]
 6289   8602   
all-features = true
 6290   8603   
targets = ["x86_64-unknown-linux-gnu"]
 6291   8604   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6292   8605   
rustdoc-args = ["--cfg", "docsrs"]
 6293   8606   
 6294   8607   
[dependencies]
 6295   8608   
bytes = "1.10.0"
 6296   8609   
crc-fast = "1.3.0"
 6297   8610   
hex = "0.4.3"
 6298   8611   
http = "0.2.9"
 6299   8612   
http-body = "0.4.5"
 6300   8613   
md-5 = "0.10"
 6301   8614   
pin-project-lite = "0.2.14"
 6302   8615   
sha1 = "0.10"
 6303   8616   
sha2 = "0.10"
 6304   8617   
tracing = "0.1.40"
 6305   8618   
 6306   8619   
[dependencies.aws-smithy-http]
 6307   8620   
path = "../aws-smithy-http"
 6308         -
version = "0.62.2"
        8621  +
version = "0.62.3"
 6309   8622   
 6310   8623   
[dependencies.aws-smithy-types]
 6311   8624   
path = "../aws-smithy-types"
 6312   8625   
version = "1.3.2"
 6313   8626   
 6314   8627   
[dev-dependencies]
 6315   8628   
bytes-utils = "0.1.2"
 6316   8629   
pretty_assertions = "1.3"
 6317   8630   
tracing-test = "0.2.1"
 6318   8631   
 6319   8632   
[dev-dependencies.tokio]
 6320   8633   
version = "1.23.1"
 6321   8634   
features = ["macros", "rt"]
 6322   8635   
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
 6323   8636   
index 970c99e..d3c7a49 100644
 6324         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        8637  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 6325   8638   
@@ -1,34 +1,34 @@
 6326   8639   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6327   8640   
[package]
 6328   8641   
name = "aws-smithy-http"
 6329         -
version = "0.62.2"
        8642  +
version = "0.62.3"
 6330   8643   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6331   8644   
description = "Smithy HTTP logic for smithy-rs."
 6332   8645   
edition = "2021"
 6333   8646   
license = "Apache-2.0"
 6334   8647   
repository = "https://github.com/smithy-lang/smithy-rs"
 6335   8648   
[package.metadata.docs.rs]
 6336   8649   
all-features = true
 6337   8650   
targets = ["x86_64-unknown-linux-gnu"]
 6338   8651   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6339   8652   
rustdoc-args = ["--cfg", "docsrs"]
 6340   8653   
 6341   8654   
[features]
 6342   8655   
event-stream = ["aws-smithy-eventstream"]
 6343   8656   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 6344   8657   
 6345   8658   
[dependencies]
 6346   8659   
bytes = "1.10.0"
 6347   8660   
bytes-utils = "0.1"
 6348   8661   
percent-encoding = "2.3.1"
 6349   8662   
pin-project-lite = "0.2.14"
 6350   8663   
pin-utils = "0.1.0"
 6351   8664   
tracing = "0.1.40"
 6352   8665   
futures-core = "0.3.31"
 6353   8666   
 6354   8667   
[dependencies.aws-smithy-eventstream]
 6355   8668   
path = "../aws-smithy-eventstream"
 6356   8669   
optional = true
 6357   8670   
version = "0.60.10"
 6358   8671   
 6359   8672   
[dependencies.aws-smithy-runtime-api]
 6360   8673   
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
 6361   8674   
index 508f7a2..361545e 100644
 6362         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        8675  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 6363   8676   
@@ -1,27 +1,27 @@
 6364   8677   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6365   8678   
[[bin]]
 6366   8679   
name = "read_many_from_str"
 6367   8680   
path = "fuzz_targets/read_many_from_str.rs"
 6368   8681   
test = false
 6369   8682   
doc = false
 6370   8683   
 6371   8684   
[package]
 6372   8685   
name = "aws-smithy-http-fuzz"
 6373   8686   
version = "0.0.0"
 6374   8687   
authors = ["Automatically generated"]
 6375   8688   
publish = false
 6376   8689   
edition = "2021"
 6377   8690   
 6378   8691   
[package.metadata]
 6379   8692   
cargo-fuzz = true
 6380   8693   
 6381   8694   
[dependencies]
 6382   8695   
libfuzzer-sys = "=0.4.7"
 6383   8696   
http = "0.2.3"
 6384   8697   
 6385   8698   
[dependencies.aws-smithy-http]
 6386   8699   
path = ".."
 6387         -
version = "0.62.2"
        8700  +
version = "0.62.3"
 6388   8701   
 6389   8702   
[workspace]
 6390   8703   
members = ["."]
 6391   8704   
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
 6392   8705   
index fef41d0..2792229 100644
 6393         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        8706  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 6394   8707   
@@ -25,68 +25,74 @@ impl QueryWriter {
 6395   8708   
    pub fn new(uri: &Uri) -> Self {
 6396   8709   
        let new_path_and_query = uri
 6397   8710   
            .path_and_query()
 6398   8711   
            .map(|pq| pq.to_string())
 6399   8712   
            .unwrap_or_default();
 6400   8713   
        let prefix = if uri.query().is_none() {
 6401   8714   
            Some('?')
 6402   8715   
        } else if !uri.query().unwrap_or_default().is_empty() {
 6403   8716   
            Some('&')
 6404   8717   
        } else {
 6405   8718   
            None
 6406   8719   
        };
 6407   8720   
        QueryWriter {
 6408   8721   
            base_uri: uri.clone(),
 6409   8722   
            new_path_and_query,
 6410   8723   
            prefix,
 6411   8724   
        }
 6412   8725   
    }
 6413   8726   
 6414   8727   
    /// Clears all query parameters.
 6415   8728   
    pub fn clear_params(&mut self) {
 6416   8729   
        if let Some(index) = self.new_path_and_query.find('?') {
 6417   8730   
            self.new_path_and_query.truncate(index);
 6418   8731   
            self.prefix = Some('?');
 6419   8732   
        }
 6420   8733   
    }
 6421   8734   
 6422   8735   
    /// Inserts a new query parameter. The key and value are percent encoded
 6423   8736   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 6424   8737   
    pub fn insert(&mut self, k: &str, v: &str) {
        8738  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        8739  +
    }
        8740  +
    
        8741  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        8742  +
    /// as is.
        8743  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 6425   8744   
        if let Some(prefix) = self.prefix {
 6426   8745   
            self.new_path_and_query.push(prefix);
 6427   8746   
        }
 6428   8747   
        self.prefix = Some('&');
 6429         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        8748  +
        self.new_path_and_query.push_str(encoded_k);
 6430   8749   
        self.new_path_and_query.push('=');
        8750  +
        self.new_path_and_query.push_str(encoded_v)
 6431   8751   
        
 6432         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
 6433   8752   
    }
 6434   8753   
 6435   8754   
    /// Returns just the built query string.
 6436   8755   
    pub fn build_query(self) -> String {
 6437   8756   
        self.build_uri().query().unwrap_or_default().to_string()
 6438   8757   
    }
 6439   8758   
 6440   8759   
    /// Returns a full [`Uri`] with the query string updated.
 6441   8760   
    pub fn build_uri(self) -> Uri {
 6442   8761   
        let mut parts = self.base_uri.into_parts();
 6443   8762   
        parts.path_and_query = Some(
 6444   8763   
            self.new_path_and_query
 6445   8764   
                .parse()
 6446   8765   
                .expect("adding query should not invalidate URI"),
 6447   8766   
        );
 6448   8767   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 6449   8768   
    }
 6450   8769   
}
 6451   8770   
 6452   8771   
#[cfg(test)]
 6453   8772   
mod test {
 6454   8773   
    use super::QueryWriter;
 6455   8774   
    use http_02x::Uri;
 6456   8775   
 6457   8776   
    #[test]
 6458   8777   
    fn empty_uri() {
 6459   8778   
        let uri = Uri::from_static("http://www.example.com");
 6460   8779   
        let mut query_writer = QueryWriter::new(&uri);
 6461   8780   
        query_writer.insert("key", "val%ue");
 6462   8781   
        query_writer.insert("another", "value");
 6463   8782   
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
 6464   8783   
index f108978..df7a9fe 100644
 6465         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
        8784  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 6466   8785   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 6467   8786   
 6468   8787   
[package.metadata.smithy-rs-release-tooling]
 6469   8788   
stable = true
 6470   8789   
[package.metadata.cargo-udeps.ignore]
 6471   8790   
normal = ["aws-smithy-http"]
 6472   8791   
 6473   8792   
[features]
 6474   8793   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 6475   8794   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 6476   8795   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 6477   8796   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 6478   8797   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 6479   8798   
rt-tokio = ["tokio/rt"]
 6480   8799   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 6481   8800   
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"]
 6482   8801   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 6483   8802   
 6484   8803   
[dependencies]
 6485   8804   
bytes = "1.10.0"
 6486   8805   
fastrand = "2.3.0"
 6487   8806   
pin-project-lite = "0.2.14"
 6488   8807   
pin-utils = "0.1.0"
 6489   8808   
tracing = "0.1.40"
 6490   8809   
 6491   8810   
[dependencies.aws-smithy-async]
 6492   8811   
path = "../aws-smithy-async"
 6493   8812   
version = "1.2.5"
 6494   8813   
 6495   8814   
[dependencies.aws-smithy-http]
 6496   8815   
path = "../aws-smithy-http"
 6497         -
version = "0.62.2"
        8816  +
version = "0.62.3"
 6498   8817   
 6499   8818   
[dependencies.aws-smithy-observability]
 6500   8819   
path = "../aws-smithy-observability"
 6501   8820   
version = "0.1.3"
 6502   8821   
 6503   8822   
[dependencies.aws-smithy-runtime-api]
 6504   8823   
path = "../aws-smithy-runtime-api"
 6505   8824   
version = "1.8.5"
 6506   8825   
 6507   8826   
[dependencies.aws-smithy-types]
 6508   8827   
path = "../aws-smithy-types"
 6509   8828   
features = ["http-body-0-4-x"]
 6510   8829   
version = "1.3.2"
 6511   8830   
 6512   8831   
[dependencies.aws-smithy-http-client]
 6513   8832   
path = "../aws-smithy-http-client"
 6514   8833   
optional = true
 6515   8834   
version = "1.0.6"
 6516   8835   
 6517   8836   
[dependencies.http-02x]
 6518   8837   
package = "http"
 6519   8838   
version = "0.2.9"
 6520   8839   
 6521   8840   
[dependencies.http-1x]
 6522   8841   
package = "http"
 6523   8842   
version = "1"
 6524   8843   
 6525   8844   
[dependencies.http-body-04x]
 6526   8845   
package = "http-body"
 6527   8846   
version = "0.4.5"
 6528   8847   
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
 6529   8848   
index 4e050c6..f58eb1c 100644
 6530         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
        8849  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 6531   8850   
@@ -1,33 +1,33 @@
 6532   8851   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6533   8852   
[package]
 6534   8853   
name = "aws-smithy-wasm"
 6535   8854   
version = "0.1.4"
 6536   8855   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 6537   8856   
description = "Smithy WebAssembly configuration for smithy-rs."
 6538   8857   
edition = "2021"
 6539   8858   
license = "Apache-2.0"
 6540   8859   
repository = "https://github.com/awslabs/smithy-rs"
 6541   8860   
[package.metadata.docs.rs]
 6542   8861   
all-features = true
 6543   8862   
targets = ["x86_64-unknown-linux-gnu"]
 6544   8863   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6545   8864   
rustdoc-args = ["--cfg", "docsrs"]
 6546   8865   
 6547   8866   
[dependencies]
 6548   8867   
bytes = "1.10.0"
 6549   8868   
http = "1.0.0"
 6550   8869   
tracing = "0.1.40"
 6551   8870   
wasi = "0.12.1"
 6552   8871   
 6553   8872   
[dependencies.aws-smithy-runtime-api]
 6554   8873   
path = "../aws-smithy-runtime-api"
 6555   8874   
features = ["http-1x"]
 6556   8875   
version = "1.8.5"
 6557   8876   
 6558   8877   
[dependencies.aws-smithy-http]
 6559   8878   
path = "../aws-smithy-http"
 6560         -
version = "0.62.2"
        8879  +
version = "0.62.3"
 6561   8880   
 6562   8881   
[dependencies.aws-smithy-types]
 6563   8882   
path = "../aws-smithy-types"
 6564   8883   
version = "1.3.2"
 6565   8884   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6566   8885   
index a880648..139e808 100644
 6567         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
        8886  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6568   8887   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 6569   8888   
edition = "2021"
 6570   8889   
license = "Apache-2.0"
 6571   8890   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6572   8891   
rust-version = "1.86.0"
 6573   8892   
readme = "README.md"
 6574   8893   
[package.metadata.smithy]
 6575   8894   
codegen-version = "ci"
 6576   8895   
[package.metadata.docs.rs]
 6577   8896   
all-features = true
 6578   8897   
targets = ["x86_64-unknown-linux-gnu"]
 6579   8898   
[dependencies.aws-credential-types]
 6580   8899   
path = "../aws-credential-types"
 6581   8900   
version = "1.2.4"
 6582   8901   
 6583   8902   
[dependencies.aws-runtime]
 6584   8903   
path = "../aws-runtime"
 6585   8904   
features = ["event-stream"]
 6586   8905   
version = "1.5.9"
 6587   8906   
 6588   8907   
[dependencies.aws-smithy-async]
 6589   8908   
path = "../aws-smithy-async"
 6590   8909   
version = "1.2.5"
 6591   8910   
 6592   8911   
[dependencies.aws-smithy-eventstream]
 6593   8912   
path = "../aws-smithy-eventstream"
 6594   8913   
version = "0.60.10"
 6595   8914   
 6596   8915   
[dependencies.aws-smithy-http]
 6597   8916   
path = "../aws-smithy-http"
 6598   8917   
features = ["event-stream"]
 6599         -
version = "0.62.2"
        8918  +
version = "0.62.3"
 6600   8919   
 6601   8920   
[dependencies.aws-smithy-json]
 6602   8921   
path = "../aws-smithy-json"
 6603   8922   
version = "0.61.4"
 6604   8923   
 6605   8924   
[dependencies.aws-smithy-runtime]
 6606   8925   
path = "../aws-smithy-runtime"
 6607   8926   
features = ["client"]
 6608   8927   
version = "1.8.5"
 6609   8928   
 6610   8929   
[dependencies.aws-smithy-runtime-api]
 6611   8930   
path = "../aws-smithy-runtime-api"
 6612   8931   
features = ["client", "http-02x"]
 6613   8932   
version = "1.8.5"
 6614   8933   
 6615   8934   
[dependencies.aws-smithy-types]
 6616   8935   
path = "../aws-smithy-types"
 6617   8936   
version = "1.3.2"
 6618   8937   
 6619   8938   
[dependencies.aws-types]
 6620   8939   
path = "../aws-types"
 6621   8940   
version = "1.3.8"
 6622   8941   
 6623   8942   
[dependencies.bytes]
 6624   8943   
version = "1.4.0"
 6625   8944   
 6626   8945   
[dependencies.fastrand]
 6627   8946   
version = "2.0.0"
 6628   8947   
 6629   8948   
[dependencies.http]
 6630   8949   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6631   8950   
index 415ecc9..667d12b 100644
 6632         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
        8951  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6633   8952   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 6634   8953   
edition = "2021"
 6635   8954   
license = "Apache-2.0"
 6636   8955   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6637   8956   
rust-version = "1.86.0"
 6638   8957   
readme = "README.md"
 6639   8958   
[package.metadata.smithy]
 6640   8959   
codegen-version = "ci"
 6641   8960   
[package.metadata.docs.rs]
 6642   8961   
all-features = true
 6643   8962   
targets = ["x86_64-unknown-linux-gnu"]
 6644   8963   
[dependencies.aws-credential-types]
 6645   8964   
path = "../aws-credential-types"
 6646   8965   
version = "1.2.4"
 6647   8966   
 6648   8967   
[dependencies.aws-runtime]
 6649   8968   
path = "../aws-runtime"
 6650   8969   
features = ["event-stream"]
 6651   8970   
version = "1.5.9"
 6652   8971   
 6653   8972   
[dependencies.aws-smithy-async]
 6654   8973   
path = "../aws-smithy-async"
 6655   8974   
version = "1.2.5"
 6656   8975   
 6657   8976   
[dependencies.aws-smithy-eventstream]
 6658   8977   
path = "../aws-smithy-eventstream"
 6659   8978   
version = "0.60.10"
 6660   8979   
 6661   8980   
[dependencies.aws-smithy-http]
 6662   8981   
path = "../aws-smithy-http"
 6663   8982   
features = ["event-stream"]
 6664         -
version = "0.62.2"
        8983  +
version = "0.62.3"
 6665   8984   
 6666   8985   
[dependencies.aws-smithy-json]
 6667   8986   
path = "../aws-smithy-json"
 6668   8987   
version = "0.61.4"
 6669   8988   
 6670   8989   
[dependencies.aws-smithy-runtime]
 6671   8990   
path = "../aws-smithy-runtime"
 6672   8991   
features = ["client"]
 6673   8992   
version = "1.8.5"
 6674   8993   
 6675   8994   
[dependencies.aws-smithy-runtime-api]
 6676   8995   
path = "../aws-smithy-runtime-api"
 6677   8996   
features = ["client", "http-02x"]
 6678   8997   
version = "1.8.5"
 6679   8998   
 6680   8999   
[dependencies.aws-smithy-types]
 6681   9000   
path = "../aws-smithy-types"
 6682   9001   
version = "1.3.2"
 6683   9002   
 6684   9003   
[dependencies.aws-types]
 6685   9004   
path = "../aws-types"
 6686   9005   
version = "1.3.8"
 6687   9006   
 6688   9007   
[dependencies.bytes]
 6689   9008   
version = "1.4.0"
 6690   9009   
 6691   9010   
[dependencies.fastrand]
 6692   9011   
version = "2.0.0"
 6693   9012   
 6694   9013   
[dependencies.http]
 6695   9014   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6696   9015   
index 8871cab..ed88de6 100644
 6697         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
        9016  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6698   9017   
@@ -1,61 +1,61 @@
 6699   9018   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6700   9019   
[package]
 6701   9020   
name = "aws-sdk-codecatalyst"
 6702   9021   
version = "0.0.0-local"
 6703   9022   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6704   9023   
description = "AWS SDK for Amazon CodeCatalyst"
 6705   9024   
edition = "2021"
 6706   9025   
license = "Apache-2.0"
 6707   9026   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6708   9027   
rust-version = "1.86.0"
 6709   9028   
readme = "README.md"
 6710   9029   
[package.metadata.smithy]
 6711   9030   
codegen-version = "ci"
 6712   9031   
[package.metadata.docs.rs]
 6713   9032   
all-features = true
 6714   9033   
targets = ["x86_64-unknown-linux-gnu"]
 6715   9034   
[dependencies.aws-credential-types]
 6716   9035   
path = "../aws-credential-types"
 6717   9036   
version = "1.2.4"
 6718   9037   
 6719   9038   
[dependencies.aws-runtime]
 6720   9039   
path = "../aws-runtime"
 6721   9040   
version = "1.5.9"
 6722   9041   
 6723   9042   
[dependencies.aws-smithy-async]
 6724   9043   
path = "../aws-smithy-async"
 6725   9044   
version = "1.2.5"
 6726   9045   
 6727   9046   
[dependencies.aws-smithy-http]
 6728   9047   
path = "../aws-smithy-http"
 6729         -
version = "0.62.2"
        9048  +
version = "0.62.3"
 6730   9049   
 6731   9050   
[dependencies.aws-smithy-json]
 6732   9051   
path = "../aws-smithy-json"
 6733   9052   
version = "0.61.4"
 6734   9053   
 6735   9054   
[dependencies.aws-smithy-runtime]
 6736   9055   
path = "../aws-smithy-runtime"
 6737   9056   
features = ["client", "http-auth"]
 6738   9057   
version = "1.8.5"
 6739   9058   
 6740   9059   
[dependencies.aws-smithy-runtime-api]
 6741   9060   
path = "../aws-smithy-runtime-api"
 6742   9061   
features = ["client", "http-02x", "http-auth"]
 6743   9062   
version = "1.8.5"
 6744   9063   
 6745   9064   
[dependencies.aws-smithy-types]
 6746   9065   
path = "../aws-smithy-types"
 6747   9066   
version = "1.3.2"
 6748   9067   
 6749   9068   
[dependencies.aws-types]
 6750   9069   
path = "../aws-types"
 6751   9070   
version = "1.3.8"
 6752   9071   
 6753   9072   
[dependencies.bytes]
 6754   9073   
version = "1.4.0"
 6755   9074   
 6756   9075   
[dependencies.fastrand]
 6757   9076   
version = "2.0.0"
 6758   9077   
 6759   9078   
[dependencies.http]
 6760   9079   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6761   9080   
index 89573ff..05238af 100644
 6762         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
        9081  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6763   9082   
@@ -1,61 +1,61 @@
 6764   9083   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6765   9084   
[package]
 6766   9085   
name = "aws-sdk-config"
 6767   9086   
version = "0.0.0-local"
 6768   9087   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6769   9088   
description = "AWS SDK for AWS Config"
 6770   9089   
edition = "2021"
 6771   9090   
license = "Apache-2.0"
 6772   9091   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6773   9092   
rust-version = "1.86.0"
 6774   9093   
readme = "README.md"
 6775   9094   
[package.metadata.smithy]
 6776   9095   
codegen-version = "ci"
 6777   9096   
[package.metadata.docs.rs]
 6778   9097   
all-features = true
 6779   9098   
targets = ["x86_64-unknown-linux-gnu"]
 6780   9099   
[dependencies.aws-credential-types]
 6781   9100   
path = "../aws-credential-types"
 6782   9101   
version = "1.2.4"
 6783   9102   
 6784   9103   
[dependencies.aws-runtime]
 6785   9104   
path = "../aws-runtime"
 6786   9105   
version = "1.5.9"
 6787   9106   
 6788   9107   
[dependencies.aws-smithy-async]
 6789   9108   
path = "../aws-smithy-async"
 6790   9109   
version = "1.2.5"
 6791   9110   
 6792   9111   
[dependencies.aws-smithy-http]
 6793   9112   
path = "../aws-smithy-http"
 6794         -
version = "0.62.2"
        9113  +
version = "0.62.3"
 6795   9114   
 6796   9115   
[dependencies.aws-smithy-json]
 6797   9116   
path = "../aws-smithy-json"
 6798   9117   
version = "0.61.4"
 6799   9118   
 6800   9119   
[dependencies.aws-smithy-runtime]
 6801   9120   
path = "../aws-smithy-runtime"
 6802   9121   
features = ["client"]
 6803   9122   
version = "1.8.5"
 6804   9123   
 6805   9124   
[dependencies.aws-smithy-runtime-api]
 6806   9125   
path = "../aws-smithy-runtime-api"
 6807   9126   
features = ["client", "http-02x"]
 6808   9127   
version = "1.8.5"
 6809   9128   
 6810   9129   
[dependencies.aws-smithy-types]
 6811   9130   
path = "../aws-smithy-types"
 6812   9131   
version = "1.3.2"
 6813   9132   
 6814   9133   
[dependencies.aws-types]
 6815   9134   
path = "../aws-types"
 6816   9135   
version = "1.3.8"
 6817   9136   
 6818   9137   
[dependencies.bytes]
 6819   9138   
version = "1.4.0"
 6820   9139   
 6821   9140   
[dependencies.fastrand]
 6822   9141   
version = "2.0.0"
 6823   9142   
 6824   9143   
[dependencies.http]
 6825   9144   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 6826   9145   
index d397c58..2c1062b 100644
 6827         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
        9146  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 6828   9147   
@@ -1,61 +1,61 @@
 6829   9148   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6830   9149   
[package]
 6831   9150   
name = "aws-sdk-dynamodb"
 6832   9151   
version = "0.0.0-local"
 6833   9152   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6834   9153   
description = "AWS SDK for Amazon DynamoDB"
 6835   9154   
edition = "2021"
 6836   9155   
license = "Apache-2.0"
 6837   9156   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6838   9157   
rust-version = "1.86.0"
 6839   9158   
readme = "README.md"
 6840   9159   
[package.metadata.smithy]
 6841   9160   
codegen-version = "ci"
 6842   9161   
[package.metadata.docs.rs]
 6843   9162   
all-features = true
 6844   9163   
targets = ["x86_64-unknown-linux-gnu"]
 6845   9164   
[dependencies.aws-credential-types]
 6846   9165   
path = "../aws-credential-types"
 6847   9166   
version = "1.2.4"
 6848   9167   
 6849   9168   
[dependencies.aws-runtime]
 6850   9169   
path = "../aws-runtime"
 6851   9170   
version = "1.5.9"
 6852   9171   
 6853   9172   
[dependencies.aws-smithy-async]
 6854   9173   
path = "../aws-smithy-async"
 6855   9174   
version = "1.2.5"
 6856   9175   
 6857   9176   
[dependencies.aws-smithy-http]
 6858   9177   
path = "../aws-smithy-http"
 6859         -
version = "0.62.2"
        9178  +
version = "0.62.3"
 6860   9179   
 6861   9180   
[dependencies.aws-smithy-json]
 6862   9181   
path = "../aws-smithy-json"
 6863   9182   
version = "0.61.4"
 6864   9183   
 6865   9184   
[dependencies.aws-smithy-runtime]
 6866   9185   
path = "../aws-smithy-runtime"
 6867   9186   
features = ["client"]
 6868   9187   
version = "1.8.5"
 6869   9188   
 6870   9189   
[dependencies.aws-smithy-runtime-api]
 6871   9190   
path = "../aws-smithy-runtime-api"
 6872   9191   
features = ["client", "http-02x"]
 6873   9192   
version = "1.8.5"
 6874   9193   
 6875   9194   
[dependencies.aws-smithy-types]
 6876   9195   
path = "../aws-smithy-types"
 6877   9196   
version = "1.3.2"
 6878   9197   
 6879   9198   
[dependencies.aws-types]
 6880   9199   
path = "../aws-types"
 6881   9200   
version = "1.3.8"
 6882   9201   
 6883   9202   
[dependencies.bytes]
 6884   9203   
version = "1.4.0"
 6885   9204   
 6886   9205   
[dependencies.fastrand]
 6887   9206   
version = "2.0.0"
 6888   9207   
 6889   9208   
[dependencies.http]
 6890   9209   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 6891   9210   
index c0ba315..46168af 100644
 6892         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
        9211  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 6893   9212   
@@ -1,61 +1,61 @@
 6894   9213   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6895   9214   
[package]
 6896   9215   
name = "aws-sdk-ec2"
 6897   9216   
version = "0.0.0-local"
 6898   9217   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6899   9218   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 6900   9219   
edition = "2021"
 6901   9220   
license = "Apache-2.0"
 6902   9221   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6903   9222   
rust-version = "1.86.0"
 6904   9223   
readme = "README.md"
 6905   9224   
[package.metadata.smithy]
 6906   9225   
codegen-version = "ci"
 6907   9226   
[package.metadata.docs.rs]
 6908   9227   
all-features = true
 6909   9228   
targets = ["x86_64-unknown-linux-gnu"]
 6910   9229   
[dependencies.aws-credential-types]
 6911   9230   
path = "../aws-credential-types"
 6912   9231   
version = "1.2.4"
 6913   9232   
 6914   9233   
[dependencies.aws-runtime]
 6915   9234   
path = "../aws-runtime"
 6916   9235   
version = "1.5.9"
 6917   9236   
 6918   9237   
[dependencies.aws-smithy-async]
 6919   9238   
path = "../aws-smithy-async"
 6920   9239   
version = "1.2.5"
 6921   9240   
 6922   9241   
[dependencies.aws-smithy-http]
 6923   9242   
path = "../aws-smithy-http"
 6924         -
version = "0.62.2"
        9243  +
version = "0.62.3"
 6925   9244   
 6926   9245   
[dependencies.aws-smithy-json]
 6927   9246   
path = "../aws-smithy-json"
 6928   9247   
version = "0.61.4"
 6929   9248   
 6930   9249   
[dependencies.aws-smithy-query]
 6931   9250   
path = "../aws-smithy-query"
 6932   9251   
version = "0.60.7"
 6933   9252   
 6934   9253   
[dependencies.aws-smithy-runtime]
 6935   9254   
path = "../aws-smithy-runtime"
 6936   9255   
features = ["client"]
 6937   9256   
version = "1.8.5"
 6938   9257   
 6939   9258   
[dependencies.aws-smithy-runtime-api]
 6940   9259   
path = "../aws-smithy-runtime-api"
 6941   9260   
features = ["client", "http-02x"]
 6942   9261   
version = "1.8.5"
 6943   9262   
 6944   9263   
[dependencies.aws-smithy-types]
 6945   9264   
path = "../aws-smithy-types"
 6946   9265   
version = "1.3.2"
 6947   9266   
 6948   9267   
[dependencies.aws-smithy-xml]
 6949   9268   
path = "../aws-smithy-xml"
 6950   9269   
version = "0.60.10"
 6951   9270   
 6952   9271   
[dependencies.aws-types]
 6953   9272   
path = "../aws-types"
 6954   9273   
version = "1.3.8"
 6955   9274   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 6956   9275   
index 4474d17..095d40e 100644
 6957         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
        9276  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 6958   9277   
@@ -1,61 +1,61 @@
 6959   9278   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6960   9279   
[package]
 6961   9280   
name = "aws-sdk-ecs"
 6962   9281   
version = "0.0.0-local"
 6963   9282   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6964   9283   
description = "AWS SDK for Amazon EC2 Container Service"
 6965   9284   
edition = "2021"
 6966   9285   
license = "Apache-2.0"
 6967   9286   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6968   9287   
rust-version = "1.86.0"
 6969   9288   
readme = "README.md"
 6970   9289   
[package.metadata.smithy]
 6971   9290   
codegen-version = "ci"
 6972   9291   
[package.metadata.docs.rs]
 6973   9292   
all-features = true
 6974   9293   
targets = ["x86_64-unknown-linux-gnu"]
 6975   9294   
[dependencies.aws-credential-types]
 6976   9295   
path = "../aws-credential-types"
 6977   9296   
version = "1.2.4"
 6978   9297   
 6979   9298   
[dependencies.aws-runtime]
 6980   9299   
path = "../aws-runtime"
 6981   9300   
version = "1.5.9"
 6982   9301   
 6983   9302   
[dependencies.aws-smithy-async]
 6984   9303   
path = "../aws-smithy-async"
 6985   9304   
version = "1.2.5"
 6986   9305   
 6987   9306   
[dependencies.aws-smithy-http]
 6988   9307   
path = "../aws-smithy-http"
 6989         -
version = "0.62.2"
        9308  +
version = "0.62.3"
 6990   9309   
 6991   9310   
[dependencies.aws-smithy-json]
 6992   9311   
path = "../aws-smithy-json"
 6993   9312   
version = "0.61.4"
 6994   9313   
 6995   9314   
[dependencies.aws-smithy-runtime]
 6996   9315   
path = "../aws-smithy-runtime"
 6997   9316   
features = ["client"]
 6998   9317   
version = "1.8.5"
 6999   9318   
 7000   9319   
[dependencies.aws-smithy-runtime-api]
 7001   9320   
path = "../aws-smithy-runtime-api"
 7002   9321   
features = ["client", "http-02x"]
 7003   9322   
version = "1.8.5"
 7004   9323   
 7005   9324   
[dependencies.aws-smithy-types]
 7006   9325   
path = "../aws-smithy-types"
 7007   9326   
version = "1.3.2"
 7008   9327   
 7009   9328   
[dependencies.aws-types]
 7010   9329   
path = "../aws-types"
 7011   9330   
version = "1.3.8"
 7012   9331   
 7013   9332   
[dependencies.bytes]
 7014   9333   
version = "1.4.0"
 7015   9334   
 7016   9335   
[dependencies.fastrand]
 7017   9336   
version = "2.0.0"
 7018   9337   
 7019   9338   
[dependencies.http]
 7020   9339   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7021   9340   
index 15b1d77..16d7d89 100644
 7022         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
        9341  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7023   9342   
@@ -1,65 +1,65 @@
 7024   9343   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7025   9344   
[package]
 7026   9345   
name = "aws-sdk-glacier"
 7027   9346   
version = "0.0.0-local"
 7028   9347   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7029   9348   
description = "AWS SDK for Amazon Glacier"
 7030   9349   
edition = "2021"
 7031   9350   
license = "Apache-2.0"
 7032   9351   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7033   9352   
rust-version = "1.86.0"
 7034   9353   
readme = "README.md"
 7035   9354   
[package.metadata.smithy]
 7036   9355   
codegen-version = "ci"
 7037   9356   
[package.metadata.docs.rs]
 7038   9357   
all-features = true
 7039   9358   
targets = ["x86_64-unknown-linux-gnu"]
 7040   9359   
[dependencies.aws-credential-types]
 7041   9360   
path = "../aws-credential-types"
 7042   9361   
version = "1.2.4"
 7043   9362   
 7044   9363   
[dependencies.aws-runtime]
 7045   9364   
path = "../aws-runtime"
 7046   9365   
version = "1.5.9"
 7047   9366   
 7048   9367   
[dependencies.aws-sigv4]
 7049   9368   
path = "../aws-sigv4"
 7050         -
version = "1.3.3"
        9369  +
version = "1.3.4"
 7051   9370   
 7052   9371   
[dependencies.aws-smithy-async]
 7053   9372   
path = "../aws-smithy-async"
 7054   9373   
version = "1.2.5"
 7055   9374   
 7056   9375   
[dependencies.aws-smithy-http]
 7057   9376   
path = "../aws-smithy-http"
 7058         -
version = "0.62.2"
        9377  +
version = "0.62.3"
 7059   9378   
 7060   9379   
[dependencies.aws-smithy-json]
 7061   9380   
path = "../aws-smithy-json"
 7062   9381   
version = "0.61.4"
 7063   9382   
 7064   9383   
[dependencies.aws-smithy-runtime]
 7065   9384   
path = "../aws-smithy-runtime"
 7066   9385   
features = ["client"]
 7067   9386   
version = "1.8.5"
 7068   9387   
 7069   9388   
[dependencies.aws-smithy-runtime-api]
 7070   9389   
path = "../aws-smithy-runtime-api"
 7071   9390   
features = ["client", "http-02x"]
 7072   9391   
version = "1.8.5"
 7073   9392   
 7074   9393   
[dependencies.aws-smithy-types]
 7075   9394   
path = "../aws-smithy-types"
 7076   9395   
version = "1.3.2"
 7077   9396   
 7078   9397   
[dependencies.aws-types]
 7079   9398   
path = "../aws-types"
 7080   9399   
version = "1.3.8"
 7081   9400   
 7082   9401   
[dependencies.bytes]
 7083   9402   
version = "1.4.0"
 7084   9403   
 7085   9404   
[dependencies.fastrand]
 7086   9405   
version = "2.0.0"
 7087   9406   
 7088   9407   
[dependencies.hex]
 7089   9408   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7090   9409   
index d718a3a..65e6f24 100644
 7091         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
        9410  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7092   9411   
@@ -1,61 +1,61 @@
 7093   9412   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7094   9413   
[package]
 7095   9414   
name = "aws-sdk-iam"
 7096   9415   
version = "0.0.0-local"
 7097   9416   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7098   9417   
description = "AWS SDK for AWS Identity and Access Management"
 7099   9418   
edition = "2021"
 7100   9419   
license = "Apache-2.0"
 7101   9420   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7102   9421   
rust-version = "1.86.0"
 7103   9422   
readme = "README.md"
 7104   9423   
[package.metadata.smithy]
 7105   9424   
codegen-version = "ci"
 7106   9425   
[package.metadata.docs.rs]
 7107   9426   
all-features = true
 7108   9427   
targets = ["x86_64-unknown-linux-gnu"]
 7109   9428   
[dependencies.aws-credential-types]
 7110   9429   
path = "../aws-credential-types"
 7111   9430   
version = "1.2.4"
 7112   9431   
 7113   9432   
[dependencies.aws-runtime]
 7114   9433   
path = "../aws-runtime"
 7115   9434   
version = "1.5.9"
 7116   9435   
 7117   9436   
[dependencies.aws-smithy-async]
 7118   9437   
path = "../aws-smithy-async"
 7119   9438   
version = "1.2.5"
 7120   9439   
 7121   9440   
[dependencies.aws-smithy-http]
 7122   9441   
path = "../aws-smithy-http"
 7123         -
version = "0.62.2"
        9442  +
version = "0.62.3"
 7124   9443   
 7125   9444   
[dependencies.aws-smithy-json]
 7126   9445   
path = "../aws-smithy-json"
 7127   9446   
version = "0.61.4"
 7128   9447   
 7129   9448   
[dependencies.aws-smithy-query]
 7130   9449   
path = "../aws-smithy-query"
 7131   9450   
version = "0.60.7"
 7132   9451   
 7133   9452   
[dependencies.aws-smithy-runtime]
 7134   9453   
path = "../aws-smithy-runtime"
 7135   9454   
features = ["client"]
 7136   9455   
version = "1.8.5"
 7137   9456   
 7138   9457   
[dependencies.aws-smithy-runtime-api]
 7139   9458   
path = "../aws-smithy-runtime-api"
 7140   9459   
features = ["client", "http-02x"]
 7141   9460   
version = "1.8.5"
 7142   9461   
 7143   9462   
[dependencies.aws-smithy-types]
 7144   9463   
path = "../aws-smithy-types"
 7145   9464   
version = "1.3.2"
 7146   9465   
 7147   9466   
[dependencies.aws-smithy-xml]
 7148   9467   
path = "../aws-smithy-xml"
 7149   9468   
version = "0.60.10"
 7150   9469   
 7151   9470   
[dependencies.aws-types]
 7152   9471   
path = "../aws-types"
 7153   9472   
version = "1.3.8"
 7154   9473   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7155   9474   
index 0ed4302..3d828a5 100644
 7156         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
        9475  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7157   9476   
@@ -1,61 +1,61 @@
 7158   9477   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7159   9478   
[package]
 7160   9479   
name = "aws-sdk-kms"
 7161   9480   
version = "0.0.0-local"
 7162   9481   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7163   9482   
description = "AWS SDK for AWS Key Management Service"
 7164   9483   
edition = "2021"
 7165   9484   
license = "Apache-2.0"
 7166   9485   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7167   9486   
rust-version = "1.86.0"
 7168   9487   
readme = "README.md"
 7169   9488   
[package.metadata.smithy]
 7170   9489   
codegen-version = "ci"
 7171   9490   
[package.metadata.docs.rs]
 7172   9491   
all-features = true
 7173   9492   
targets = ["x86_64-unknown-linux-gnu"]
 7174   9493   
[dependencies.aws-credential-types]
 7175   9494   
path = "../aws-credential-types"
 7176   9495   
version = "1.2.4"
 7177   9496   
 7178   9497   
[dependencies.aws-runtime]
 7179   9498   
path = "../aws-runtime"
 7180   9499   
version = "1.5.9"
 7181   9500   
 7182   9501   
[dependencies.aws-smithy-async]
 7183   9502   
path = "../aws-smithy-async"
 7184   9503   
version = "1.2.5"
 7185   9504   
 7186   9505   
[dependencies.aws-smithy-http]
 7187   9506   
path = "../aws-smithy-http"
 7188         -
version = "0.62.2"
        9507  +
version = "0.62.3"
 7189   9508   
 7190   9509   
[dependencies.aws-smithy-json]
 7191   9510   
path = "../aws-smithy-json"
 7192   9511   
version = "0.61.4"
 7193   9512   
 7194   9513   
[dependencies.aws-smithy-runtime]
 7195   9514   
path = "../aws-smithy-runtime"
 7196   9515   
features = ["client"]
 7197   9516   
version = "1.8.5"
 7198   9517   
 7199   9518   
[dependencies.aws-smithy-runtime-api]
 7200   9519   
path = "../aws-smithy-runtime-api"
 7201   9520   
features = ["client", "http-02x"]
 7202   9521   
version = "1.8.5"
 7203   9522   
 7204   9523   
[dependencies.aws-smithy-types]
 7205   9524   
path = "../aws-smithy-types"
 7206   9525   
version = "1.3.2"
 7207   9526   
 7208   9527   
[dependencies.aws-types]
 7209   9528   
path = "../aws-types"
 7210   9529   
version = "1.3.8"
 7211   9530   
 7212   9531   
[dependencies.bytes]
 7213   9532   
version = "1.4.0"
 7214   9533   
 7215   9534   
[dependencies.fastrand]
 7216   9535   
version = "2.0.0"
 7217   9536   
 7218   9537   
[dependencies.http]
 7219   9538   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7220   9539   
index 6518dfc..6b94752 100644
 7221         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
        9540  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7222   9541   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 7223   9542   
edition = "2021"
 7224   9543   
license = "Apache-2.0"
 7225   9544   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7226   9545   
rust-version = "1.86.0"
 7227   9546   
readme = "README.md"
 7228   9547   
[package.metadata.smithy]
 7229   9548   
codegen-version = "ci"
 7230   9549   
[package.metadata.docs.rs]
 7231   9550   
all-features = true
 7232   9551   
targets = ["x86_64-unknown-linux-gnu"]
 7233   9552   
[dependencies.aws-credential-types]
 7234   9553   
path = "../aws-credential-types"
 7235   9554   
version = "1.2.4"
 7236   9555   
 7237   9556   
[dependencies.aws-runtime]
 7238   9557   
path = "../aws-runtime"
 7239   9558   
features = ["event-stream"]
 7240   9559   
version = "1.5.9"
 7241   9560   
 7242   9561   
[dependencies.aws-smithy-async]
 7243   9562   
path = "../aws-smithy-async"
 7244   9563   
version = "1.2.5"
 7245   9564   
 7246   9565   
[dependencies.aws-smithy-eventstream]
 7247   9566   
path = "../aws-smithy-eventstream"
 7248   9567   
version = "0.60.10"
 7249   9568   
 7250   9569   
[dependencies.aws-smithy-http]
 7251   9570   
path = "../aws-smithy-http"
 7252   9571   
features = ["event-stream"]
 7253         -
version = "0.62.2"
        9572  +
version = "0.62.3"
 7254   9573   
 7255   9574   
[dependencies.aws-smithy-json]
 7256   9575   
path = "../aws-smithy-json"
 7257   9576   
version = "0.61.4"
 7258   9577   
 7259   9578   
[dependencies.aws-smithy-runtime]
 7260   9579   
path = "../aws-smithy-runtime"
 7261   9580   
features = ["client"]
 7262   9581   
version = "1.8.5"
 7263   9582   
 7264   9583   
[dependencies.aws-smithy-runtime-api]
 7265   9584   
path = "../aws-smithy-runtime-api"
 7266   9585   
features = ["client", "http-02x"]
 7267   9586   
version = "1.8.5"
 7268   9587   
 7269   9588   
[dependencies.aws-smithy-types]
 7270   9589   
path = "../aws-smithy-types"
 7271   9590   
version = "1.3.2"
 7272   9591   
 7273   9592   
[dependencies.aws-types]
 7274   9593   
path = "../aws-types"
 7275   9594   
version = "1.3.8"
 7276   9595   
 7277   9596   
[dependencies.bytes]
 7278   9597   
version = "1.4.0"
 7279   9598   
 7280   9599   
[dependencies.fastrand]
 7281   9600   
version = "2.0.0"
 7282   9601   
 7283   9602   
[dependencies.http]
 7284   9603   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7285   9604   
index dabb0e0..34cbc15 100644
 7286         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
        9605  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7287   9606   
@@ -1,65 +1,65 @@
 7288   9607   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7289   9608   
[package]
 7290   9609   
name = "aws-sdk-polly"
 7291   9610   
version = "0.0.0-local"
 7292   9611   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7293   9612   
description = "AWS SDK for Amazon Polly"
 7294   9613   
edition = "2021"
 7295   9614   
license = "Apache-2.0"
 7296   9615   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7297   9616   
rust-version = "1.86.0"
 7298   9617   
readme = "README.md"
 7299   9618   
[package.metadata.smithy]
 7300   9619   
codegen-version = "ci"
 7301   9620   
[package.metadata.docs.rs]
 7302   9621   
all-features = true
 7303   9622   
targets = ["x86_64-unknown-linux-gnu"]
 7304   9623   
[dependencies.aws-credential-types]
 7305   9624   
path = "../aws-credential-types"
 7306   9625   
version = "1.2.4"
 7307   9626   
 7308   9627   
[dependencies.aws-runtime]
 7309   9628   
path = "../aws-runtime"
 7310   9629   
version = "1.5.9"
 7311   9630   
 7312   9631   
[dependencies.aws-sigv4]
 7313   9632   
path = "../aws-sigv4"
 7314         -
version = "1.3.3"
        9633  +
version = "1.3.4"
 7315   9634   
 7316   9635   
[dependencies.aws-smithy-async]
 7317   9636   
path = "../aws-smithy-async"
 7318   9637   
version = "1.2.5"
 7319   9638   
 7320   9639   
[dependencies.aws-smithy-http]
 7321   9640   
path = "../aws-smithy-http"
 7322         -
version = "0.62.2"
        9641  +
version = "0.62.3"
 7323   9642   
 7324   9643   
[dependencies.aws-smithy-json]
 7325   9644   
path = "../aws-smithy-json"
 7326   9645   
version = "0.61.4"
 7327   9646   
 7328   9647   
[dependencies.aws-smithy-runtime]
 7329   9648   
path = "../aws-smithy-runtime"
 7330   9649   
features = ["client"]
 7331   9650   
version = "1.8.5"
 7332   9651   
 7333   9652   
[dependencies.aws-smithy-runtime-api]
 7334   9653   
path = "../aws-smithy-runtime-api"
 7335   9654   
features = ["client", "http-02x"]
 7336   9655   
version = "1.8.5"
 7337   9656   
 7338   9657   
[dependencies.aws-smithy-types]
 7339   9658   
path = "../aws-smithy-types"
 7340   9659   
version = "1.3.2"
 7341   9660   
 7342   9661   
[dependencies.aws-types]
 7343   9662   
path = "../aws-types"
 7344   9663   
version = "1.3.8"
 7345   9664   
 7346   9665   
[dependencies.bytes]
 7347   9666   
version = "1.4.0"
 7348   9667   
 7349   9668   
[dependencies.fastrand]
 7350   9669   
version = "2.0.0"
 7351   9670   
 7352   9671   
[dependencies.http]
 7353   9672   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7354   9673   
index a884716..f3d8713 100644
 7355         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
        9674  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7356   9675   
@@ -1,61 +1,61 @@
 7357   9676   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7358   9677   
[package]
 7359   9678   
name = "aws-sdk-qldbsession"
 7360   9679   
version = "0.0.0-local"
 7361   9680   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7362   9681   
description = "AWS SDK for Amazon QLDB Session"
 7363   9682   
edition = "2021"
 7364   9683   
license = "Apache-2.0"
 7365   9684   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7366   9685   
rust-version = "1.86.0"
 7367   9686   
readme = "README.md"
 7368   9687   
[package.metadata.smithy]
 7369   9688   
codegen-version = "ci"
 7370   9689   
[package.metadata.docs.rs]
 7371   9690   
all-features = true
 7372   9691   
targets = ["x86_64-unknown-linux-gnu"]
 7373   9692   
[dependencies.aws-credential-types]
 7374   9693   
path = "../aws-credential-types"
 7375   9694   
version = "1.2.4"
 7376   9695   
 7377   9696   
[dependencies.aws-runtime]
 7378   9697   
path = "../aws-runtime"
 7379   9698   
version = "1.5.9"
 7380   9699   
 7381   9700   
[dependencies.aws-smithy-async]
 7382   9701   
path = "../aws-smithy-async"
 7383   9702   
version = "1.2.5"
 7384   9703   
 7385   9704   
[dependencies.aws-smithy-http]
 7386   9705   
path = "../aws-smithy-http"
 7387         -
version = "0.62.2"
        9706  +
version = "0.62.3"
 7388   9707   
 7389   9708   
[dependencies.aws-smithy-json]
 7390   9709   
path = "../aws-smithy-json"
 7391   9710   
version = "0.61.4"
 7392   9711   
 7393   9712   
[dependencies.aws-smithy-runtime]
 7394   9713   
path = "../aws-smithy-runtime"
 7395   9714   
features = ["client"]
 7396   9715   
version = "1.8.5"
 7397   9716   
 7398   9717   
[dependencies.aws-smithy-runtime-api]
 7399   9718   
path = "../aws-smithy-runtime-api"
 7400   9719   
features = ["client", "http-02x"]
 7401   9720   
version = "1.8.5"
 7402   9721   
 7403   9722   
[dependencies.aws-smithy-types]
 7404   9723   
path = "../aws-smithy-types"
 7405   9724   
version = "1.3.2"
 7406   9725   
 7407   9726   
[dependencies.aws-types]
 7408   9727   
path = "../aws-types"
 7409   9728   
version = "1.3.8"
 7410   9729   
 7411   9730   
[dependencies.bytes]
 7412   9731   
version = "1.4.0"
 7413   9732   
 7414   9733   
[dependencies.fastrand]
 7415   9734   
version = "2.0.0"
 7416   9735   
 7417   9736   
[dependencies.http]
 7418   9737   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7419   9738   
index 32a7dc9..a2c752d 100644
 7420         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
        9739  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7421   9740   
@@ -1,61 +1,61 @@
 7422   9741   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7423   9742   
[package]
 7424   9743   
name = "aws-sdk-route53"
 7425   9744   
version = "0.0.0-local"
 7426   9745   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7427   9746   
description = "AWS SDK for Amazon Route 53"
 7428   9747   
edition = "2021"
 7429   9748   
license = "Apache-2.0"
 7430   9749   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7431   9750   
rust-version = "1.86.0"
 7432   9751   
readme = "README.md"
 7433   9752   
[package.metadata.smithy]
 7434   9753   
codegen-version = "ci"
 7435   9754   
[package.metadata.docs.rs]
 7436   9755   
all-features = true
 7437   9756   
targets = ["x86_64-unknown-linux-gnu"]
 7438   9757   
[dependencies.aws-credential-types]
 7439   9758   
path = "../aws-credential-types"
 7440   9759   
version = "1.2.4"
 7441   9760   
 7442   9761   
[dependencies.aws-runtime]
 7443   9762   
path = "../aws-runtime"
 7444   9763   
version = "1.5.9"
 7445   9764   
 7446   9765   
[dependencies.aws-smithy-async]
 7447   9766   
path = "../aws-smithy-async"
 7448   9767   
version = "1.2.5"
 7449   9768   
 7450   9769   
[dependencies.aws-smithy-http]
 7451   9770   
path = "../aws-smithy-http"
 7452         -
version = "0.62.2"
        9771  +
version = "0.62.3"
 7453   9772   
 7454   9773   
[dependencies.aws-smithy-json]
 7455   9774   
path = "../aws-smithy-json"
 7456   9775   
version = "0.61.4"
 7457   9776   
 7458   9777   
[dependencies.aws-smithy-runtime]
 7459   9778   
path = "../aws-smithy-runtime"
 7460   9779   
features = ["client"]
 7461   9780   
version = "1.8.5"
 7462   9781   
 7463   9782   
[dependencies.aws-smithy-runtime-api]
 7464   9783   
path = "../aws-smithy-runtime-api"
 7465   9784   
features = ["client", "http-02x"]
 7466   9785   
version = "1.8.5"
 7467   9786   
 7468   9787   
[dependencies.aws-smithy-types]
 7469   9788   
path = "../aws-smithy-types"
 7470   9789   
version = "1.3.2"
 7471   9790   
 7472   9791   
[dependencies.aws-smithy-xml]
 7473   9792   
path = "../aws-smithy-xml"
 7474   9793   
version = "0.60.10"
 7475   9794   
 7476   9795   
[dependencies.aws-types]
 7477   9796   
path = "../aws-types"
 7478   9797   
version = "1.3.8"
 7479   9798   
 7480   9799   
[dependencies.fastrand]
 7481   9800   
version = "2.0.0"
 7482   9801   
 7483   9802   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7484   9803   
index f65e261..2f6bec0 100644
 7485         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
        9804  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7486   9805   
@@ -1,75 +1,75 @@
 7487   9806   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7488   9807   
[package]
 7489   9808   
name = "aws-sdk-s3"
 7490   9809   
version = "0.0.0-local"
 7491   9810   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7492   9811   
description = "AWS SDK for Amazon Simple Storage Service"
 7493   9812   
edition = "2021"
 7494   9813   
license = "Apache-2.0"
 7495   9814   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7496   9815   
rust-version = "1.86.0"
 7497   9816   
readme = "README.md"
 7498   9817   
[package.metadata.smithy]
 7499   9818   
codegen-version = "ci"
 7500   9819   
[package.metadata.docs.rs]
 7501   9820   
all-features = true
 7502   9821   
targets = ["x86_64-unknown-linux-gnu"]
 7503   9822   
[dependencies.aws-credential-types]
 7504   9823   
path = "../aws-credential-types"
 7505   9824   
version = "1.2.4"
 7506   9825   
 7507   9826   
[dependencies.aws-runtime]
 7508   9827   
path = "../aws-runtime"
 7509   9828   
features = ["event-stream", "http-02x"]
 7510   9829   
version = "1.5.9"
 7511   9830   
 7512   9831   
[dependencies.aws-sigv4]
 7513   9832   
path = "../aws-sigv4"
 7514         -
version = "1.3.3"
        9833  +
version = "1.3.4"
 7515   9834   
 7516   9835   
[dependencies.aws-smithy-async]
 7517   9836   
path = "../aws-smithy-async"
 7518   9837   
version = "1.2.5"
 7519   9838   
 7520   9839   
[dependencies.aws-smithy-checksums]
 7521   9840   
path = "../aws-smithy-checksums"
 7522   9841   
version = "0.63.5"
 7523   9842   
 7524   9843   
[dependencies.aws-smithy-eventstream]
 7525   9844   
path = "../aws-smithy-eventstream"
 7526   9845   
version = "0.60.10"
 7527   9846   
 7528   9847   
[dependencies.aws-smithy-http]
 7529   9848   
path = "../aws-smithy-http"
 7530   9849   
features = ["event-stream"]
 7531         -
version = "0.62.2"
        9850  +
version = "0.62.3"
 7532   9851   
 7533   9852   
[dependencies.aws-smithy-json]
 7534   9853   
path = "../aws-smithy-json"
 7535   9854   
version = "0.61.4"
 7536   9855   
 7537   9856   
[dependencies.aws-smithy-runtime]
 7538   9857   
path = "../aws-smithy-runtime"
 7539   9858   
features = ["client"]
 7540   9859   
version = "1.8.5"
 7541   9860   
 7542   9861   
[dependencies.aws-smithy-runtime-api]
 7543   9862   
path = "../aws-smithy-runtime-api"
 7544   9863   
features = ["client", "http-02x"]
 7545   9864   
version = "1.8.5"
 7546   9865   
 7547   9866   
[dependencies.aws-smithy-types]
 7548   9867   
path = "../aws-smithy-types"
 7549   9868   
version = "1.3.2"
 7550   9869   
 7551   9870   
[dependencies.aws-smithy-xml]
 7552   9871   
path = "../aws-smithy-xml"
 7553   9872   
version = "0.60.10"
 7554   9873   
 7555   9874   
[dependencies.aws-types]
 7556   9875   
path = "../aws-types"
 7557   9876   
version = "1.3.8"
 7558   9877   
 7559   9878   
[dependencies.bytes]
 7560   9879   
version = "1.4.0"
 7561   9880   
 7562   9881   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7563   9882   
index b4d1cdd..861c0cc 100644
 7564         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
        9883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7565   9884   
@@ -1,61 +1,61 @@
 7566   9885   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7567   9886   
[package]
 7568   9887   
name = "aws-sdk-s3control"
 7569   9888   
version = "0.0.0-local"
 7570   9889   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7571   9890   
description = "AWS SDK for AWS S3 Control"
 7572   9891   
edition = "2021"
 7573   9892   
license = "Apache-2.0"
 7574   9893   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7575   9894   
rust-version = "1.86.0"
 7576   9895   
readme = "README.md"
 7577   9896   
[package.metadata.smithy]
 7578   9897   
codegen-version = "ci"
 7579   9898   
[package.metadata.docs.rs]
 7580   9899   
all-features = true
 7581   9900   
targets = ["x86_64-unknown-linux-gnu"]
 7582   9901   
[dependencies.aws-credential-types]
 7583   9902   
path = "../aws-credential-types"
 7584   9903   
version = "1.2.4"
 7585   9904   
 7586   9905   
[dependencies.aws-runtime]
 7587   9906   
path = "../aws-runtime"
 7588   9907   
version = "1.5.9"
 7589   9908   
 7590   9909   
[dependencies.aws-smithy-async]
 7591   9910   
path = "../aws-smithy-async"
 7592   9911   
version = "1.2.5"
 7593   9912   
 7594   9913   
[dependencies.aws-smithy-http]
 7595   9914   
path = "../aws-smithy-http"
 7596         -
version = "0.62.2"
        9915  +
version = "0.62.3"
 7597   9916   
 7598   9917   
[dependencies.aws-smithy-json]
 7599   9918   
path = "../aws-smithy-json"
 7600   9919   
version = "0.61.4"
 7601   9920   
 7602   9921   
[dependencies.aws-smithy-runtime]
 7603   9922   
path = "../aws-smithy-runtime"
 7604   9923   
features = ["client"]
 7605   9924   
version = "1.8.5"
 7606   9925   
 7607   9926   
[dependencies.aws-smithy-runtime-api]
 7608   9927   
path = "../aws-smithy-runtime-api"
 7609   9928   
features = ["client", "http-02x"]
 7610   9929   
version = "1.8.5"
 7611   9930   
 7612   9931   
[dependencies.aws-smithy-types]
 7613   9932   
path = "../aws-smithy-types"
 7614   9933   
version = "1.3.2"
 7615   9934   
 7616   9935   
[dependencies.aws-smithy-xml]
 7617   9936   
path = "../aws-smithy-xml"
 7618   9937   
version = "0.60.10"
 7619   9938   
 7620   9939   
[dependencies.aws-types]
 7621   9940   
path = "../aws-types"
 7622   9941   
version = "1.3.8"
 7623   9942   
 7624   9943   
[dependencies.fastrand]
 7625   9944   
version = "2.0.0"
 7626   9945   
 7627   9946   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7628   9947   
index 2cde182..fc367f4 100644
 7629         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
        9948  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7630   9949   
@@ -1,61 +1,61 @@
 7631   9950   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7632   9951   
[package]
 7633   9952   
name = "aws-sdk-sso"
 7634   9953   
version = "0.0.0-local"
 7635   9954   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7636   9955   
description = "AWS SDK for AWS Single Sign-On"
 7637   9956   
edition = "2021"
 7638   9957   
license = "Apache-2.0"
 7639   9958   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7640   9959   
rust-version = "1.86.0"
 7641   9960   
readme = "README.md"
 7642   9961   
[package.metadata.smithy]
 7643   9962   
codegen-version = "ci"
 7644   9963   
[package.metadata.docs.rs]
 7645   9964   
all-features = true
 7646   9965   
targets = ["x86_64-unknown-linux-gnu"]
 7647   9966   
[dependencies.aws-credential-types]
 7648   9967   
path = "../aws-credential-types"
 7649   9968   
version = "1.2.4"
 7650   9969   
 7651   9970   
[dependencies.aws-runtime]
 7652   9971   
path = "../aws-runtime"
 7653   9972   
version = "1.5.9"
 7654   9973   
 7655   9974   
[dependencies.aws-smithy-async]
 7656   9975   
path = "../aws-smithy-async"
 7657   9976   
version = "1.2.5"
 7658   9977   
 7659   9978   
[dependencies.aws-smithy-http]
 7660   9979   
path = "../aws-smithy-http"
 7661         -
version = "0.62.2"
        9980  +
version = "0.62.3"
 7662   9981   
 7663   9982   
[dependencies.aws-smithy-json]
 7664   9983   
path = "../aws-smithy-json"
 7665   9984   
version = "0.61.4"
 7666   9985   
 7667   9986   
[dependencies.aws-smithy-runtime]
 7668   9987   
path = "../aws-smithy-runtime"
 7669   9988   
features = ["client"]
 7670   9989   
version = "1.8.5"
 7671   9990   
 7672   9991   
[dependencies.aws-smithy-runtime-api]
 7673   9992   
path = "../aws-smithy-runtime-api"
 7674   9993   
features = ["client", "http-02x"]
 7675   9994   
version = "1.8.5"
 7676   9995   
 7677   9996   
[dependencies.aws-smithy-types]
 7678   9997   
path = "../aws-smithy-types"
 7679   9998   
version = "1.3.2"
 7680   9999   
 7681  10000   
[dependencies.aws-types]
 7682  10001   
path = "../aws-types"
 7683  10002   
version = "1.3.8"
 7684  10003   
 7685  10004   
[dependencies.bytes]
 7686  10005   
version = "1.4.0"
 7687  10006   
 7688  10007   
[dependencies.fastrand]
 7689  10008   
version = "2.0.0"
 7690  10009   
 7691  10010   
[dependencies.http]
 7692  10011   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7693  10012   
index 7a34c16..588d0bd 100644
 7694         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       10013  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7695  10014   
@@ -1,61 +1,61 @@
 7696  10015   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7697  10016   
[package]
 7698  10017   
name = "aws-sdk-ssooidc"
 7699  10018   
version = "0.0.0-local"
 7700  10019   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7701  10020   
description = "AWS SDK for AWS SSO OIDC"
 7702  10021   
edition = "2021"
 7703  10022   
license = "Apache-2.0"
 7704  10023   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7705  10024   
rust-version = "1.86.0"
 7706  10025   
readme = "README.md"
 7707  10026   
[package.metadata.smithy]
 7708  10027   
codegen-version = "ci"
 7709  10028   
[package.metadata.docs.rs]
 7710  10029   
all-features = true
 7711  10030   
targets = ["x86_64-unknown-linux-gnu"]
 7712  10031   
[dependencies.aws-credential-types]
 7713  10032   
path = "../aws-credential-types"
 7714  10033   
version = "1.2.4"
 7715  10034   
 7716  10035   
[dependencies.aws-runtime]
 7717  10036   
path = "../aws-runtime"
 7718  10037   
version = "1.5.9"
 7719  10038   
 7720  10039   
[dependencies.aws-smithy-async]
 7721  10040   
path = "../aws-smithy-async"
 7722  10041   
version = "1.2.5"
 7723  10042   
 7724  10043   
[dependencies.aws-smithy-http]
 7725  10044   
path = "../aws-smithy-http"
 7726         -
version = "0.62.2"
       10045  +
version = "0.62.3"
 7727  10046   
 7728  10047   
[dependencies.aws-smithy-json]
 7729  10048   
path = "../aws-smithy-json"
 7730  10049   
version = "0.61.4"
 7731  10050   
 7732  10051   
[dependencies.aws-smithy-runtime]
 7733  10052   
path = "../aws-smithy-runtime"
 7734  10053   
features = ["client"]
 7735  10054   
version = "1.8.5"
 7736  10055   
 7737  10056   
[dependencies.aws-smithy-runtime-api]
 7738  10057   
path = "../aws-smithy-runtime-api"
 7739  10058   
features = ["client", "http-02x"]
 7740  10059   
version = "1.8.5"
 7741  10060   
 7742  10061   
[dependencies.aws-smithy-types]
 7743  10062   
path = "../aws-smithy-types"
 7744  10063   
version = "1.3.2"
 7745  10064   
 7746  10065   
[dependencies.aws-types]
 7747  10066   
path = "../aws-types"
 7748  10067   
version = "1.3.8"
 7749  10068   
 7750  10069   
[dependencies.bytes]
 7751  10070   
version = "1.4.0"
 7752  10071   
 7753  10072   
[dependencies.fastrand]
 7754  10073   
version = "2.0.0"
 7755  10074   
 7756  10075   
[dependencies.http]
 7757  10076   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7758  10077   
index 895dfb3..f2ce34e 100644
 7759         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       10078  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7760  10079   
@@ -1,61 +1,61 @@
 7761  10080   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7762  10081   
[package]
 7763  10082   
name = "aws-sdk-sts"
 7764  10083   
version = "0.0.0-local"
 7765  10084   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7766  10085   
description = "AWS SDK for AWS Security Token Service"
 7767  10086   
edition = "2021"
 7768  10087   
license = "Apache-2.0"
 7769  10088   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7770  10089   
rust-version = "1.86.0"
 7771  10090   
readme = "README.md"
 7772  10091   
[package.metadata.smithy]
 7773  10092   
codegen-version = "ci"
 7774  10093   
[package.metadata.docs.rs]
 7775  10094   
all-features = true
 7776  10095   
targets = ["x86_64-unknown-linux-gnu"]
 7777  10096   
[dependencies.aws-credential-types]
 7778  10097   
path = "../aws-credential-types"
 7779  10098   
version = "1.2.4"
 7780  10099   
 7781  10100   
[dependencies.aws-runtime]
 7782  10101   
path = "../aws-runtime"
 7783  10102   
version = "1.5.9"
 7784  10103   
 7785  10104   
[dependencies.aws-smithy-async]
 7786  10105   
path = "../aws-smithy-async"
 7787  10106   
version = "1.2.5"
 7788  10107   
 7789  10108   
[dependencies.aws-smithy-http]
 7790  10109   
path = "../aws-smithy-http"
 7791         -
version = "0.62.2"
       10110  +
version = "0.62.3"
 7792  10111   
 7793  10112   
[dependencies.aws-smithy-json]
 7794  10113   
path = "../aws-smithy-json"
 7795  10114   
version = "0.61.4"
 7796  10115   
 7797  10116   
[dependencies.aws-smithy-query]
 7798  10117   
path = "../aws-smithy-query"
 7799  10118   
version = "0.60.7"
 7800  10119   
 7801  10120   
[dependencies.aws-smithy-runtime]
 7802  10121   
path = "../aws-smithy-runtime"
 7803  10122   
features = ["client"]
 7804  10123   
version = "1.8.5"
 7805  10124   
 7806  10125   
[dependencies.aws-smithy-runtime-api]
 7807  10126   
path = "../aws-smithy-runtime-api"
 7808  10127   
features = ["client", "http-02x"]
 7809  10128   
version = "1.8.5"
 7810  10129   
 7811  10130   
[dependencies.aws-smithy-types]
 7812  10131   
path = "../aws-smithy-types"
 7813  10132   
version = "1.3.2"
 7814  10133   
 7815  10134   
[dependencies.aws-smithy-xml]
 7816  10135   
path = "../aws-smithy-xml"
 7817  10136   
version = "0.60.10"
 7818  10137   
 7819  10138   
[dependencies.aws-types]
 7820  10139   
path = "../aws-types"
 7821  10140   
version = "1.3.8"
 7822  10141   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 7823  10142   
index d556561..91178b6 100644
 7824         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       10143  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 7825  10144   
@@ -1,61 +1,61 @@
 7826  10145   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7827  10146   
[package]
 7828  10147   
name = "aws-sdk-timestreamquery"
 7829  10148   
version = "0.0.0-local"
 7830  10149   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7831  10150   
description = "AWS SDK for Amazon Timestream Query"
 7832  10151   
edition = "2021"
 7833  10152   
license = "Apache-2.0"
 7834  10153   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7835  10154   
rust-version = "1.86.0"
 7836  10155   
readme = "README.md"
 7837  10156   
[package.metadata.smithy]
 7838  10157   
codegen-version = "ci"
 7839  10158   
[package.metadata.docs.rs]
 7840  10159   
all-features = true
 7841  10160   
targets = ["x86_64-unknown-linux-gnu"]
 7842  10161   
[dependencies.aws-credential-types]
 7843  10162   
path = "../aws-credential-types"
 7844  10163   
version = "1.2.4"
 7845  10164   
 7846  10165   
[dependencies.aws-runtime]
 7847  10166   
path = "../aws-runtime"
 7848  10167   
version = "1.5.9"
 7849  10168   
 7850  10169   
[dependencies.aws-smithy-async]
 7851  10170   
path = "../aws-smithy-async"
 7852  10171   
version = "1.2.5"
 7853  10172   
 7854  10173   
[dependencies.aws-smithy-http]
 7855  10174   
path = "../aws-smithy-http"
 7856         -
version = "0.62.2"
       10175  +
version = "0.62.3"
 7857  10176   
 7858  10177   
[dependencies.aws-smithy-json]
 7859  10178   
path = "../aws-smithy-json"
 7860  10179   
version = "0.61.4"
 7861  10180   
 7862  10181   
[dependencies.aws-smithy-runtime]
 7863  10182   
path = "../aws-smithy-runtime"
 7864  10183   
features = ["client"]
 7865  10184   
version = "1.8.5"
 7866  10185   
 7867  10186   
[dependencies.aws-smithy-runtime-api]
 7868  10187   
path = "../aws-smithy-runtime-api"
 7869  10188   
features = ["client", "http-02x"]
 7870  10189   
version = "1.8.5"
 7871  10190   
 7872  10191   
[dependencies.aws-smithy-types]
 7873  10192   
path = "../aws-smithy-types"
 7874  10193   
version = "1.3.2"
 7875  10194   
 7876  10195   
[dependencies.aws-types]
 7877  10196   
path = "../aws-types"
 7878  10197   
version = "1.3.8"
 7879  10198   
 7880  10199   
[dependencies.bytes]
 7881  10200   
version = "1.4.0"
 7882  10201   
 7883  10202   
[dependencies.fastrand]
 7884  10203   
version = "2.0.0"
 7885  10204   
 7886  10205   
[dependencies.http]
 7887  10206   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 7888  10207   
index 0c56e4c..95731e3 100644
 7889         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       10208  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 7890  10209   
@@ -1,61 +1,61 @@
 7891  10210   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7892  10211   
[package]
 7893  10212   
name = "aws-sdk-timestreamwrite"
 7894  10213   
version = "0.0.0-local"
 7895  10214   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7896  10215   
description = "AWS SDK for Amazon Timestream Write"
 7897  10216   
edition = "2021"
 7898  10217   
license = "Apache-2.0"
 7899  10218   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7900  10219   
rust-version = "1.86.0"
 7901  10220   
readme = "README.md"
 7902  10221   
[package.metadata.smithy]
 7903  10222   
codegen-version = "ci"
 7904  10223   
[package.metadata.docs.rs]
 7905  10224   
all-features = true
 7906  10225   
targets = ["x86_64-unknown-linux-gnu"]
 7907  10226   
[dependencies.aws-credential-types]
 7908  10227   
path = "../aws-credential-types"
 7909  10228   
version = "1.2.4"
 7910  10229   
 7911  10230   
[dependencies.aws-runtime]
 7912  10231   
path = "../aws-runtime"
 7913  10232   
version = "1.5.9"
 7914  10233   
 7915  10234   
[dependencies.aws-smithy-async]
 7916  10235   
path = "../aws-smithy-async"
 7917  10236   
version = "1.2.5"
 7918  10237   
 7919  10238   
[dependencies.aws-smithy-http]
 7920  10239   
path = "../aws-smithy-http"
 7921         -
version = "0.62.2"
       10240  +
version = "0.62.3"
 7922  10241   
 7923  10242   
[dependencies.aws-smithy-json]
 7924  10243   
path = "../aws-smithy-json"
 7925  10244   
version = "0.61.4"
 7926  10245   
 7927  10246   
[dependencies.aws-smithy-runtime]
 7928  10247   
path = "../aws-smithy-runtime"
 7929  10248   
features = ["client"]
 7930  10249   
version = "1.8.5"
 7931  10250   
 7932  10251   
[dependencies.aws-smithy-runtime-api]
 7933  10252   
path = "../aws-smithy-runtime-api"
 7934  10253   
features = ["client", "http-02x"]
 7935  10254   
version = "1.8.5"
 7936  10255   
 7937  10256   
[dependencies.aws-smithy-types]
 7938  10257   
path = "../aws-smithy-types"
 7939  10258   
version = "1.3.2"
 7940  10259   
 7941  10260   
[dependencies.aws-types]
 7942  10261   
path = "../aws-types"
 7943  10262   
version = "1.3.8"
 7944  10263   
 7945  10264   
[dependencies.bytes]
 7946  10265   
version = "1.4.0"
 7947  10266   
 7948  10267   
[dependencies.fastrand]
 7949  10268   
version = "2.0.0"
 7950  10269   
 7951  10270   
[dependencies.http]
 7952  10271   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 7953  10272   
index 5b35037..9fb220a 100644
 7954         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       10273  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 7955  10274   
@@ -1,71 +1,71 @@
 7956  10275   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7957  10276   
[package]
 7958  10277   
name = "aws-sdk-transcribestreaming"
 7959  10278   
version = "0.0.0-local"
 7960  10279   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7961  10280   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 7962  10281   
edition = "2021"
 7963  10282   
license = "Apache-2.0"
 7964  10283   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7965  10284   
rust-version = "1.86.0"
 7966  10285   
readme = "README.md"
 7967  10286   
[package.metadata.smithy]
 7968  10287   
codegen-version = "ci"
 7969  10288   
[package.metadata.docs.rs]
 7970  10289   
all-features = true
 7971  10290   
targets = ["x86_64-unknown-linux-gnu"]
 7972  10291   
[dependencies.aws-credential-types]
 7973  10292   
path = "../aws-credential-types"
 7974  10293   
version = "1.2.4"
 7975  10294   
 7976  10295   
[dependencies.aws-runtime]
 7977  10296   
path = "../aws-runtime"
 7978  10297   
features = ["event-stream"]
 7979  10298   
version = "1.5.9"
 7980  10299   
 7981  10300   
[dependencies.aws-sigv4]
 7982  10301   
path = "../aws-sigv4"
 7983         -
version = "1.3.3"
       10302  +
version = "1.3.4"
 7984  10303   
 7985  10304   
[dependencies.aws-smithy-async]
 7986  10305   
path = "../aws-smithy-async"
 7987  10306   
version = "1.2.5"
 7988  10307   
 7989  10308   
[dependencies.aws-smithy-eventstream]
 7990  10309   
path = "../aws-smithy-eventstream"
 7991  10310   
version = "0.60.10"
 7992  10311   
 7993  10312   
[dependencies.aws-smithy-http]
 7994  10313   
path = "../aws-smithy-http"
 7995  10314   
features = ["event-stream"]
 7996         -
version = "0.62.2"
       10315  +
version = "0.62.3"
 7997  10316   
 7998  10317   
[dependencies.aws-smithy-json]
 7999  10318   
path = "../aws-smithy-json"
 8000  10319   
version = "0.61.4"
 8001  10320   
 8002  10321   
[dependencies.aws-smithy-runtime]
 8003  10322   
path = "../aws-smithy-runtime"
 8004  10323   
features = ["client"]
 8005  10324   
version = "1.8.5"
 8006  10325