AWS SDK

AWS SDK

rev. 628eeeeeed390f5efdbfe607c18848c033debd3e (ignoring whitespace)

Files changed:

tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sreq

@@ -1,0 +5,0 @@
    1         -
POST / HTTP/1.1
    2         -
Host:example.amazonaws.com
    3         -
My-Header1:VALUE1
    4         -
X-Amz-Date:20150830T123600Z
    5         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d

tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.authz

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

   15         -
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).
   16         -

   17         -
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.
   18         -

   19         -
The test suite has 2 examples:
   20         -

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

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

   25         -
The test suite uses this example value for X-Amz-Security-Token:
   26         -

   27         -
AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 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.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
   29     11   
deleted file mode 100644
   30     12   
index 44280cd..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.authz
          13  +
++ /dev/null
   32     14   
@@ -1 +0,0 @@
   33         -
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
   34     15   
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
   35     16   
deleted file mode 100644
   36     17   
index 82af150..0000000
   37         -
-- 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
          18  +
++ /dev/null
   38     19   
@@ -1,4 +0,0 @@
   39         -
POST /?Param1=value1 HTTP/1.1
   40         -
Host:example.amazonaws.com
   41         -
X-Amz-Date:20150830T123600Z
   42         -
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
   43     20   
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
   44     21   
deleted file mode 100644
   45     22   
index 44280cd..0000000
   46         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz
          23  +
++ /dev/null
   47     24   
@@ -1 +0,0 @@
   48         -
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
   49     25   
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
   50     26   
deleted file mode 100644
   51     27   
index 82af150..0000000
   52         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq
          28  +
++ /dev/null
   53     29   
@@ -1,4 +0,0 @@
   54         -
POST /?Param1=value1 HTTP/1.1
   55         -
Host:example.amazonaws.com
   56         -
X-Amz-Date:20150830T123600Z
   57         -
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
   58     30   
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
   59     31   
deleted file mode 100644
   60     32   
index 89e572e..0000000
   61         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
          33  +
++ /dev/null
   62     34   
@@ -1 +0,0 @@
   63         -
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
   64     35   
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
   65     36   
deleted file mode 100644
   66     37   
index a5ada0d..0000000
   67         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq
          38  +
++ /dev/null
   68     39   
@@ -1,4 +0,0 @@
   69         -
POST / HTTP/1.1
   70         -
Host:example.amazonaws.com
   71         -
X-Amz-Date:20150830T123600Z
   72         -
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
   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.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
   74     41   
deleted file mode 100644
   75     42   
index df90ca3..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.authz
          43  +
++ /dev/null
   77     44   
@@ -1 +0,0 @@
   78         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393
              \
 No newline at end of file
   79     45   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-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
   80     46   
deleted file mode 100644
   81     47   
index 457b0d5..0000000
   82         -
-- 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
          48  +
++ /dev/null
   83     49   
@@ -1,9 +0,0 @@
   84         -
POST
   85         -
/
   86         -
Param1=value1
   87         -
content-type:application/x-www-form-urlencoded; charset=utf-8
   88         -
host:example.amazonaws.com
   89         -
x-amz-date:20150830T123600Z
   90         -
   91         -
content-type;host;x-amz-date
   92         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
   93     50   
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
   94     51   
deleted file mode 100644
   95     52   
index b8ecb89..0000000
   96         -
-- 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
          53  +
++ /dev/null
   97     54   
@@ -1,7 +0,0 @@
   98         -
POST / HTTP/1.1
   99         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  100         -
Host:example.amazonaws.com
  101         -
X-Amz-Date:20150830T123600Z
  102         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393
  103         -
  104         -
Param1=value1
              \
 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.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
  106     56   
deleted file mode 100644
  107     57   
index 79077d2..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.authz
          58  +
++ /dev/null
  109     59   
@@ -1 +0,0 @@
  110         -
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
  111     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.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
  112     61   
deleted file mode 100644
  113     62   
index 7852617..0000000
  114         -
-- 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
          63  +
++ /dev/null
  115     64   
@@ -1,4 +0,0 @@
  116         -
POST / HTTP/1.1
  117         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  118         -
Host:example.amazonaws.com
  119         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
  120     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.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
  121     66   
deleted file mode 100644
  122     67   
index 3e2e571..0000000
  123         -
-- 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
          68  +
++ /dev/null
  124     69   
@@ -1,4 +0,0 @@
  125         -
POST / HTTP/1.1
  126         -
Host:example.amazonaws.com
  127         -
X-Amz-Date:20150830T123600Z
  128         -
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
  129     70   
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
  130     71   
deleted file mode 100644
  131     72   
index 89ceae8..0000000
  132         -
-- 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
          73  +
++ /dev/null
  133     74   
@@ -1,4 +0,0 @@
  134         -
AWS4-HMAC-SHA256
  135         -
20150830T123600Z
  136         -
20150830/us-east-1/service/aws4_request
  137         -
6a42edc18395dd67cc71407d4307ff29ab1646b08c1a0107edb319e08e2bc584
              \
 No newline at end of file
  138     75   
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
  139     76   
deleted file mode 100755
  140     77   
index d645695..0000000
  141         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE
          78  +
++ /dev/null
  142     79   
@@ -1,202 +0,0 @@
  143         -
  144         -
                                 Apache License
  145         -
                           Version 2.0, January 2004
  146         -
                        http://www.apache.org/licenses/
  147         -
  148         -
   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  149         -
  150         -
   1. Definitions.
  151         -
  152         -
      "License" shall mean the terms and conditions for use, reproduction,
  153         -
      and distribution as defined by Sections 1 through 9 of this document.
  154         -
  155         -
      "Licensor" shall mean the copyright owner or entity authorized by
  156         -
      the copyright owner that is granting the License.
  157         -
  158         -
      "Legal Entity" shall mean the union of the acting entity and all
  159         -
      other entities that control, are controlled by, or are under common
  160         -
      control with that entity. For the purposes of this definition,
  161         -
      "control" means (i) the power, direct or indirect, to cause the
  162         -
      direction or management of such entity, whether by contract or
  163         -
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
  164         -
      outstanding shares, or (iii) beneficial ownership of such entity.
  165         -
  166         -
      "You" (or "Your") shall mean an individual or Legal Entity
  167         -
      exercising permissions granted by this License.
  168         -
  169         -
      "Source" form shall mean the preferred form for making modifications,
  170         -
      including but not limited to software source code, documentation
  171         -
      source, and configuration files.
  172         -
  173         -
      "Object" form shall mean any form resulting from mechanical
  174         -
      transformation or translation of a Source form, including but
  175         -
      not limited to compiled object code, generated documentation,
  176         -
      and conversions to other media types.
  177         -
  178         -
      "Work" shall mean the work of authorship, whether in Source or
  179         -
      Object form, made available under the License, as indicated by a
  180         -
      copyright notice that is included in or attached to the work
  181         -
      (an example is provided in the Appendix below).
  182         -
  183         -
      "Derivative Works" shall mean any work, whether in Source or Object
  184         -
      form, that is based on (or derived from) the Work and for which the
  185         -
      editorial revisions, annotations, elaborations, or other modifications
  186         -
      represent, as a whole, an original work of authorship. For the purposes
  187         -
      of this License, Derivative Works shall not include works that remain
  188         -
      separable from, or merely link (or bind by name) to the interfaces of,
  189         -
      the Work and Derivative Works thereof.
  190         -
  191         -
      "Contribution" shall mean any work of authorship, including
  192         -
      the original version of the Work and any modifications or additions
  193         -
      to that Work or Derivative Works thereof, that is intentionally
  194         -
      submitted to Licensor for inclusion in the Work by the copyright owner
  195         -
      or by an individual or Legal Entity authorized to submit on behalf of
  196         -
      the copyright owner. For the purposes of this definition, "submitted"
  197         -
      means any form of electronic, verbal, or written communication sent
  198         -
      to the Licensor or its representatives, including but not limited to
  199         -
      communication on electronic mailing lists, source code control systems,
  200         -
      and issue tracking systems that are managed by, or on behalf of, the
  201         -
      Licensor for the purpose of discussing and improving the Work, but
  202         -
      excluding communication that is conspicuously marked or otherwise
  203         -
      designated in writing by the copyright owner as "Not a Contribution."
  204         -
  205         -
      "Contributor" shall mean Licensor and any individual or Legal Entity
  206         -
      on behalf of whom a Contribution has been received by Licensor and
  207         -
      subsequently incorporated within the Work.
  208         -
  209         -
   2. Grant of Copyright License. Subject to the terms and conditions of
  210         -
      this License, each Contributor hereby grants to You a perpetual,
  211         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  212         -
      copyright license to reproduce, prepare Derivative Works of,
  213         -
      publicly display, publicly perform, sublicense, and distribute the
  214         -
      Work and such Derivative Works in Source or Object form.
  215         -
  216         -
   3. Grant of Patent License. Subject to the terms and conditions of
  217         -
      this License, each Contributor hereby grants to You a perpetual,
  218         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  219         -
      (except as stated in this section) patent license to make, have made,
  220         -
      use, offer to sell, sell, import, and otherwise transfer the Work,
  221         -
      where such license applies only to those patent claims licensable
  222         -
      by such Contributor that are necessarily infringed by their
  223         -
      Contribution(s) alone or by combination of their Contribution(s)
  224         -
      with the Work to which such Contribution(s) was submitted. If You
  225         -
      institute patent litigation against any entity (including a
  226         -
      cross-claim or counterclaim in a lawsuit) alleging that the Work
  227         -
      or a Contribution incorporated within the Work constitutes direct
  228         -
      or contributory patent infringement, then any patent licenses
  229         -
      granted to You under this License for that Work shall terminate
  230         -
      as of the date such litigation is filed.
  231         -
  232         -
   4. Redistribution. You may reproduce and distribute copies of the
  233         -
      Work or Derivative Works thereof in any medium, with or without
  234         -
      modifications, and in Source or Object form, provided that You
  235         -
      meet the following conditions:
  236         -
  237         -
      (a) You must give any other recipients of the Work or
  238         -
          Derivative Works a copy of this License; and
  239         -
  240         -
      (b) You must cause any modified files to carry prominent notices
  241         -
          stating that You changed the files; and
  242         -
  243         -
      (c) You must retain, in the Source form of any Derivative Works
  244         -
          that You distribute, all copyright, patent, trademark, and
  245         -
          attribution notices from the Source form of the Work,
  246         -
          excluding those notices that do not pertain to any part of
  247         -
          the Derivative Works; and
  248         -
  249         -
      (d) If the Work includes a "NOTICE" text file as part of its
  250         -
          distribution, then any Derivative Works that You distribute must
  251         -
          include a readable copy of the attribution notices contained
  252         -
          within such NOTICE file, excluding those notices that do not
  253         -
          pertain to any part of the Derivative Works, in at least one
  254         -
          of the following places: within a NOTICE text file distributed
  255         -
          as part of the Derivative Works; within the Source form or
  256         -
          documentation, if provided along with the Derivative Works; or,
  257         -
          within a display generated by the Derivative Works, if and
  258         -
          wherever such third-party notices normally appear. The contents
  259         -
          of the NOTICE file are for informational purposes only and
  260         -
          do not modify the License. You may add Your own attribution
  261         -
          notices within Derivative Works that You distribute, alongside
  262         -
          or as an addendum to the NOTICE text from the Work, provided
  263         -
          that such additional attribution notices cannot be construed
  264         -
          as modifying the License.
  265         -
  266         -
      You may add Your own copyright statement to Your modifications and
  267         -
      may provide additional or different license terms and conditions
  268         -
      for use, reproduction, or distribution of Your modifications, or
  269         -
      for any such Derivative Works as a whole, provided Your use,
  270         -
      reproduction, and distribution of the Work otherwise complies with
  271         -
      the conditions stated in this License.
  272         -
  273         -
   5. Submission of Contributions. Unless You explicitly state otherwise,
  274         -
      any Contribution intentionally submitted for inclusion in the Work
  275         -
      by You to the Licensor shall be under the terms and conditions of
  276         -
      this License, without any additional terms or conditions.
  277         -
      Notwithstanding the above, nothing herein shall supersede or modify
  278         -
      the terms of any separate license agreement you may have executed
  279         -
      with Licensor regarding such Contributions.
  280         -
  281         -
   6. Trademarks. This License does not grant permission to use the trade
  282         -
      names, trademarks, service marks, or product names of the Licensor,
  283         -
      except as required for reasonable and customary use in describing the
  284         -
      origin of the Work and reproducing the content of the NOTICE file.
  285         -
  286         -
   7. Disclaimer of Warranty. Unless required by applicable law or
  287         -
      agreed to in writing, Licensor provides the Work (and each
  288         -
      Contributor provides its Contributions) on an "AS IS" BASIS,
  289         -
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  290         -
      implied, including, without limitation, any warranties or conditions
  291         -
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  292         -
      PARTICULAR PURPOSE. You are solely responsible for determining the
  293         -
      appropriateness of using or redistributing the Work and assume any
  294         -
      risks associated with Your exercise of permissions under this License.
  295         -
  296         -
   8. Limitation of Liability. In no event and under no legal theory,
  297         -
      whether in tort (including negligence), contract, or otherwise,
  298         -
      unless required by applicable law (such as deliberate and grossly
  299         -
      negligent acts) or agreed to in writing, shall any Contributor be
  300         -
      liable to You for damages, including any direct, indirect, special,
  301         -
      incidental, or consequential damages of any character arising as a
  302         -
      result of this License or out of the use or inability to use the
  303         -
      Work (including but not limited to damages for loss of goodwill,
  304         -
      work stoppage, computer failure or malfunction, or any and all
  305         -
      other commercial damages or losses), even if such Contributor
  306         -
      has been advised of the possibility of such damages.
  307         -
  308         -
   9. Accepting Warranty or Additional Liability. While redistributing
  309         -
      the Work or Derivative Works thereof, You may choose to offer,
  310         -
      and charge a fee for, acceptance of support, warranty, indemnity,
  311         -
      or other liability obligations and/or rights consistent with this
  312         -
      License. However, in accepting such obligations, You may act only
  313         -
      on Your own behalf and on Your sole responsibility, not on behalf
  314         -
      of any other Contributor, and only if You agree to indemnify,
  315         -
      defend, and hold each Contributor harmless for any liability
  316         -
      incurred by, or claims asserted against, such Contributor by reason
  317         -
      of your accepting any such warranty or additional liability.
  318         -
  319         -
   END OF TERMS AND CONDITIONS
  320         -
  321         -
   APPENDIX: How to apply the Apache License to your work.
  322         -
  323         -
      To apply the Apache License to your work, attach the following
  324         -
      boilerplate notice, with the fields enclosed by brackets "[]"
  325         -
      replaced with your own identifying information. (Don't include
  326         -
      the brackets!)  The text should be enclosed in the appropriate
  327         -
      comment syntax for the file format. We also recommend that a
  328         -
      file or class name and description of purpose be included on the
  329         -
      same "printed page" as the copyright notice for easier
  330         -
      identification within third-party archives.
  331         -
  332         -
   Copyright [yyyy] [name of copyright owner]
  333         -
  334         -
   Licensed under the Apache License, Version 2.0 (the "License");
  335         -
   you may not use this file except in compliance with the License.
  336         -
   You may obtain a copy of the License at
  337         -
  338         -
       http://www.apache.org/licenses/LICENSE-2.0
  339         -
  340         -
   Unless required by applicable law or agreed to in writing, software
  341         -
   distributed under the License is distributed on an "AS IS" BASIS,
  342         -
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  343         -
   See the License for the specific language governing permissions and
  344         -
   limitations under the License.
  345     80   
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
  346     81   
deleted file mode 100755
  347     82   
index d85f69e..0000000
  348         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE
          83  +
++ /dev/null
  349     84   
@@ -1,2 +0,0 @@
  350         -
AWS Signature Version 4a Test Suite
  351         -
Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  352     85   
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
  353     86   
deleted file mode 100644
  354     87   
index c716622..0000000
  355         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md
          88  +
++ /dev/null
  356     89   
@@ -1,24 +0,0 @@
  357         -
Where did the files in this directory come from?
  358         -
================================================
  359         -
  360         -
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.
  361         -
  362         -
Signature Version 4A Test Suite
  363         -
------------------------------
  364         -
  365         -
To assist you in the development of an AWS client that supports Signature Version 4A, you can use the
  366         -
files in the test suite to ensure your code is performing each step of the signing process correctly.
  367         -
  368         -
Each test group contains several files that you can use to validate most of the tasks described in
  369         -
Signature Version 4A Signing Process. The following list describes the contents of each file.
  370         -
  371         -
- context.json - Credentials and signer options to use when signing test requests
  372         -
- request.txt - The web request to be signed.
  373         -
- header-canonical-request.txt - The resulting canonical request in header-signature mode.
  374         -
- header-string-to-sign.txt - The resulting string to sign in header-signature mode.
  375         -
- query-canonical-request.txt - The resulting canonical request in query-signature mode.
  376         -
- query-string-to-sign.txt - The resulting string to sign in header-query mode.
  377         -
  378         -
Sigv4A signature generation isn't deterministic, so generated signatures can't be tested against known good ones.
  379         -
Instead, tests generate a signature, derive a verification key from the signing key, and verify the signature and
  380         -
the string to sign. This mirrors what AWS services do when verifying Sigv4A-signed requests.
  381     90   
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
  382     91   
deleted file mode 100644
  383     92   
index 45771c7..0000000
  384         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json
          93  +
++ /dev/null
  385     94   
@@ -1,12 +0,0 @@
  386         -
{
  387         -
    "credentials": {
  388         -
        "access_key_id": "AKIDEXAMPLE",
  389         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  390         -
    },
  391         -
    "expiration_in_seconds": 3600,
  392         -
    "normalize": true,
  393         -
    "region": "us-east-1",
  394         -
    "service": "service",
  395         -
    "sign_body": false,
  396         -
    "timestamp": "2015-08-30T12:36:00Z"
  397         -
}
  398     95   
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
  399     96   
deleted file mode 100644
  400     97   
index 45771c7..0000000
  401         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json
          98  +
++ /dev/null
  402     99   
@@ -1,12 +0,0 @@
  403         -
{
  404         -
    "credentials": {
  405         -
        "access_key_id": "AKIDEXAMPLE",
  406         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  407         -
    },
  408         -
    "expiration_in_seconds": 3600,
  409         -
    "normalize": true,
  410         -
    "region": "us-east-1",
  411         -
    "service": "service",
  412         -
    "sign_body": false,
  413         -
    "timestamp": "2015-08-30T12:36:00Z"
  414         -
}
  415    100   
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
  416    101   
deleted file mode 100644
  417    102   
index 45771c7..0000000
  418         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json
         103  +
++ /dev/null
  419    104   
@@ -1,12 +0,0 @@
  420         -
{
  421         -
    "credentials": {
  422         -
        "access_key_id": "AKIDEXAMPLE",
  423         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  424         -
    },
  425         -
    "expiration_in_seconds": 3600,
  426         -
    "normalize": true,
  427         -
    "region": "us-east-1",
  428         -
    "service": "service",
  429         -
    "sign_body": false,
  430         -
    "timestamp": "2015-08-30T12:36:00Z"
  431         -
}
  432    105   
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
  433    106   
deleted file mode 100644
  434    107   
index 45771c7..0000000
  435         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json
         108  +
++ /dev/null
  436    109   
@@ -1,12 +0,0 @@
  437         -
{
  438         -
    "credentials": {
  439         -
        "access_key_id": "AKIDEXAMPLE",
  440         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  441         -
    },
  442         -
    "expiration_in_seconds": 3600,
  443         -
    "normalize": true,
  444         -
    "region": "us-east-1",
  445         -
    "service": "service",
  446         -
    "sign_body": false,
  447         -
    "timestamp": "2015-08-30T12:36:00Z"
  448         -
}
  449    110   
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
  450    111   
deleted file mode 100644
  451    112   
index afe367b..0000000
  452         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json
         113  +
++ /dev/null
  453    114   
@@ -1,12 +0,0 @@
  454         -
{
  455         -
    "credentials": {
  456         -
        "access_key_id": "AKIDEXAMPLE",
  457         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  458         -
    },
  459         -
    "expiration_in_seconds": 3600,
  460         -
    "normalize": false,
  461         -
    "region": "us-east-1",
  462         -
    "service": "service",
  463         -
    "sign_body": false,
  464         -
    "timestamp": "2015-08-30T12:36:00Z"
  465         -
}
  466    115   
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
  467    116   
deleted file mode 100644
  468    117   
index 45771c7..0000000
  469         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json
         118  +
++ /dev/null
  470    119   
@@ -1,12 +0,0 @@
  471         -
{
  472         -
    "credentials": {
  473         -
        "access_key_id": "AKIDEXAMPLE",
  474         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  475         -
    },
  476         -
    "expiration_in_seconds": 3600,
  477         -
    "normalize": true,
  478         -
    "region": "us-east-1",
  479         -
    "service": "service",
  480         -
    "sign_body": false,
  481         -
    "timestamp": "2015-08-30T12:36:00Z"
  482         -
}
  483    120   
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
  484    121   
deleted file mode 100644
  485    122   
index afe367b..0000000
  486         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json
         123  +
++ /dev/null
  487    124   
@@ -1,12 +0,0 @@
  488         -
{
  489         -
    "credentials": {
  490         -
        "access_key_id": "AKIDEXAMPLE",
  491         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  492         -
    },
  493         -
    "expiration_in_seconds": 3600,
  494         -
    "normalize": false,
  495         -
    "region": "us-east-1",
  496         -
    "service": "service",
  497         -
    "sign_body": false,
  498         -
    "timestamp": "2015-08-30T12:36:00Z"
  499         -
}
  500    125   
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
  501    126   
deleted file mode 100644
  502    127   
index 45771c7..0000000
  503         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json
         128  +
++ /dev/null
  504    129   
@@ -1,12 +0,0 @@
  505         -
{
  506         -
    "credentials": {
  507         -
        "access_key_id": "AKIDEXAMPLE",
  508         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  509         -
    },
  510         -
    "expiration_in_seconds": 3600,
  511         -
    "normalize": true,
  512         -
    "region": "us-east-1",
  513         -
    "service": "service",
  514         -
    "sign_body": false,
  515         -
    "timestamp": "2015-08-30T12:36:00Z"
  516         -
}
  517    130   
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
  518    131   
deleted file mode 100644
  519    132   
index 45771c7..0000000
  520         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json
         133  +
++ /dev/null
  521    134   
@@ -1,12 +0,0 @@
  522         -
{
  523         -
    "credentials": {
  524         -
        "access_key_id": "AKIDEXAMPLE",
  525         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  526         -
    },
  527         -
    "expiration_in_seconds": 3600,
  528         -
    "normalize": true,
  529         -
    "region": "us-east-1",
  530         -
    "service": "service",
  531         -
    "sign_body": false,
  532         -
    "timestamp": "2015-08-30T12:36:00Z"
  533         -
}
  534    135   
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
  535    136   
deleted file mode 100644
  536    137   
index 45771c7..0000000
  537         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json
         138  +
++ /dev/null
  538    139   
@@ -1,12 +0,0 @@
  539         -
{
  540         -
    "credentials": {
  541         -
        "access_key_id": "AKIDEXAMPLE",
  542         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  543         -
    },
  544         -
    "expiration_in_seconds": 3600,
  545         -
    "normalize": true,
  546         -
    "region": "us-east-1",
  547         -
    "service": "service",
  548         -
    "sign_body": false,
  549         -
    "timestamp": "2015-08-30T12:36:00Z"
  550         -
}
  551    140   
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
  552    141   
deleted file mode 100644
  553    142   
index 45771c7..0000000
  554         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json
         143  +
++ /dev/null
  555    144   
@@ -1,12 +0,0 @@
  556         -
{
  557         -
    "credentials": {
  558         -
        "access_key_id": "AKIDEXAMPLE",
  559         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  560         -
    },
  561         -
    "expiration_in_seconds": 3600,
  562         -
    "normalize": true,
  563         -
    "region": "us-east-1",
  564         -
    "service": "service",
  565         -
    "sign_body": false,
  566         -
    "timestamp": "2015-08-30T12:36:00Z"
  567         -
}
  568    145   
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
  569    146   
deleted file mode 100644
  570    147   
index 45771c7..0000000
  571         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json
         148  +
++ /dev/null
  572    149   
@@ -1,12 +0,0 @@
  573         -
{
  574         -
    "credentials": {
  575         -
        "access_key_id": "AKIDEXAMPLE",
  576         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  577         -
    },
  578         -
    "expiration_in_seconds": 3600,
  579         -
    "normalize": true,
  580         -
    "region": "us-east-1",
  581         -
    "service": "service",
  582         -
    "sign_body": false,
  583         -
    "timestamp": "2015-08-30T12:36:00Z"
  584         -
}
  585    150   
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
  586    151   
deleted file mode 100644
  587    152   
index 47e7128..0000000
  588         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt
         153  +
++ /dev/null
  589    154   
@@ -1,9 +0,0 @@
  590         -
GET
  591         -
/
  592         -
  593         -
host:example.amazonaws.com
  594         -
x-amz-date:20150830T123600Z
  595         -
x-amz-region-set:us-east-1
  596         -
  597         -
host;x-amz-date;x-amz-region-set
  598         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  599    155   
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
  600    156   
deleted file mode 100644
  601    157   
index 95d7219..0000000
  602         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt
         158  +
++ /dev/null
  603    159   
@@ -1,4 +0,0 @@
  604         -
AWS4-ECDSA-P256-SHA256
  605         -
20150830T123600Z
  606         -
20150830/service/aws4_request
  607         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  608    160   
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
  609    161   
deleted file mode 100644
  610    162   
index a34ea26..0000000
  611         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt
         163  +
++ /dev/null
  612    164   
@@ -1,7 +0,0 @@
  613         -
GET
  614         -
/
  615         -
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
  616         -
host:example.amazonaws.com
  617         -
  618         -
host
  619         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  620    165   
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
  621    166   
deleted file mode 100644
  622    167   
index 48f855c..0000000
  623         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt
         168  +
++ /dev/null
  624    169   
@@ -1,4 +0,0 @@
  625         -
AWS4-ECDSA-P256-SHA256
  626         -
20150830T123600Z
  627         -
20150830/service/aws4_request
  628         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  629    170   
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
  630    171   
deleted file mode 100644
  631    172   
index 45771c7..0000000
  632         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json
         173  +
++ /dev/null
  633    174   
@@ -1,12 +0,0 @@
  634         -
{
  635         -
    "credentials": {
  636         -
        "access_key_id": "AKIDEXAMPLE",
  637         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  638         -
    },
  639         -
    "expiration_in_seconds": 3600,
  640         -
    "normalize": true,
  641         -
    "region": "us-east-1",
  642         -
    "service": "service",
  643         -
    "sign_body": false,
  644         -
    "timestamp": "2015-08-30T12:36:00Z"
  645         -
}
  646    175   
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
  647    176   
deleted file mode 100644
  648    177   
index 47e7128..0000000
  649         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt
         178  +
++ /dev/null
  650    179   
@@ -1,9 +0,0 @@
  651         -
GET
  652         -
/
  653         -
  654         -
host:example.amazonaws.com
  655         -
x-amz-date:20150830T123600Z
  656         -
x-amz-region-set:us-east-1
  657         -
  658         -
host;x-amz-date;x-amz-region-set
  659         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  660    180   
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
  661    181   
deleted file mode 100644
  662    182   
index 95d7219..0000000
  663         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt
         183  +
++ /dev/null
  664    184   
@@ -1,4 +0,0 @@
  665         -
AWS4-ECDSA-P256-SHA256
  666         -
20150830T123600Z
  667         -
20150830/service/aws4_request
  668         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  669    185   
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
  670    186   
deleted file mode 100644
  671    187   
index a34ea26..0000000
  672         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt
         188  +
++ /dev/null
  673    189   
@@ -1,7 +0,0 @@
  674         -
GET
  675         -
/
  676         -
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
  677         -
host:example.amazonaws.com
  678         -
  679         -
host
  680         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  681    190   
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
  682    191   
deleted file mode 100644
  683    192   
index 48f855c..0000000
  684         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt
         193  +
++ /dev/null
  685    194   
@@ -1,4 +0,0 @@
  686         -
AWS4-ECDSA-P256-SHA256
  687         -
20150830T123600Z
  688         -
20150830/service/aws4_request
  689         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  690    195   
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
  691    196   
deleted file mode 100644
  692    197   
index 45771c7..0000000
  693         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json
         198  +
++ /dev/null
  694    199   
@@ -1,12 +0,0 @@
  695         -
{
  696         -
    "credentials": {
  697         -
        "access_key_id": "AKIDEXAMPLE",
  698         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  699         -
    },
  700         -
    "expiration_in_seconds": 3600,
  701         -
    "normalize": true,
  702         -
    "region": "us-east-1",
  703         -
    "service": "service",
  704         -
    "sign_body": false,
  705         -
    "timestamp": "2015-08-30T12:36:00Z"
  706         -
}
  707    200   
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
  708    201   
deleted file mode 100644
  709    202   
index 45771c7..0000000
  710         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json
         203  +
++ /dev/null
  711    204   
@@ -1,12 +0,0 @@
  712         -
{
  713         -
    "credentials": {
  714         -
        "access_key_id": "AKIDEXAMPLE",
  715         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  716         -
    },
  717         -
    "expiration_in_seconds": 3600,
  718         -
    "normalize": true,
  719         -
    "region": "us-east-1",
  720         -
    "service": "service",
  721         -
    "sign_body": false,
  722         -
    "timestamp": "2015-08-30T12:36:00Z"
  723         -
}
  724    205   
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
  725    206   
deleted file mode 100644
  726    207   
index 45771c7..0000000
  727         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json
         208  +
++ /dev/null
  728    209   
@@ -1,12 +0,0 @@
  729         -
{
  730         -
    "credentials": {
  731         -
        "access_key_id": "AKIDEXAMPLE",
  732         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  733         -
    },
  734         -
    "expiration_in_seconds": 3600,
  735         -
    "normalize": true,
  736         -
    "region": "us-east-1",
  737         -
    "service": "service",
  738         -
    "sign_body": false,
  739         -
    "timestamp": "2015-08-30T12:36:00Z"
  740         -
}
  741    210   
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
  742    211   
deleted file mode 100644
  743    212   
index 45771c7..0000000
  744         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json
         213  +
++ /dev/null
  745    214   
@@ -1,12 +0,0 @@
  746         -
{
  747         -
    "credentials": {
  748         -
        "access_key_id": "AKIDEXAMPLE",
  749         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  750         -
    },
  751         -
    "expiration_in_seconds": 3600,
  752         -
    "normalize": true,
  753         -
    "region": "us-east-1",
  754         -
    "service": "service",
  755         -
    "sign_body": false,
  756         -
    "timestamp": "2015-08-30T12:36:00Z"
  757         -
}
  758    215   
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
  759    216   
deleted file mode 100644
  760    217   
index 45771c7..0000000
  761         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json
         218  +
++ /dev/null
  762    219   
@@ -1,12 +0,0 @@
  763         -
{
  764         -
    "credentials": {
  765         -
        "access_key_id": "AKIDEXAMPLE",
  766         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  767         -
    },
  768         -
    "expiration_in_seconds": 3600,
  769         -
    "normalize": true,
  770         -
    "region": "us-east-1",
  771         -
    "service": "service",
  772         -
    "sign_body": false,
  773         -
    "timestamp": "2015-08-30T12:36:00Z"
  774         -
}
  775    220   
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
  776    221   
deleted file mode 100644
  777    222   
index 45771c7..0000000
  778         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json
         223  +
++ /dev/null
  779    224   
@@ -1,12 +0,0 @@
  780         -
{
  781         -
    "credentials": {
  782         -
        "access_key_id": "AKIDEXAMPLE",
  783         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  784         -
    },
  785         -
    "expiration_in_seconds": 3600,
  786         -
    "normalize": true,
  787         -
    "region": "us-east-1",
  788         -
    "service": "service",
  789         -
    "sign_body": false,
  790         -
    "timestamp": "2015-08-30T12:36:00Z"
  791         -
}
  792    225   
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
  793    226   
deleted file mode 100644
  794    227   
index b6fdecf..0000000
  795         -
-- 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
         228  +
++ /dev/null
  796    229   
@@ -1,4 +0,0 @@
  797         -
AWS4-ECDSA-P256-SHA256
  798         -
20150830T123600Z
  799         -
20150830/service/aws4_request
  800         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  801    230   
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
  802    231   
deleted file mode 100644
  803    232   
index a300bea..0000000
  804         -
-- 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
         233  +
++ /dev/null
  805    234   
@@ -1,4 +0,0 @@
  806         -
AWS4-ECDSA-P256-SHA256
  807         -
20150830T123600Z
  808         -
20150830/service/aws4_request
  809         -
ab426c74406d082ad98929df8969624e6ed5cb7f4e8501fbbe7d8c20e9c3b417
  810    235   
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
  811    236   
deleted file mode 100644
  812    237   
index b6fdecf..0000000
  813         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt
         238  +
++ /dev/null
  814    239   
@@ -1,4 +0,0 @@
  815         -
AWS4-ECDSA-P256-SHA256
  816         -
20150830T123600Z
  817         -
20150830/service/aws4_request
  818         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  819    240   
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
  820    241   
new file mode 100644
  821    242   
index 0000000..a674243
  822         -
-- /dev/null
         243  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md
  823    244   
@@ -0,0 +1,7 @@
         245  +
# AWS SigV4 and SigV4A Signing Test Suite
         246  +
         247  +
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).
         248  +
         249  +
We added the following changes:
         250  +
         251  +
* 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
  824    252   
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
  825    253   
similarity index 100%
  826    254   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.creq
  827    255   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-canonical-request.txt
  828    256   
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
  829    257   
similarity index 100%
  830    258   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.sreq
  831    259   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-signed-request.txt
  832    260   
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
  833    261   
similarity index 100%
  834    262   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.req
  835    263   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/request.txt
  836    264   
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
  837    265   
similarity index 100%
  838    266   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq
  839    267   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-canonical-request.txt
  840    268   
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
  841    269   
similarity index 100%
  842    270   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq
  843    271   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-signed-request.txt
  844    272   
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
  845    273   
similarity index 100%
  846    274   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts
  847    275   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-string-to-sign.txt
  848    276   
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
  849    277   
similarity index 100%
  850    278   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req
  851    279   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/request.txt
  852    280   
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
  853    281   
similarity index 99%
  854    282   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
  855    283   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
  856    284   
index 45771c7..0468d80 100644
  857    285   
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
  858    286   
similarity index 100%
  859    287   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq
  860    288   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
  861    289   
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
  862    290   
new file mode 100644
  863    291   
index 0000000..7fc5d7a
  864         -
-- /dev/null
         292  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
  865    293   
@@ -0,0 +1 @@
         294  +
c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
              \
 No newline at end of file
  866    295   
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
  867    296   
new file mode 100644
  868    297   
index 0000000..36a1205
  869         -
-- /dev/null
         298  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
  870    299   
@@ -0,0 +1,8 @@
         300  +
GET / HTTP/1.1
         301  +
Host:example.amazonaws.com
         302  +
My-Header1:value2
         303  +
My-Header1:value2
         304  +
My-Header1:value1
         305  +
X-Amz-Date:20150830T123600Z
         306  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
         307  +
  871    308   
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
  872    309   
similarity index 100%
  873    310   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts
  874    311   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
  875    312   
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
  876    313   
new file mode 100644
  877    314   
index 0000000..f9f4190
  878         -
-- /dev/null
         315  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
  879    316   
@@ -0,0 +1,8 @@
         317  +
GET
         318  +
/
         319  +
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
         320  +
host:example.amazonaws.com
         321  +
my-header1:value2,value2,value1
         322  +
         323  +
host;my-header1
         324  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  880    325   
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
  881    326   
new file mode 100644
  882    327   
index 0000000..5d0d87f
  883         -
-- /dev/null
         328  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
  884    329   
@@ -0,0 +1 @@
         330  +
3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97
              \
 No newline at end of file
  885    331   
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
  886    332   
new file mode 100644
  887    333   
index 0000000..c1dfcf4
  888         -
-- /dev/null
         334  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
  889    335   
@@ -0,0 +1,6 @@
         336  +
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
         337  +
Host:example.amazonaws.com
         338  +
My-Header1:value2
         339  +
My-Header1:value2
         340  +
My-Header1:value1
         341  +
  890    342   
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
  891    343   
similarity index 53%
  892    344   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
  893    345   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
  894    346   
index 0a3350a..077c1bb 100644
  895         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
         347  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
  896    348   
@@ -1,4 +1,4 @@
  897    349   
AWS4-HMAC-SHA256
  898    350   
20150830T123600Z
  899    351   
20150830/us-east-1/service/aws4_request
  900         -
b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55
              \
 No newline at end of file
         352  +
fe8b58fb44117d598520befc07c144a5699c661a8db78f9ce4caee1655dec813
              \
 No newline at end of file
  901    353   
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
  902    354   
similarity index 100%
  903    355   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt
  904    356   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
  905    357   
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
  906    358   
similarity index 99%
  907    359   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
  908    360   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
  909    361   
index 45771c7..0468d80 100644
  910    362   
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
  911    363   
similarity index 82%
  912    364   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
  913    365   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
  914    366   
index 721a39f..8cb5476 100644
  915         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
         367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
  916    368   
@@ -1,9 +1,9 @@
  917    369   
GET
  918    370   
/
  919    371   
  920    372   
host:example.amazonaws.com
  921         -
my-header1:value1,value2,value3
         373  +
my-header1:value1 value2 value3
  922    374   
x-amz-date:20150830T123600Z
  923    375   
  924    376   
host;my-header1;x-amz-date
  925    377   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  926    378   
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
  927    379   
new file mode 100644
  928    380   
index 0000000..e6ff7a9
  929         -
-- /dev/null
         381  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
  930    382   
@@ -0,0 +1 @@
         383  +
cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
              \
 No newline at end of file
  931    384   
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
  932    385   
new file mode 100644
  933    386   
index 0000000..b5ef6a0
  934         -
-- /dev/null
         387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
  935    388   
@@ -0,0 +1,8 @@
         389  +
GET / HTTP/1.1
         390  +
Host:example.amazonaws.com
         391  +
My-Header1:value1
         392  +
  value2
         393  +
     value3
         394  +
X-Amz-Date:20150830T123600Z
         395  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
         396  +
  936    397   
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
  937    398   
similarity index 53%
  938    399   
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
  939    400   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
  940    401   
index fd43a41..97c7430 100644
  941         -
-- 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
         402  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
  942    403   
@@ -1,4 +1,4 @@
  943    404   
AWS4-HMAC-SHA256
  944    405   
20150830T123600Z
  945    406   
20150830/us-east-1/service/aws4_request
  946         -
704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89
              \
 No newline at end of file
         407  +
e99419459a677bc11de234014be3c4e72c1ea5b454ceb58b613061f5d7a162e8
              \
 No newline at end of file
  947    408   
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
  948    409   
new file mode 100644
  949    410   
index 0000000..aac46de
  950         -
-- /dev/null
         411  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
  951    412   
@@ -0,0 +1,8 @@
         413  +
GET
         414  +
/
         415  +
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
         416  +
host:example.amazonaws.com
         417  +
my-header1:value1 value2 value3
         418  +
         419  +
host;my-header1
         420  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  952    421   
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
  953    422   
new file mode 100644
  954    423   
index 0000000..205732d
  955         -
-- /dev/null
         424  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
  956    425   
@@ -0,0 +1 @@
         426  +
e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56
              \
 No newline at end of file
  957    427   
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
  958    428   
new file mode 100644
  959    429   
index 0000000..a891b87
  960         -
-- /dev/null
         430  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
  961    431   
@@ -0,0 +1,6 @@
         432  +
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
         433  +
Host:example.amazonaws.com
         434  +
My-Header1:value1
         435  +
  value2
         436  +
     value3
         437  +
  962    438   
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
  963    439   
similarity index 53%
  964    440   
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
  965    441   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
  966    442   
index 90e66b8..ec3fe45 100644
  967         -
-- 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
         443  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
  968    444   
@@ -1,4 +1,4 @@
  969    445   
AWS4-HMAC-SHA256
  970    446   
20150830T123600Z
  971    447   
20150830/us-east-1/service/aws4_request
  972         -
c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606
              \
 No newline at end of file
         448  +
0e73c10e35324b4d215da4bb70be61d13a3d30d569be4ed6e8fd8948965341ca
              \
 No newline at end of file
  973    449   
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
  974    450   
similarity index 75%
  975    451   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
  976    452   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
  977    453   
index 7caa6ac..b5026cd 100644
  978         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
         454  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
  979    455   
@@ -1,6 +1,5 @@
  980    456   
GET / HTTP/1.1
  981    457   
Host:example.amazonaws.com
  982    458   
My-Header1:value1
  983    459   
  value2
  984    460   
     value3
  985         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
  986    461   
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
  987    462   
similarity index 99%
  988    463   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
  989    464   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
  990    465   
index 45771c7..0468d80 100644
  991    466   
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
  992    467   
similarity index 100%
  993    468   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq
  994    469   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
  995    470   
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
  996    471   
new file mode 100644
  997    472   
index 0000000..8ef0494
  998         -
-- /dev/null
         473  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
  999    474   
@@ -0,0 +1 @@
         475  +
08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
 1000    476   
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
 1001    477   
new file mode 100644
 1002    478   
index 0000000..b786dc9
 1003         -
-- /dev/null
         479  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
 1004    480   
@@ -0,0 +1,9 @@
         481  +
GET / HTTP/1.1
         482  +
Host:example.amazonaws.com
         483  +
My-Header1:value4
         484  +
My-Header1:value1
         485  +
My-Header1:value3
         486  +
My-Header1:value2
         487  +
X-Amz-Date:20150830T123600Z
         488  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
         489  +
 1005    490   
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
 1006    491   
similarity index 100%
 1007    492   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts
 1008    493   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
 1009    494   
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
 1010    495   
new file mode 100644
 1011    496   
index 0000000..a211cc5
 1012         -
-- /dev/null
         497  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
 1013    498   
@@ -0,0 +1,8 @@
         499  +
GET
         500  +
/
         501  +
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
         502  +
host:example.amazonaws.com
         503  +
my-header1:value4,value1,value3,value2
         504  +
         505  +
host;my-header1
         506  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1014    507   
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
 1015    508   
new file mode 100644
 1016    509   
index 0000000..417b0fa
 1017         -
-- /dev/null
         510  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
 1018    511   
@@ -0,0 +1 @@
         512  +
313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e
              \
 No newline at end of file
 1019    513   
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
 1020    514   
new file mode 100644
 1021    515   
index 0000000..b615e5d
 1022         -
-- /dev/null
         516  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
 1023    517   
@@ -0,0 +1,7 @@
         518  +
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
         519  +
Host:example.amazonaws.com
         520  +
My-Header1:value4
         521  +
My-Header1:value1
         522  +
My-Header1:value3
         523  +
My-Header1:value2
         524  +
 1024    525   
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
 1025    526   
similarity index 53%
 1026    527   
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
 1027    528   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1028    529   
index f7e615e..dcaaa1b 100644
 1029         -
-- 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
         530  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1030    531   
@@ -1,4 +1,4 @@
 1031    532   
AWS4-HMAC-SHA256
 1032    533   
20150830T123600Z
 1033    534   
20150830/us-east-1/service/aws4_request
 1034         -
5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9
              \
 No newline at end of file
         535  +
f4d3f13084ba7664111670ce26458291d3e0c620acd9384f8cd6b60d8e83423e
              \
 No newline at end of file
 1035    536   
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
 1036    537   
similarity index 100%
 1037    538   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt
 1038    539   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1039    540   
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
 1040    541   
similarity index 99%
 1041    542   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
 1042    543   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1043    544   
index 45771c7..0468d80 100644
 1044    545   
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
 1045    546   
similarity index 100%
 1046    547   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq
 1047    548   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1048    549   
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
 1049    550   
new file mode 100644
 1050    551   
index 0000000..36081a9
 1051         -
-- /dev/null
         552  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1052    553   
@@ -0,0 +1 @@
         554  +
acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
 1053    555   
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
 1054    556   
new file mode 100644
 1055    557   
index 0000000..6331d16
 1056         -
-- /dev/null
         558  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1057    559   
@@ -0,0 +1,7 @@
         560  +
GET / HTTP/1.1
         561  +
Host:example.amazonaws.com
         562  +
My-Header1: value1
         563  +
My-Header2: "a   b   c"
         564  +
X-Amz-Date:20150830T123600Z
         565  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
         566  +
 1058    567   
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
 1059    568   
similarity index 100%
 1060    569   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts
 1061    570   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1062    571   
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
 1063    572   
new file mode 100644
 1064    573   
index 0000000..125c1f9
 1065         -
-- /dev/null
         574  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1066    575   
@@ -0,0 +1,9 @@
         576  +
GET
         577  +
/
         578  +
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
         579  +
host:example.amazonaws.com
         580  +
my-header1:value1
         581  +
my-header2:"a b c"
         582  +
         583  +
host;my-header1;my-header2
         584  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1067    585   
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
 1068    586   
new file mode 100644
 1069    587   
index 0000000..17007a8
 1070         -
-- /dev/null
         588  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1071    589   
@@ -0,0 +1 @@
         590  +
e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4
              \
 No newline at end of file
 1072    591   
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
 1073    592   
new file mode 100644
 1074    593   
index 0000000..e519fd9
 1075         -
-- /dev/null
         594  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1076    595   
@@ -0,0 +1,5 @@
         596  +
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
         597  +
Host:example.amazonaws.com
         598  +
My-Header1: value1
         599  +
My-Header2: "a   b   c"
         600  +
 1077    601   
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
 1078    602   
new file mode 100644
 1079    603   
index 0000000..6b4b781
 1080         -
-- /dev/null
         604  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1081    605   
@@ -0,0 +1,4 @@
         606  +
AWS4-HMAC-SHA256
         607  +
20150830T123600Z
         608  +
20150830/us-east-1/service/aws4_request
         609  +
84c9e353b6161b689210977f93b93e6a7182f9ecb2ceae8af8c3d86b080a88ae
              \
 No newline at end of file
 1082    610   
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
 1083    611   
similarity index 100%
 1084    612   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt
 1085    613   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1086    614   
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
 1087    615   
new file mode 100644
 1088    616   
index 0000000..0468d80
 1089         -
-- /dev/null
         617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1090    618   
@@ -0,0 +1,12 @@
         619  +
{
         620  +
    "credentials": {
         621  +
        "access_key_id": "AKIDEXAMPLE",
         622  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         623  +
    },
         624  +
    "expiration_in_seconds": 3600,
         625  +
    "normalize": true,
         626  +
    "region": "us-east-1",
         627  +
    "service": "service",
         628  +
    "sign_body": false,
         629  +
    "timestamp": "2015-08-30T12:36:00Z"
         630  +
}
              \
 No newline at end of file
 1091    631   
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
 1092    632   
similarity index 100%
 1093    633   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq
 1094    634   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1095    635   
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
 1096    636   
new file mode 100644
 1097    637   
index 0000000..87f295f
 1098         -
-- /dev/null
         638  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1099    639   
@@ -0,0 +1 @@
         640  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1100    641   
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
 1101    642   
new file mode 100644
 1102    643   
index 0000000..0de8327
 1103         -
-- /dev/null
         644  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1104    645   
@@ -0,0 +1,5 @@
         646  +
GET /example/.. HTTP/1.1
         647  +
Host:example.amazonaws.com
         648  +
X-Amz-Date:20150830T123600Z
         649  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         650  +
 1105    651   
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
 1106    652   
similarity index 100%
 1107    653   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts
 1108    654   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1109    655   
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
 1110    656   
new file mode 100644
 1111    657   
index 0000000..fb2420d
 1112         -
-- /dev/null
         658  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1113    659   
@@ -0,0 +1,7 @@
         660  +
GET
         661  +
/
         662  +
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
         663  +
host:example.amazonaws.com
         664  +
         665  +
host
         666  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1114    667   
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
 1115    668   
new file mode 100644
 1116    669   
index 0000000..da5c905
 1117         -
-- /dev/null
         670  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1118    671   
@@ -0,0 +1 @@
         672  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1119    673   
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
 1120    674   
new file mode 100644
 1121    675   
index 0000000..4329c98
 1122         -
-- /dev/null
         676  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1123    677   
@@ -0,0 +1,3 @@
         678  +
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
         679  +
Host:example.amazonaws.com
         680  +
 1124    681   
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
 1125    682   
new file mode 100644
 1126    683   
index 0000000..d837e67
 1127         -
-- /dev/null
         684  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1128    685   
@@ -0,0 +1,4 @@
         686  +
AWS4-HMAC-SHA256
         687  +
20150830T123600Z
         688  +
20150830/us-east-1/service/aws4_request
         689  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1129    690   
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
 1130    691   
similarity index 100%
 1131    692   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt
 1132    693   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1133    694   
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
 1134    695   
new file mode 100644
 1135    696   
index 0000000..0468d80
 1136         -
-- /dev/null
         697  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1137    698   
@@ -0,0 +1,12 @@
         699  +
{
         700  +
    "credentials": {
         701  +
        "access_key_id": "AKIDEXAMPLE",
         702  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         703  +
    },
         704  +
    "expiration_in_seconds": 3600,
         705  +
    "normalize": true,
         706  +
    "region": "us-east-1",
         707  +
    "service": "service",
         708  +
    "sign_body": false,
         709  +
    "timestamp": "2015-08-30T12:36:00Z"
         710  +
}
              \
 No newline at end of file
 1138    711   
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
 1139    712   
similarity index 100%
 1140    713   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq
 1141    714   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1142    715   
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
 1143    716   
new file mode 100644
 1144    717   
index 0000000..87f295f
 1145         -
-- /dev/null
         718  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1146    719   
@@ -0,0 +1 @@
         720  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1147    721   
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
 1148    722   
new file mode 100644
 1149    723   
index 0000000..f9b3815
 1150         -
-- /dev/null
         724  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1151    725   
@@ -0,0 +1,5 @@
         726  +
GET /example1/example2/../.. HTTP/1.1
         727  +
Host:example.amazonaws.com
         728  +
X-Amz-Date:20150830T123600Z
         729  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         730  +
 1152    731   
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
 1153    732   
similarity index 100%
 1154    733   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts
 1155    734   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1156    735   
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
 1157    736   
new file mode 100644
 1158    737   
index 0000000..fb2420d
 1159         -
-- /dev/null
         738  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1160    739   
@@ -0,0 +1,7 @@
         740  +
GET
         741  +
/
         742  +
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
         743  +
host:example.amazonaws.com
         744  +
         745  +
host
         746  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1161    747   
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
 1162    748   
new file mode 100644
 1163    749   
index 0000000..da5c905
 1164         -
-- /dev/null
         750  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1165    751   
@@ -0,0 +1 @@
         752  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1166    753   
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
 1167    754   
new file mode 100644
 1168    755   
index 0000000..b2988b7
 1169         -
-- /dev/null
         756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1170    757   
@@ -0,0 +1,3 @@
         758  +
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
         759  +
Host:example.amazonaws.com
         760  +
 1171    761   
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
 1172    762   
new file mode 100644
 1173    763   
index 0000000..d837e67
 1174         -
-- /dev/null
         764  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1175    765   
@@ -0,0 +1,4 @@
         766  +
AWS4-HMAC-SHA256
         767  +
20150830T123600Z
         768  +
20150830/us-east-1/service/aws4_request
         769  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1176    770   
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
 1177    771   
similarity index 100%
 1178    772   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt
 1179    773   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1180    774   
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
 1181    775   
similarity index 99%
 1182    776   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
 1183    777   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1184    778   
index afe367b..7bee5c7 100644
 1185    779   
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
 1186    780   
similarity index 82%
 1187    781   
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
 1188    782   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1189    783   
index 36c3cdf..6919c44 100644
 1190         -
-- 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
         784  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1191    785   
@@ -1,8 +1,8 @@
 1192    786   
GET
 1193         -
/
 1194         -
Param1=Value1&Param1=value2
         787  +
/example1/example2/../..
         788  +
 1195    789   
host:example.amazonaws.com
 1196    790   
x-amz-date:20150830T123600Z
 1197    791   
 1198    792   
host;x-amz-date
 1199    793   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1200    794   
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
 1201    795   
new file mode 100644
 1202    796   
index 0000000..4092d83
 1203         -
-- /dev/null
         797  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1204    798   
@@ -0,0 +1 @@
         799  +
dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
              \
 No newline at end of file
 1205    800   
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
 1206    801   
new file mode 100644
 1207    802   
index 0000000..e731b35
 1208         -
-- /dev/null
         803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1209    804   
@@ -0,0 +1,5 @@
         805  +
GET /example1/example2/../.. HTTP/1.1
         806  +
Host:example.amazonaws.com
         807  +
X-Amz-Date:20150830T123600Z
         808  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
         809  +
 1210    810   
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
 1211    811   
new file mode 100644
 1212    812   
index 0000000..4f45752
 1213         -
-- /dev/null
         813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1214    814   
@@ -0,0 +1,4 @@
         815  +
AWS4-HMAC-SHA256
         816  +
20150830T123600Z
         817  +
20150830/us-east-1/service/aws4_request
         818  +
76115030c0f3ff06c20fdff5ceb6d5e0b835a1743e00b94fea7c7f381269437b
              \
 No newline at end of file
 1215    819   
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
 1216    820   
new file mode 100644
 1217    821   
index 0000000..e1fb07d
 1218         -
-- /dev/null
         822  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1219    823   
@@ -0,0 +1,7 @@
         824  +
GET
         825  +
/example1/example2/../..
         826  +
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
         827  +
host:example.amazonaws.com
         828  +
         829  +
host
         830  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1220    831   
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
 1221    832   
new file mode 100644
 1222    833   
index 0000000..8ac31d7
 1223         -
-- /dev/null
         834  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1224    835   
@@ -0,0 +1 @@
         836  +
b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16
              \
 No newline at end of file
 1225    837   
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
 1226    838   
new file mode 100644
 1227    839   
index 0000000..ac074f9
 1228         -
-- /dev/null
         840  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1229    841   
@@ -0,0 +1,3 @@
         842  +
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
         843  +
Host:example.amazonaws.com
         844  +
 1230    845   
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
 1231    846   
new file mode 100644
 1232    847   
index 0000000..8dcb6ff
 1233         -
-- /dev/null
         848  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1234    849   
@@ -0,0 +1,4 @@
         850  +
AWS4-HMAC-SHA256
         851  +
20150830T123600Z
         852  +
20150830/us-east-1/service/aws4_request
         853  +
13b7758115ec070fe36a7ae9d754154ad73f6ee9a5eac022494857d0e7effc18
              \
 No newline at end of file
 1235    854   
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
 1236    855   
similarity index 100%
 1237    856   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt
 1238    857   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1239    858   
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
 1240    859   
similarity index 99%
 1241    860   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
 1242    861   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1243    862   
index afe367b..7bee5c7 100644
 1244    863   
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
 1245    864   
similarity index 82%
 1246    865   
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
 1247    866   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1248    867   
index 26898eb..f640bc2 100644
 1249         -
-- 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
         868  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1250    869   
@@ -1,8 +1,8 @@
 1251    870   
GET
 1252         -
/
 1253         -
Param1=value1&Param1=value2
         871  +
/example/..
         872  +
 1254    873   
host:example.amazonaws.com
 1255    874   
x-amz-date:20150830T123600Z
 1256    875   
 1257    876   
host;x-amz-date
 1258    877   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1259    878   
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
 1260    879   
new file mode 100644
 1261    880   
index 0000000..d957303
 1262         -
-- /dev/null
         881  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1263    882   
@@ -0,0 +1 @@
         883  +
eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
              \
 No newline at end of file
 1264    884   
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
 1265    885   
new file mode 100644
 1266    886   
index 0000000..4f42ffc
 1267         -
-- /dev/null
         887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1268    888   
@@ -0,0 +1,5 @@
         889  +
GET /example/.. HTTP/1.1
         890  +
Host:example.amazonaws.com
         891  +
X-Amz-Date:20150830T123600Z
         892  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
         893  +
 1269    894   
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
 1270    895   
new file mode 100644
 1271    896   
index 0000000..ca54bda
 1272         -
-- /dev/null
         897  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1273    898   
@@ -0,0 +1,4 @@
         899  +
AWS4-HMAC-SHA256
         900  +
20150830T123600Z
         901  +
20150830/us-east-1/service/aws4_request
         902  +
0511f456aa502b456d135fcb9d749374a55228f9dbeedda1eacf659e05b0615b
              \
 No newline at end of file
 1274    903   
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
 1275    904   
new file mode 100644
 1276    905   
index 0000000..dc80036
 1277         -
-- /dev/null
         906  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1278    907   
@@ -0,0 +1,7 @@
         908  +
GET
         909  +
/example/..
         910  +
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
         911  +
host:example.amazonaws.com
         912  +
         913  +
host
         914  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1279    915   
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
 1280    916   
new file mode 100644
 1281    917   
index 0000000..dfa0437
 1282         -
-- /dev/null
         918  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1283    919   
@@ -0,0 +1 @@
         920  +
cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee
              \
 No newline at end of file
 1284    921   
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
 1285    922   
new file mode 100644
 1286    923   
index 0000000..98367b1
 1287         -
-- /dev/null
         924  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1288    925   
@@ -0,0 +1,3 @@
         926  +
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
         927  +
Host:example.amazonaws.com
         928  +
 1289    929   
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
 1290    930   
new file mode 100644
 1291    931   
index 0000000..f65dd66
 1292         -
-- /dev/null
         932  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1293    933   
@@ -0,0 +1,4 @@
         934  +
AWS4-HMAC-SHA256
         935  +
20150830T123600Z
         936  +
20150830/us-east-1/service/aws4_request
         937  +
6e02e2dba21d6f269bae339b86ff27a4b7bbc9d88c482abccbfbf8a49d602482
              \
 No newline at end of file
 1294    938   
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
 1295    939   
similarity index 100%
 1296    940   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt
 1297    941   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1298    942   
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
 1299    943   
new file mode 100644
 1300    944   
index 0000000..0468d80
 1301         -
-- /dev/null
         945  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1302    946   
@@ -0,0 +1,12 @@
         947  +
{
         948  +
    "credentials": {
         949  +
        "access_key_id": "AKIDEXAMPLE",
         950  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         951  +
    },
         952  +
    "expiration_in_seconds": 3600,
         953  +
    "normalize": true,
         954  +
    "region": "us-east-1",
         955  +
    "service": "service",
         956  +
    "sign_body": false,
         957  +
    "timestamp": "2015-08-30T12:36:00Z"
         958  +
}
              \
 No newline at end of file
 1303    959   
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
 1304    960   
similarity index 100%
 1305    961   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq
 1306    962   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1307    963   
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
 1308    964   
new file mode 100644
 1309    965   
index 0000000..87f295f
 1310         -
-- /dev/null
         966  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1311    967   
@@ -0,0 +1 @@
         968  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1312    969   
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
 1313    970   
new file mode 100644
 1314    971   
index 0000000..99c8eeb
 1315         -
-- /dev/null
         972  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1316    973   
@@ -0,0 +1,5 @@
         974  +
GET /./ HTTP/1.1
         975  +
Host:example.amazonaws.com
         976  +
X-Amz-Date:20150830T123600Z
         977  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         978  +
 1317    979   
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
 1318    980   
similarity index 100%
 1319    981   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts
 1320    982   
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
 1321    983   
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
 1322    984   
new file mode 100644
 1323    985   
index 0000000..fb2420d
 1324         -
-- /dev/null
         986  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1325    987   
@@ -0,0 +1,7 @@
         988  +
GET
         989  +
/
         990  +
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
         991  +
host:example.amazonaws.com
         992  +
         993  +
host
         994  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1326    995   
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
 1327    996   
new file mode 100644
 1328    997   
index 0000000..da5c905
 1329         -
-- /dev/null
         998  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1330    999   
@@ -0,0 +1 @@
        1000  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1331   1001   
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
 1332   1002   
new file mode 100644
 1333   1003   
index 0000000..2e47f69
 1334         -
-- /dev/null
        1004  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1335   1005   
@@ -0,0 +1,3 @@
        1006  +
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
        1007  +
Host:example.amazonaws.com
        1008  +
 1336   1009   
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
 1337   1010   
new file mode 100644
 1338   1011   
index 0000000..d837e67
 1339         -
-- /dev/null
        1012  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1340   1013   
@@ -0,0 +1,4 @@
        1014  +
AWS4-HMAC-SHA256
        1015  +
20150830T123600Z
        1016  +
20150830/us-east-1/service/aws4_request
        1017  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1341   1018   
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
 1342   1019   
similarity index 100%
 1343   1020   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt
 1344   1021   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1345   1022   
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
 1346   1023   
similarity index 99%
 1347   1024   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
 1348   1025   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1349   1026   
index afe367b..7bee5c7 100644
 1350   1027   
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
 1351   1028   
new file mode 100644
 1352   1029   
index 0000000..5159048
 1353         -
-- /dev/null
        1030  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1354   1031   
@@ -0,0 +1,8 @@
        1032  +
GET
        1033  +
/./
        1034  +
        1035  +
host:example.amazonaws.com
        1036  +
x-amz-date:20150830T123600Z
        1037  +
        1038  +
host;x-amz-date
        1039  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1355   1040   
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
 1356   1041   
new file mode 100644
 1357   1042   
index 0000000..b49ff0e
 1358         -
-- /dev/null
        1043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1359   1044   
@@ -0,0 +1 @@
        1045  +
68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
              \
 No newline at end of file
 1360   1046   
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
 1361   1047   
new file mode 100644
 1362   1048   
index 0000000..aeb1ffa
 1363         -
-- /dev/null
        1049  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1364   1050   
@@ -0,0 +1,5 @@
        1051  +
GET /./ HTTP/1.1
        1052  +
Host:example.amazonaws.com
        1053  +
X-Amz-Date:20150830T123600Z
        1054  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
        1055  +
 1365   1056   
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
 1366   1057   
new file mode 100644
 1367   1058   
index 0000000..b7d8caf
 1368         -
-- /dev/null
        1059  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1369   1060   
@@ -0,0 +1,4 @@
        1061  +
AWS4-HMAC-SHA256
        1062  +
20150830T123600Z
        1063  +
20150830/us-east-1/service/aws4_request
        1064  +
d67825e2268bd77a97c7688b8d72c31a3c1855b309808505ba0a9747d2465aa7
              \
 No newline at end of file
 1370   1065   
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
 1371   1066   
new file mode 100644
 1372   1067   
index 0000000..d4e029e
 1373         -
-- /dev/null
        1068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1374   1069   
@@ -0,0 +1,7 @@
        1070  +
GET
        1071  +
/./
        1072  +
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
        1073  +
host:example.amazonaws.com
        1074  +
        1075  +
host
        1076  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1375   1077   
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
 1376   1078   
new file mode 100644
 1377   1079   
index 0000000..fe8f4cc
 1378         -
-- /dev/null
        1080  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1379   1081   
@@ -0,0 +1 @@
        1082  +
a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c
              \
 No newline at end of file
 1380   1083   
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
 1381   1084   
new file mode 100644
 1382   1085   
index 0000000..dcc4fc4
 1383         -
-- /dev/null
        1086  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1384   1087   
@@ -0,0 +1,3 @@
        1088  +
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
        1089  +
Host:example.amazonaws.com
        1090  +
 1385   1091   
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
 1386   1092   
new file mode 100644
 1387   1093   
index 0000000..5fb3ada
 1388         -
-- /dev/null
        1094  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1389   1095   
@@ -0,0 +1,4 @@
        1096  +
AWS4-HMAC-SHA256
        1097  +
20150830T123600Z
        1098  +
20150830/us-east-1/service/aws4_request
        1099  +
21b2da17873f30c1a7410efdc271738b318ccc2c9c6fbe1289fc242aeb1a8ae1
              \
 No newline at end of file
 1390   1100   
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
 1391   1101   
similarity index 100%
 1392   1102   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt
 1393   1103   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1394   1104   
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
 1395   1105   
new file mode 100644
 1396   1106   
index 0000000..0468d80
 1397         -
-- /dev/null
        1107  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1398   1108   
@@ -0,0 +1,12 @@
        1109  +
{
        1110  +
    "credentials": {
        1111  +
        "access_key_id": "AKIDEXAMPLE",
        1112  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1113  +
    },
        1114  +
    "expiration_in_seconds": 3600,
        1115  +
    "normalize": true,
        1116  +
    "region": "us-east-1",
        1117  +
    "service": "service",
        1118  +
    "sign_body": false,
        1119  +
    "timestamp": "2015-08-30T12:36:00Z"
        1120  +
}
              \
 No newline at end of file
 1399   1121   
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
 1400   1122   
similarity index 100%
 1401   1123   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq
 1402   1124   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1403   1125   
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
 1404   1126   
new file mode 100644
 1405   1127   
index 0000000..87f295f
 1406         -
-- /dev/null
        1128  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1407   1129   
@@ -0,0 +1 @@
        1130  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1408   1131   
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
 1409   1132   
new file mode 100644
 1410   1133   
index 0000000..b91087b
 1411         -
-- /dev/null
        1134  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1412   1135   
@@ -0,0 +1,5 @@
        1136  +
GET // HTTP/1.1
        1137  +
Host:example.amazonaws.com
        1138  +
X-Amz-Date:20150830T123600Z
        1139  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1140  +
 1413   1141   
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
 1414   1142   
similarity index 100%
 1415   1143   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts
 1416   1144   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1417   1145   
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
 1418   1146   
new file mode 100644
 1419   1147   
index 0000000..fb2420d
 1420         -
-- /dev/null
        1148  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1421   1149   
@@ -0,0 +1,7 @@
        1150  +
GET
        1151  +
/
        1152  +
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
        1153  +
host:example.amazonaws.com
        1154  +
        1155  +
host
        1156  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1422   1157   
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
 1423   1158   
new file mode 100644
 1424   1159   
index 0000000..da5c905
 1425         -
-- /dev/null
        1160  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1426   1161   
@@ -0,0 +1 @@
        1162  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1427   1163   
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
 1428   1164   
new file mode 100644
 1429   1165   
index 0000000..0290ba4
 1430         -
-- /dev/null
        1166  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1431   1167   
@@ -0,0 +1,3 @@
        1168  +
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
        1169  +
Host:example.amazonaws.com
        1170  +
 1432   1171   
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
 1433   1172   
new file mode 100644
 1434   1173   
index 0000000..d837e67
 1435         -
-- /dev/null
        1174  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1436   1175   
@@ -0,0 +1,4 @@
        1176  +
AWS4-HMAC-SHA256
        1177  +
20150830T123600Z
        1178  +
20150830/us-east-1/service/aws4_request
        1179  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1437   1180   
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
 1438   1181   
similarity index 100%
 1439   1182   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt
 1440   1183   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1441   1184   
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
 1442   1185   
new file mode 100644
 1443   1186   
index 0000000..0468d80
 1444         -
-- /dev/null
        1187  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1445   1188   
@@ -0,0 +1,12 @@
        1189  +
{
        1190  +
    "credentials": {
        1191  +
        "access_key_id": "AKIDEXAMPLE",
        1192  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1193  +
    },
        1194  +
    "expiration_in_seconds": 3600,
        1195  +
    "normalize": true,
        1196  +
    "region": "us-east-1",
        1197  +
    "service": "service",
        1198  +
    "sign_body": false,
        1199  +
    "timestamp": "2015-08-30T12:36:00Z"
        1200  +
}
              \
 No newline at end of file
 1446   1201   
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
 1447   1202   
similarity index 100%
 1448   1203   
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
 1449   1204   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1450   1205   
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
 1451   1206   
new file mode 100644
 1452   1207   
index 0000000..8f892bf
 1453         -
-- /dev/null
        1208  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1454   1209   
@@ -0,0 +1 @@
        1210  +
ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
 1455   1211   
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
 1456   1212   
new file mode 100644
 1457   1213   
index 0000000..2a1895c
 1458         -
-- /dev/null
        1214  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1459   1215   
@@ -0,0 +1,5 @@
        1216  +
GET /./example HTTP/1.1
        1217  +
Host:example.amazonaws.com
        1218  +
X-Amz-Date:20150830T123600Z
        1219  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
        1220  +
 1460   1221   
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
 1461   1222   
similarity index 100%
 1462   1223   
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
 1463   1224   
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
 1464   1225   
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
 1465   1226   
new file mode 100644
 1466   1227   
index 0000000..99dfc2a
 1467         -
-- /dev/null
        1228  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1468   1229   
@@ -0,0 +1,7 @@
        1230  +
GET
        1231  +
/example
        1232  +
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
        1233  +
host:example.amazonaws.com
        1234  +
        1235  +
host
        1236  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1469   1237   
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
 1470   1238   
new file mode 100644
 1471   1239   
index 0000000..fcd7a17
 1472         -
-- /dev/null
        1240  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1473   1241   
@@ -0,0 +1 @@
        1242  +
35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de
              \
 No newline at end of file
 1474   1243   
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
 1475   1244   
new file mode 100644
 1476   1245   
index 0000000..f671de2
 1477         -
-- /dev/null
        1246  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1478   1247   
@@ -0,0 +1,3 @@
        1248  +
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
        1249  +
Host:example.amazonaws.com
        1250  +
 1479   1251   
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
 1480   1252   
new file mode 100644
 1481   1253   
index 0000000..f8456dc
 1482         -
-- /dev/null
        1254  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1483   1255   
@@ -0,0 +1,4 @@
        1256  +
AWS4-HMAC-SHA256
        1257  +
20150830T123600Z
        1258  +
20150830/us-east-1/service/aws4_request
        1259  +
88dd73bb06de69cb042dbb82cadbb4fce1a2623615d94520c271614abf94e738
              \
 No newline at end of file
 1484   1260   
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
 1485   1261   
similarity index 100%
 1486   1262   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt
 1487   1263   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1488   1264   
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
 1489   1265   
similarity index 99%
 1490   1266   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
 1491   1267   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1492   1268   
index afe367b..7bee5c7 100644
 1493   1269   
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
 1494   1270   
new file mode 100644
 1495   1271   
index 0000000..36698c7
 1496         -
-- /dev/null
        1272  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1497   1273   
@@ -0,0 +1,8 @@
        1274  +
GET
        1275  +
/./example
        1276  +
        1277  +
host:example.amazonaws.com
        1278  +
x-amz-date:20150830T123600Z
        1279  +
        1280  +
host;x-amz-date
        1281  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1498   1282   
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
 1499   1283   
new file mode 100644
 1500   1284   
index 0000000..4a4b8f2
 1501         -
-- /dev/null
        1285  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1502   1286   
@@ -0,0 +1 @@
        1287  +
beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
              \
 No newline at end of file
 1503   1288   
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
 1504   1289   
new file mode 100644
 1505   1290   
index 0000000..d462bcd
 1506         -
-- /dev/null
        1291  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1507   1292   
@@ -0,0 +1,5 @@
        1293  +
GET /./example HTTP/1.1
        1294  +
Host:example.amazonaws.com
        1295  +
X-Amz-Date:20150830T123600Z
        1296  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
        1297  +
 1508   1298   
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
 1509   1299   
new file mode 100644
 1510   1300   
index 0000000..8be78c9
 1511         -
-- /dev/null
        1301  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1512   1302   
@@ -0,0 +1,4 @@
        1303  +
AWS4-HMAC-SHA256
        1304  +
20150830T123600Z
        1305  +
20150830/us-east-1/service/aws4_request
        1306  +
73895e0e829507e28e39fd24669aedc2434a8e179e547e3c075b42921f952cdb
              \
 No newline at end of file
 1513   1307   
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
 1514   1308   
new file mode 100644
 1515   1309   
index 0000000..fe1103c
 1516         -
-- /dev/null
        1310  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1517   1311   
@@ -0,0 +1,7 @@
        1312  +
GET
        1313  +
/./example
        1314  +
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
        1315  +
host:example.amazonaws.com
        1316  +
        1317  +
host
        1318  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1518   1319   
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
 1519   1320   
new file mode 100644
 1520   1321   
index 0000000..ce80762
 1521         -
-- /dev/null
        1322  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1522   1323   
@@ -0,0 +1 @@
        1324  +
72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10
              \
 No newline at end of file
 1523   1325   
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
 1524   1326   
new file mode 100644
 1525   1327   
index 0000000..30841a6
 1526         -
-- /dev/null
        1328  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1527   1329   
@@ -0,0 +1,3 @@
        1330  +
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
        1331  +
Host:example.amazonaws.com
        1332  +
 1528   1333   
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
 1529   1334   
new file mode 100644
 1530   1335   
index 0000000..5c66509
 1531         -
-- /dev/null
        1336  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1532   1337   
@@ -0,0 +1,4 @@
        1338  +
AWS4-HMAC-SHA256
        1339  +
20150830T123600Z
        1340  +
20150830/us-east-1/service/aws4_request
        1341  +
cb23444939471187ac1f0fb25d437337af0d5f48b5ae0ede5baa3727c8c6af92
              \
 No newline at end of file
 1533   1342   
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
 1534   1343   
similarity index 100%
 1535   1344   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt
 1536   1345   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1537   1346   
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
 1538   1347   
new file mode 100644
 1539   1348   
index 0000000..7bee5c7
 1540         -
-- /dev/null
        1349  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1541   1350   
@@ -0,0 +1,12 @@
        1351  +
{
        1352  +
    "credentials": {
        1353  +
        "access_key_id": "AKIDEXAMPLE",
        1354  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1355  +
    },
        1356  +
    "expiration_in_seconds": 3600,
        1357  +
    "normalize": false,
        1358  +
    "region": "us-east-1",
        1359  +
    "service": "service",
        1360  +
    "sign_body": false,
        1361  +
    "timestamp": "2015-08-30T12:36:00Z"
        1362  +
}
              \
 No newline at end of file
 1542   1363   
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
 1543   1364   
new file mode 100644
 1544   1365   
index 0000000..5860c8a
 1545         -
-- /dev/null
        1366  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1546   1367   
@@ -0,0 +1,8 @@
        1368  +
GET
        1369  +
//
        1370  +
        1371  +
host:example.amazonaws.com
        1372  +
x-amz-date:20150830T123600Z
        1373  +
        1374  +
host;x-amz-date
        1375  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1547   1376   
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
 1548   1377   
new file mode 100644
 1549   1378   
index 0000000..8310471
 1550         -
-- /dev/null
        1379  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1551   1380   
@@ -0,0 +1 @@
        1381  +
c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
              \
 No newline at end of file
 1552   1382   
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
 1553   1383   
new file mode 100644
 1554   1384   
index 0000000..2a7afef
 1555         -
-- /dev/null
        1385  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1556   1386   
@@ -0,0 +1,5 @@
        1387  +
GET // HTTP/1.1
        1388  +
Host:example.amazonaws.com
        1389  +
X-Amz-Date:20150830T123600Z
        1390  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
        1391  +
 1557   1392   
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
 1558   1393   
new file mode 100644
 1559   1394   
index 0000000..06059dd
 1560         -
-- /dev/null
        1395  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1561   1396   
@@ -0,0 +1,4 @@
        1397  +
AWS4-HMAC-SHA256
        1398  +
20150830T123600Z
        1399  +
20150830/us-east-1/service/aws4_request
        1400  +
80cb39203d058af815de2b79250ff56e1b73eb9b4718c86556cdc6f150c5d209
              \
 No newline at end of file
 1562   1401   
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
 1563   1402   
new file mode 100644
 1564   1403   
index 0000000..6d63aef
 1565         -
-- /dev/null
        1404  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1566   1405   
@@ -0,0 +1,7 @@
        1406  +
GET
        1407  +
//
        1408  +
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
        1409  +
host:example.amazonaws.com
        1410  +
        1411  +
host
        1412  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1567   1413   
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
 1568   1414   
new file mode 100644
 1569   1415   
index 0000000..e5b7b6c
 1570         -
-- /dev/null
        1416  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1571   1417   
@@ -0,0 +1 @@
        1418  +
b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd
              \
 No newline at end of file
 1572   1419   
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
 1573   1420   
new file mode 100644
 1574   1421   
index 0000000..46fe3fd
 1575         -
-- /dev/null
        1422  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1576   1423   
@@ -0,0 +1,3 @@
        1424  +
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
        1425  +
Host:example.amazonaws.com
        1426  +
 1577   1427   
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
 1578   1428   
new file mode 100644
 1579   1429   
index 0000000..ea79940
 1580         -
-- /dev/null
        1430  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1581   1431   
@@ -0,0 +1,4 @@
        1432  +
AWS4-HMAC-SHA256
        1433  +
20150830T123600Z
        1434  +
20150830/us-east-1/service/aws4_request
        1435  +
e10a01494cafa1f2207c4de80c69b7a36d6f2d282aa63ee64a5ca50e175cf730
              \
 No newline at end of file
 1582   1436   
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
 1583   1437   
similarity index 100%
 1584   1438   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt
 1585   1439   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1586   1440   
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
 1587   1441   
new file mode 100644
 1588   1442   
index 0000000..0468d80
 1589         -
-- /dev/null
        1443  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1590   1444   
@@ -0,0 +1,12 @@
        1445  +
{
        1446  +
    "credentials": {
        1447  +
        "access_key_id": "AKIDEXAMPLE",
        1448  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1449  +
    },
        1450  +
    "expiration_in_seconds": 3600,
        1451  +
    "normalize": true,
        1452  +
    "region": "us-east-1",
        1453  +
    "service": "service",
        1454  +
    "sign_body": false,
        1455  +
    "timestamp": "2015-08-30T12:36:00Z"
        1456  +
}
              \
 No newline at end of file
 1591   1457   
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
 1592   1458   
similarity index 100%
 1593   1459   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq
 1594   1460   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1595   1461   
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
 1596   1462   
new file mode 100644
 1597   1463   
index 0000000..71c7bac
 1598         -
-- /dev/null
        1464  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1599   1465   
@@ -0,0 +1 @@
        1466  +
9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
 1600   1467   
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
 1601   1468   
new file mode 100644
 1602   1469   
index 0000000..0add1f1
 1603         -
-- /dev/null
        1470  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1604   1471   
@@ -0,0 +1,5 @@
        1472  +
GET //example// HTTP/1.1
        1473  +
Host:example.amazonaws.com
        1474  +
X-Amz-Date:20150830T123600Z
        1475  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
        1476  +
 1605   1477   
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
 1606   1478   
similarity index 100%
 1607   1479   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts
 1608   1480   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1609   1481   
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
 1610   1482   
new file mode 100644
 1611   1483   
index 0000000..ce72510
 1612         -
-- /dev/null
        1484  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1613   1485   
@@ -0,0 +1,7 @@
        1486  +
GET
        1487  +
/example/
        1488  +
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
        1489  +
host:example.amazonaws.com
        1490  +
        1491  +
host
        1492  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1614   1493   
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
 1615   1494   
new file mode 100644
 1616   1495   
index 0000000..265f387
 1617         -
-- /dev/null
        1496  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1618   1497   
@@ -0,0 +1 @@
        1498  +
c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082
              \
 No newline at end of file
 1619   1499   
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
 1620   1500   
new file mode 100644
 1621   1501   
index 0000000..e1fcb2e
 1622         -
-- /dev/null
        1502  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1623   1503   
@@ -0,0 +1,3 @@
        1504  +
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
        1505  +
Host:example.amazonaws.com
        1506  +
 1624   1507   
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
 1625   1508   
new file mode 100644
 1626   1509   
index 0000000..a14de61
 1627         -
-- /dev/null
        1510  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1628   1511   
@@ -0,0 +1,4 @@
        1512  +
AWS4-HMAC-SHA256
        1513  +
20150830T123600Z
        1514  +
20150830/us-east-1/service/aws4_request
        1515  +
1a3e3fe19998c62136ed2ff9c8531973a46d4a21b336f58e8fcad185ec64d642
              \
 No newline at end of file
 1629   1516   
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
 1630   1517   
similarity index 100%
 1631   1518   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt
 1632   1519   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1633   1520   
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
 1634   1521   
new file mode 100644
 1635   1522   
index 0000000..7bee5c7
 1636         -
-- /dev/null
        1523  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1637   1524   
@@ -0,0 +1,12 @@
        1525  +
{
        1526  +
    "credentials": {
        1527  +
        "access_key_id": "AKIDEXAMPLE",
        1528  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1529  +
    },
        1530  +
    "expiration_in_seconds": 3600,
        1531  +
    "normalize": false,
        1532  +
    "region": "us-east-1",
        1533  +
    "service": "service",
        1534  +
    "sign_body": false,
        1535  +
    "timestamp": "2015-08-30T12:36:00Z"
        1536  +
}
              \
 No newline at end of file
 1638   1537   
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
 1639   1538   
new file mode 100644
 1640   1539   
index 0000000..dfffaaf
 1641         -
-- /dev/null
        1540  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1642   1541   
@@ -0,0 +1,8 @@
        1542  +
GET
        1543  +
//example//
        1544  +
        1545  +
host:example.amazonaws.com
        1546  +
x-amz-date:20150830T123600Z
        1547  +
        1548  +
host;x-amz-date
        1549  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1643   1550   
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
 1644   1551   
new file mode 100644
 1645   1552   
index 0000000..edbcc0d
 1646         -
-- /dev/null
        1553  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1647   1554   
@@ -0,0 +1 @@
        1555  +
87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
              \
 No newline at end of file
 1648   1556   
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
 1649   1557   
new file mode 100644
 1650   1558   
index 0000000..4cc12dd
 1651         -
-- /dev/null
        1559  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1652   1560   
@@ -0,0 +1,5 @@
        1561  +
GET //example// HTTP/1.1
        1562  +
Host:example.amazonaws.com
        1563  +
X-Amz-Date:20150830T123600Z
        1564  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
        1565  +
 1653   1566   
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
 1654   1567   
new file mode 100644
 1655   1568   
index 0000000..3eba390
 1656         -
-- /dev/null
        1569  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1657   1570   
@@ -0,0 +1,4 @@
        1571  +
AWS4-HMAC-SHA256
        1572  +
20150830T123600Z
        1573  +
20150830/us-east-1/service/aws4_request
        1574  +
528ec3105ee1f34ab014bb0a1a45da0ed2742a4fea3555149e5b4d5d201eb240
              \
 No newline at end of file
 1658   1575   
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
 1659   1576   
new file mode 100644
 1660   1577   
index 0000000..f7844e3
 1661         -
-- /dev/null
        1578  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1662   1579   
@@ -0,0 +1,7 @@
        1580  +
GET
        1581  +
//example//
        1582  +
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
        1583  +
host:example.amazonaws.com
        1584  +
        1585  +
host
        1586  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1663   1587   
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
 1664   1588   
new file mode 100644
 1665   1589   
index 0000000..a8d6b96
 1666         -
-- /dev/null
        1590  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1667   1591   
@@ -0,0 +1 @@
        1592  +
822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2
              \
 No newline at end of file
 1668   1593   
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
 1669   1594   
new file mode 100644
 1670   1595   
index 0000000..a8322c6
 1671         -
-- /dev/null
        1596  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1672   1597   
@@ -0,0 +1,3 @@
        1598  +
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
        1599  +
Host:example.amazonaws.com
        1600  +
 1673   1601   
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
 1674   1602   
new file mode 100644
 1675   1603   
index 0000000..068724d
 1676         -
-- /dev/null
        1604  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1677   1605   
@@ -0,0 +1,4 @@
        1606  +
AWS4-HMAC-SHA256
        1607  +
20150830T123600Z
        1608  +
20150830/us-east-1/service/aws4_request
        1609  +
82241114f9a6320f054333c890952474aa7a0069d28a4326c3a8d95bbecc69ee
              \
 No newline at end of file
 1678   1610   
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
 1679   1611   
similarity index 100%
 1680   1612   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt
 1681   1613   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1682   1614   
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
 1683   1615   
new file mode 100644
 1684   1616   
index 0000000..0468d80
 1685         -
-- /dev/null
        1617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1686   1618   
@@ -0,0 +1,12 @@
        1619  +
{
        1620  +
    "credentials": {
        1621  +
        "access_key_id": "AKIDEXAMPLE",
        1622  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1623  +
    },
        1624  +
    "expiration_in_seconds": 3600,
        1625  +
    "normalize": true,
        1626  +
    "region": "us-east-1",
        1627  +
    "service": "service",
        1628  +
    "sign_body": false,
        1629  +
    "timestamp": "2015-08-30T12:36:00Z"
        1630  +
}
              \
 No newline at end of file
 1687   1631   
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
 1688   1632   
similarity index 100%
 1689   1633   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq
 1690   1634   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1691   1635   
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
 1692   1636   
new file mode 100644
 1693   1637   
index 0000000..f63892b
 1694         -
-- /dev/null
        1638  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1695   1639   
@@ -0,0 +1 @@
        1640  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1696   1641   
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
 1697   1642   
new file mode 100644
 1698   1643   
index 0000000..19cd5cb
 1699         -
-- /dev/null
        1644  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 1700   1645   
@@ -0,0 +1,5 @@
        1646  +
GET /example space/ HTTP/1.1
        1647  +
Host:example.amazonaws.com
        1648  +
X-Amz-Date:20150830T123600Z
        1649  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1650  +
 1701   1651   
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
 1702   1652   
similarity index 100%
 1703   1653   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts
 1704   1654   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 1705   1655   
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
 1706   1656   
new file mode 100644
 1707   1657   
index 0000000..fa3d3e2
 1708         -
-- /dev/null
        1658  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 1709   1659   
@@ -0,0 +1,7 @@
        1660  +
GET
        1661  +
/example%20space/
        1662  +
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
        1663  +
host:example.amazonaws.com
        1664  +
        1665  +
host
        1666  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1710   1667   
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
 1711   1668   
new file mode 100644
 1712   1669   
index 0000000..5b2e204
 1713         -
-- /dev/null
        1670  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 1714   1671   
@@ -0,0 +1 @@
        1672  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1715   1673   
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
 1716   1674   
new file mode 100644
 1717   1675   
index 0000000..93ca1d0
 1718         -
-- /dev/null
        1676  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 1719   1677   
@@ -0,0 +1,3 @@
        1678  +
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
        1679  +
Host:example.amazonaws.com
        1680  +
 1720   1681   
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
 1721   1682   
new file mode 100644
 1722   1683   
index 0000000..b4cb789
 1723         -
-- /dev/null
        1684  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 1724   1685   
@@ -0,0 +1,4 @@
        1686  +
AWS4-HMAC-SHA256
        1687  +
20150830T123600Z
        1688  +
20150830/us-east-1/service/aws4_request
        1689  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1725   1690   
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
 1726   1691   
new file mode 100644
 1727   1692   
index 0000000..860a277
 1728         -
-- /dev/null
        1693  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 1729   1694   
@@ -0,0 +1,2 @@
        1695  +
GET /example%20space/ HTTP/1.1
        1696  +
Host:example.amazonaws.com
 1730   1697   
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
 1731   1698   
new file mode 100644
 1732   1699   
index 0000000..7bee5c7
 1733         -
-- /dev/null
        1700  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 1734   1701   
@@ -0,0 +1,12 @@
        1702  +
{
        1703  +
    "credentials": {
        1704  +
        "access_key_id": "AKIDEXAMPLE",
        1705  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1706  +
    },
        1707  +
    "expiration_in_seconds": 3600,
        1708  +
    "normalize": false,
        1709  +
    "region": "us-east-1",
        1710  +
    "service": "service",
        1711  +
    "sign_body": false,
        1712  +
    "timestamp": "2015-08-30T12:36:00Z"
        1713  +
}
              \
 No newline at end of file
 1735   1714   
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
 1736   1715   
similarity index 66%
 1737   1716   
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
 1738   1717   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1739   1718   
index 71dc981..124a709 100644
 1740         -
-- 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
        1719  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1741   1720   
@@ -1,9 +1,8 @@
 1742         -
POST
 1743         -
/
        1721  +
GET
        1722  +
/example%20space/
 1744   1723   
 1745         -
content-type:application/x-www-form-urlencoded; charset=utf-8
 1746   1724   
host:example.amazonaws.com
 1747   1725   
x-amz-date:20150830T123600Z
 1748   1726   
 1749   1727   
host;x-amz-date
 1750   1728   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1751   1729   
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
 1752   1730   
new file mode 100644
 1753   1731   
index 0000000..f63892b
 1754         -
-- /dev/null
        1732  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 1755   1733   
@@ -0,0 +1 @@
        1734  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1756   1735   
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
 1757   1736   
new file mode 100644
 1758   1737   
index 0000000..19cd5cb
 1759         -
-- /dev/null
        1738  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 1760   1739   
@@ -0,0 +1,5 @@
        1740  +
GET /example space/ HTTP/1.1
        1741  +
Host:example.amazonaws.com
        1742  +
X-Amz-Date:20150830T123600Z
        1743  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1744  +
 1761   1745   
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
 1762   1746   
new file mode 100644
 1763   1747   
index 0000000..a633f0c
 1764         -
-- /dev/null
        1748  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 1765   1749   
@@ -0,0 +1,4 @@
        1750  +
AWS4-HMAC-SHA256
        1751  +
20150830T123600Z
        1752  +
20150830/us-east-1/service/aws4_request
        1753  +
63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86
              \
 No newline at end of file
 1766   1754   
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
 1767   1755   
new file mode 100644
 1768   1756   
index 0000000..fa3d3e2
 1769         -
-- /dev/null
        1757  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 1770   1758   
@@ -0,0 +1,7 @@
        1759  +
GET
        1760  +
/example%20space/
        1761  +
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
        1762  +
host:example.amazonaws.com
        1763  +
        1764  +
host
        1765  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1771   1766   
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
 1772   1767   
new file mode 100644
 1773   1768   
index 0000000..5b2e204
 1774         -
-- /dev/null
        1769  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 1775   1770   
@@ -0,0 +1 @@
        1771  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1776   1772   
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
 1777   1773   
new file mode 100644
 1778   1774   
index 0000000..93ca1d0
 1779         -
-- /dev/null
        1775  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 1780   1776   
@@ -0,0 +1,3 @@
        1777  +
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
        1778  +
Host:example.amazonaws.com
        1779  +
 1781   1780   
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
 1782   1781   
new file mode 100644
 1783   1782   
index 0000000..b4cb789
 1784         -
-- /dev/null
        1783  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 1785   1784   
@@ -0,0 +1,4 @@
        1785  +
AWS4-HMAC-SHA256
        1786  +
20150830T123600Z
        1787  +
20150830/us-east-1/service/aws4_request
        1788  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1786   1789   
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
 1787   1790   
similarity index 67%
 1788   1791   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
 1789   1792   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1790   1793   
index b7d5e8b..ab509ab 100644
 1791         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
        1794  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1792   1795   
@@ -1,3 +1,2 @@
 1793   1796   
GET /example space/ HTTP/1.1
 1794   1797   
Host:example.amazonaws.com
 1795         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1796   1798   
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
 1797   1799   
new file mode 100644
 1798   1800   
index 0000000..0468d80
 1799         -
-- /dev/null
        1801  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 1800   1802   
@@ -0,0 +1,12 @@
        1803  +
{
        1804  +
    "credentials": {
        1805  +
        "access_key_id": "AKIDEXAMPLE",
        1806  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1807  +
    },
        1808  +
    "expiration_in_seconds": 3600,
        1809  +
    "normalize": true,
        1810  +
    "region": "us-east-1",
        1811  +
    "service": "service",
        1812  +
    "sign_body": false,
        1813  +
    "timestamp": "2015-08-30T12:36:00Z"
        1814  +
}
              \
 No newline at end of file
 1801   1815   
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
 1802   1816   
similarity index 100%
 1803   1817   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq
 1804   1818   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 1805   1819   
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
 1806   1820   
new file mode 100644
 1807   1821   
index 0000000..e503354
 1808         -
-- /dev/null
        1822  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 1809   1823   
@@ -0,0 +1 @@
        1824  +
07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
 1810   1825   
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
 1811   1826   
new file mode 100644
 1812   1827   
index 0000000..4367892
 1813         -
-- /dev/null
        1828  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 1814   1829   
@@ -0,0 +1,5 @@
        1830  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        1831  +
Host:example.amazonaws.com
        1832  +
X-Amz-Date:20150830T123600Z
        1833  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
        1834  +
 1815   1835   
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
 1816   1836   
similarity index 100%
 1817   1837   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts
 1818   1838   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 1819   1839   
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
 1820   1840   
new file mode 100644
 1821   1841   
index 0000000..d7f0696
 1822         -
-- /dev/null
        1842  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 1823   1843   
@@ -0,0 +1,7 @@
        1844  +
GET
        1845  +
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
        1846  +
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
        1847  +
host:example.amazonaws.com
        1848  +
        1849  +
host
        1850  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1824   1851   
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
 1825   1852   
new file mode 100644
 1826   1853   
index 0000000..509e972
 1827         -
-- /dev/null
        1854  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 1828   1855   
@@ -0,0 +1 @@
        1856  +
95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005
              \
 No newline at end of file
 1829   1857   
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
 1830   1858   
new file mode 100644
 1831   1859   
index 0000000..79aad36
 1832         -
-- /dev/null
        1860  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 1833   1861   
@@ -0,0 +1,3 @@
        1862  +
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
        1863  +
Host:example.amazonaws.com
        1864  +
 1834   1865   
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
 1835   1866   
new file mode 100644
 1836   1867   
index 0000000..e8068b3
 1837         -
-- /dev/null
        1868  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 1838   1869   
@@ -0,0 +1,4 @@
        1870  +
AWS4-HMAC-SHA256
        1871  +
20150830T123600Z
        1872  +
20150830/us-east-1/service/aws4_request
        1873  +
3134f2fbc6ef58f34b74b01643a159bfccbc121ea4288a4b75e65bc805d08219
              \
 No newline at end of file
 1839   1874   
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
 1840   1875   
similarity index 100%
 1841   1876   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt
 1842   1877   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 1843   1878   
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
 1844   1879   
new file mode 100644
 1845   1880   
index 0000000..0468d80
 1846         -
-- /dev/null
        1881  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 1847   1882   
@@ -0,0 +1,12 @@
        1883  +
{
        1884  +
    "credentials": {
        1885  +
        "access_key_id": "AKIDEXAMPLE",
        1886  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1887  +
    },
        1888  +
    "expiration_in_seconds": 3600,
        1889  +
    "normalize": true,
        1890  +
    "region": "us-east-1",
        1891  +
    "service": "service",
        1892  +
    "sign_body": false,
        1893  +
    "timestamp": "2015-08-30T12:36:00Z"
        1894  +
}
              \
 No newline at end of file
 1848   1895   
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
 1849   1896   
similarity index 100%
 1850   1897   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq
 1851   1898   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 1852   1899   
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
 1853   1900   
new file mode 100644
 1854   1901   
index 0000000..9a13676
 1855         -
-- /dev/null
        1902  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 1856   1903   
@@ -0,0 +1 @@
        1904  +
8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
 1857   1905   
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
 1858   1906   
new file mode 100644
 1859   1907   
index 0000000..5aaf47c
 1860         -
-- /dev/null
        1908  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 1861   1909   
@@ -0,0 +1,5 @@
        1910  +
GET /ሴ HTTP/1.1
        1911  +
Host:example.amazonaws.com
        1912  +
X-Amz-Date:20150830T123600Z
        1913  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
        1914  +
 1862   1915   
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
 1863   1916   
similarity index 100%
 1864   1917   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts
 1865   1918   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 1866   1919   
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
 1867   1920   
new file mode 100644
 1868   1921   
index 0000000..bdb77c9
 1869         -
-- /dev/null
        1922  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 1870   1923   
@@ -0,0 +1,7 @@
        1924  +
GET
        1925  +
/%E1%88%B4
        1926  +
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
        1927  +
host:example.amazonaws.com
        1928  +
        1929  +
host
        1930  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1871   1931   
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
 1872   1932   
new file mode 100644
 1873   1933   
index 0000000..21342b3
 1874         -
-- /dev/null
        1934  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 1875   1935   
@@ -0,0 +1 @@
        1936  +
10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44
              \
 No newline at end of file
 1876   1937   
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
 1877   1938   
new file mode 100644
 1878   1939   
index 0000000..368c2ff
 1879         -
-- /dev/null
        1940  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 1880   1941   
@@ -0,0 +1,3 @@
        1942  +
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
        1943  +
Host:example.amazonaws.com
        1944  +
 1881   1945   
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
 1882   1946   
new file mode 100644
 1883   1947   
index 0000000..56b8fbf
 1884         -
-- /dev/null
        1948  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 1885   1949   
@@ -0,0 +1,4 @@
        1950  +
AWS4-HMAC-SHA256
        1951  +
20150830T123600Z
        1952  +
20150830/us-east-1/service/aws4_request
        1953  +
d8f78e05d0d9bb1c16ae1e60ed405de76cfb8fdcd3e414ffe65fad563b996d66
              \
 No newline at end of file
 1886   1954   
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
 1887   1955   
similarity index 62%
 1888   1956   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
 1889   1957   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 1890   1958   
index da4808d..9e273f6 100644
 1891         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
        1959  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 1892   1960   
@@ -1,3 +1,2 @@
 1893   1961   
GET /ሴ HTTP/1.1
 1894   1962   
Host:example.amazonaws.com
 1895         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1896   1963   
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
 1897   1964   
new file mode 100644
 1898   1965   
index 0000000..0468d80
 1899         -
-- /dev/null
        1966  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 1900   1967   
@@ -0,0 +1,12 @@
        1968  +
{
        1969  +
    "credentials": {
        1970  +
        "access_key_id": "AKIDEXAMPLE",
        1971  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1972  +
    },
        1973  +
    "expiration_in_seconds": 3600,
        1974  +
    "normalize": true,
        1975  +
    "region": "us-east-1",
        1976  +
    "service": "service",
        1977  +
    "sign_body": false,
        1978  +
    "timestamp": "2015-08-30T12:36:00Z"
        1979  +
}
              \
 No newline at end of file
 1901   1980   
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
 1902   1981   
similarity index 100%
 1903   1982   
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
 1904   1983   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 1905   1984   
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
 1906   1985   
new file mode 100644
 1907   1986   
index 0000000..d7f1c1c
 1908         -
-- /dev/null
        1987  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 1909   1988   
@@ -0,0 +1 @@
        1989  +
a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
 1910   1990   
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
 1911   1991   
new file mode 100644
 1912   1992   
index 0000000..1c60790
 1913         -
-- /dev/null
        1993  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 1914   1994   
@@ -0,0 +1,5 @@
        1995  +
GET /?Param1=value1 HTTP/1.1
        1996  +
Host:example.amazonaws.com
        1997  +
X-Amz-Date:20150830T123600Z
        1998  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
        1999  +
 1915   2000   
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
 1916   2001   
similarity index 100%
 1917   2002   
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
 1918   2003   
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
 1919   2004   
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
 1920   2005   
new file mode 100644
 1921   2006   
index 0000000..6a823ed
 1922         -
-- /dev/null
        2007  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 1923   2008   
@@ -0,0 +1,7 @@
        2009  +
GET
        2010  +
/
        2011  +
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
        2012  +
host:example.amazonaws.com
        2013  +
        2014  +
host
        2015  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1924   2016   
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
 1925   2017   
new file mode 100644
 1926   2018   
index 0000000..8c77136
 1927         -
-- /dev/null
        2019  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 1928   2020   
@@ -0,0 +1 @@
        2021  +
49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de
              \
 No newline at end of file
 1929   2022   
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
 1930   2023   
new file mode 100644
 1931   2024   
index 0000000..2d337d8
 1932         -
-- /dev/null
        2025  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 1933   2026   
@@ -0,0 +1,3 @@
        2027  +
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
        2028  +
Host:example.amazonaws.com
        2029  +
 1934   2030   
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
 1935   2031   
new file mode 100644
 1936   2032   
index 0000000..191a484
 1937         -
-- /dev/null
        2033  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 1938   2034   
@@ -0,0 +1,4 @@
        2035  +
AWS4-HMAC-SHA256
        2036  +
20150830T123600Z
        2037  +
20150830/us-east-1/service/aws4_request
        2038  +
74828b608f939673ed5a839190452a943b0178760f258da766209b21f8ca3f86
              \
 No newline at end of file
 1939   2039   
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
 1940   2040   
similarity index 100%
 1941   2041   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt
 1942   2042   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 1943   2043   
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
 1944   2044   
new file mode 100644
 1945   2045   
index 0000000..0468d80
 1946         -
-- /dev/null
        2046  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 1947   2047   
@@ -0,0 +1,12 @@
        2048  +
{
        2049  +
    "credentials": {
        2050  +
        "access_key_id": "AKIDEXAMPLE",
        2051  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2052  +
    },
        2053  +
    "expiration_in_seconds": 3600,
        2054  +
    "normalize": true,
        2055  +
    "region": "us-east-1",
        2056  +
    "service": "service",
        2057  +
    "sign_body": false,
        2058  +
    "timestamp": "2015-08-30T12:36:00Z"
        2059  +
}
              \
 No newline at end of file
 1948   2060   
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
 1949   2061   
new file mode 100644
 1950   2062   
index 0000000..0c8ba21
 1951         -
-- /dev/null
        2063  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 1952   2064   
@@ -0,0 +1,8 @@
        2065  +
GET
        2066  +
/
        2067  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        2068  +
host:example.amazonaws.com
        2069  +
x-amz-date:20150830T123600Z
        2070  +
        2071  +
host;x-amz-date
        2072  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1953   2073   
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
 1954   2074   
new file mode 100644
 1955   2075   
index 0000000..9ab65ed
 1956         -
-- /dev/null
        2076  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 1957   2077   
@@ -0,0 +1 @@
        2078  +
371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
              \
 No newline at end of file
 1958   2079   
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
 1959   2080   
new file mode 100644
 1960   2081   
index 0000000..0bcdf98
 1961         -
-- /dev/null
        2082  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 1962   2083   
@@ -0,0 +1,5 @@
        2084  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2085  +
Host:example.amazonaws.com
        2086  +
X-Amz-Date:20150830T123600Z
        2087  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
        2088  +
 1963   2089   
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
 1964   2090   
new file mode 100644
 1965   2091   
index 0000000..bf674ad
 1966         -
-- /dev/null
        2092  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 1967   2093   
@@ -0,0 +1,4 @@
        2094  +
AWS4-HMAC-SHA256
        2095  +
20150830T123600Z
        2096  +
20150830/us-east-1/service/aws4_request
        2097  +
868294f5c38bd141c4972a373a76654f1418a8e4fc18b2e7903ae45e8ae0ec71
              \
 No newline at end of file
 1968   2098   
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
 1969   2099   
new file mode 100644
 1970   2100   
index 0000000..3f590a4
 1971         -
-- /dev/null
        2101  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 1972   2102   
@@ -0,0 +1,7 @@
        2103  +
GET
        2104  +
/
        2105  +
%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
        2106  +
host:example.amazonaws.com
        2107  +
        2108  +
host
        2109  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1973   2110   
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
 1974   2111   
new file mode 100644
 1975   2112   
index 0000000..e225eab
 1976         -
-- /dev/null
        2113  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 1977   2114   
@@ -0,0 +1 @@
        2115  +
c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787
              \
 No newline at end of file
 1978   2116   
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
 1979   2117   
new file mode 100644
 1980   2118   
index 0000000..6206719
 1981         -
-- /dev/null
        2119  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 1982   2120   
@@ -0,0 +1,3 @@
        2121  +
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
        2122  +
Host:example.amazonaws.com
        2123  +
 1983   2124   
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
 1984   2125   
new file mode 100644
 1985   2126   
index 0000000..81a4210
 1986         -
-- /dev/null
        2127  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 1987   2128   
@@ -0,0 +1,4 @@
        2129  +
AWS4-HMAC-SHA256
        2130  +
20150830T123600Z
        2131  +
20150830/us-east-1/service/aws4_request
        2132  +
9808d6cdc8245c74e705c68350fc6a62b91778cdd613890e5d177998c02c6f53
              \
 No newline at end of file
 1988   2133   
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
 1989   2134   
new file mode 100644
 1990   2135   
index 0000000..368c6e3
 1991         -
-- /dev/null
        2136  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 1992   2137   
@@ -0,0 +1,2 @@
        2138  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2139  +
Host:example.amazonaws.com
 1993   2140   
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
 1994   2141   
new file mode 100644
 1995   2142   
index 0000000..0468d80
 1996         -
-- /dev/null
        2143  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 1997   2144   
@@ -0,0 +1,12 @@
        2145  +
{
        2146  +
    "credentials": {
        2147  +
        "access_key_id": "AKIDEXAMPLE",
        2148  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2149  +
    },
        2150  +
    "expiration_in_seconds": 3600,
        2151  +
    "normalize": true,
        2152  +
    "region": "us-east-1",
        2153  +
    "service": "service",
        2154  +
    "sign_body": false,
        2155  +
    "timestamp": "2015-08-30T12:36:00Z"
        2156  +
}
              \
 No newline at end of file
 1998   2157   
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
 1999   2158   
similarity index 100%
 2000   2159   
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
 2001   2160   
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
 2002   2161   
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
 2003   2162   
new file mode 100644
 2004   2163   
index 0000000..6a8cb9d
 2005         -
-- /dev/null
        2164  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 2006   2165   
@@ -0,0 +1 @@
        2166  +
b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
 2007   2167   
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
 2008   2168   
new file mode 100644
 2009   2169   
index 0000000..f78a9d2
 2010         -
-- /dev/null
        2170  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 2011   2171   
@@ -0,0 +1,5 @@
        2172  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        2173  +
Host:example.amazonaws.com
        2174  +
X-Amz-Date:20150830T123600Z
        2175  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
        2176  +
 2012   2177   
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
 2013   2178   
similarity index 100%
 2014   2179   
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
 2015   2180   
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
 2016   2181   
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
 2017   2182   
new file mode 100644
 2018   2183   
index 0000000..a6e1bc7
 2019         -
-- /dev/null
        2184  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 2020   2185   
@@ -0,0 +1,7 @@
        2186  +
GET
        2187  +
/
        2188  +
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
        2189  +
host:example.amazonaws.com
        2190  +
        2191  +
host
        2192  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2021   2193   
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
 2022   2194   
new file mode 100644
 2023   2195   
index 0000000..d6e6a88
 2024         -
-- /dev/null
        2196  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 2025   2197   
@@ -0,0 +1 @@
        2198  +
86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5
              \
 No newline at end of file
 2026   2199   
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
 2027   2200   
new file mode 100644
 2028   2201   
index 0000000..538e2f0
 2029         -
-- /dev/null
        2202  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 2030   2203   
@@ -0,0 +1,3 @@
        2204  +
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
        2205  +
Host:example.amazonaws.com
        2206  +
 2031   2207   
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
 2032   2208   
new file mode 100644
 2033   2209   
index 0000000..e696085
 2034         -
-- /dev/null
        2210  +
++ 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
 2035   2211   
@@ -0,0 +1,4 @@
        2212  +
AWS4-HMAC-SHA256
        2213  +
20150830T123600Z
        2214  +
20150830/us-east-1/service/aws4_request
        2215  +
b82878ecb2ab7ad194b9fe79b2946c2a36ee1627a219408089b2d774c1a0cedb
              \
 No newline at end of file
 2036   2216   
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
 2037   2217   
similarity index 100%
 2038   2218   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt
 2039   2219   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2040   2220   
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
 2041   2221   
new file mode 100644
 2042   2222   
index 0000000..0468d80
 2043         -
-- /dev/null
        2223  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2044   2224   
@@ -0,0 +1,12 @@
        2225  +
{
        2226  +
    "credentials": {
        2227  +
        "access_key_id": "AKIDEXAMPLE",
        2228  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2229  +
    },
        2230  +
    "expiration_in_seconds": 3600,
        2231  +
    "normalize": true,
        2232  +
    "region": "us-east-1",
        2233  +
    "service": "service",
        2234  +
    "sign_body": false,
        2235  +
    "timestamp": "2015-08-30T12:36:00Z"
        2236  +
}
              \
 No newline at end of file
 2045   2237   
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
 2046   2238   
similarity index 100%
 2047   2239   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq
 2048   2240   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2049   2241   
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
 2050   2242   
new file mode 100644
 2051   2243   
index 0000000..876a64b
 2052         -
-- /dev/null
        2244  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2053   2245   
@@ -0,0 +1 @@
        2246  +
9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
 2054   2247   
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
 2055   2248   
similarity index 50%
 2056   2249   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
 2057   2250   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2058   2251   
index ba1ef40..9d0d993 100644
 2059         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
        2252  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2060   2253   
@@ -1,4 +1,5 @@
 2061   2254   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 2062   2255   
Host:example.amazonaws.com
 2063   2256   
X-Amz-Date:20150830T123600Z
 2064         -
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
        2257  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
        2258  +
 2065   2259   
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
 2066   2260   
similarity index 100%
 2067   2261   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts
 2068   2262   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2069   2263   
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
 2070   2264   
new file mode 100644
 2071   2265   
index 0000000..a1bac59
 2072         -
-- /dev/null
        2266  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2073   2267   
@@ -0,0 +1,7 @@
        2268  +
GET
        2269  +
/
        2270  +
-._~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
        2271  +
host:example.amazonaws.com
        2272  +
        2273  +
host
        2274  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2074   2275   
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
 2075   2276   
new file mode 100644
 2076   2277   
index 0000000..41881e9
 2077         -
-- /dev/null
        2278  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2078   2279   
@@ -0,0 +1 @@
        2280  +
8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf
              \
 No newline at end of file
 2079   2281   
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
 2080   2282   
new file mode 100644
 2081   2283   
index 0000000..3179076
 2082         -
-- /dev/null
        2284  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2083   2285   
@@ -0,0 +1,3 @@
        2286  +
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
        2287  +
Host:example.amazonaws.com
        2288  +
 2084   2289   
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
 2085   2290   
new file mode 100644
 2086   2291   
index 0000000..6d675fc
 2087         -
-- /dev/null
        2292  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2088   2293   
@@ -0,0 +1,4 @@
        2294  +
AWS4-HMAC-SHA256
        2295  +
20150830T123600Z
        2296  +
20150830/us-east-1/service/aws4_request
        2297  +
c77f27ef2b499fbfee3f0b3c88bba7057b2b31ee9b62047078a5e0d6be91fd58
              \
 No newline at end of file
 2089   2298   
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
 2090   2299   
similarity index 100%
 2091   2300   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt
 2092   2301   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2093   2302   
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
 2094   2303   
new file mode 100644
 2095   2304   
index 0000000..0468d80
 2096         -
-- /dev/null
        2305  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2097   2306   
@@ -0,0 +1,12 @@
        2307  +
{
        2308  +
    "credentials": {
        2309  +
        "access_key_id": "AKIDEXAMPLE",
        2310  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2311  +
    },
        2312  +
    "expiration_in_seconds": 3600,
        2313  +
    "normalize": true,
        2314  +
    "region": "us-east-1",
        2315  +
    "service": "service",
        2316  +
    "sign_body": false,
        2317  +
    "timestamp": "2015-08-30T12:36:00Z"
        2318  +
}
              \
 No newline at end of file
 2098   2319   
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
 2099   2320   
similarity index 100%
 2100   2321   
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
 2101   2322   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2102   2323   
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
 2103   2324   
new file mode 100644
 2104   2325   
index 0000000..87f295f
 2105         -
-- /dev/null
        2326  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2106   2327   
@@ -0,0 +1 @@
        2328  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2107   2329   
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
 2108   2330   
new file mode 100644
 2109   2331   
index 0000000..36b86e7
 2110         -
-- /dev/null
        2332  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2111   2333   
@@ -0,0 +1,5 @@
        2334  +
GET / HTTP/1.1
        2335  +
Host:example.amazonaws.com
        2336  +
X-Amz-Date:20150830T123600Z
        2337  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2338  +
 2112   2339   
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
 2113   2340   
similarity index 100%
 2114   2341   
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
 2115   2342   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2116   2343   
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
 2117   2344   
new file mode 100644
 2118   2345   
index 0000000..fb2420d
 2119         -
-- /dev/null
        2346  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2120   2347   
@@ -0,0 +1,7 @@
        2348  +
GET
        2349  +
/
        2350  +
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
        2351  +
host:example.amazonaws.com
        2352  +
        2353  +
host
        2354  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2121   2355   
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
 2122   2356   
new file mode 100644
 2123   2357   
index 0000000..da5c905
 2124         -
-- /dev/null
        2358  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2125   2359   
@@ -0,0 +1 @@
        2360  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2126   2361   
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
 2127   2362   
new file mode 100644
 2128   2363   
index 0000000..eeb7a8f
 2129         -
-- /dev/null
        2364  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2130   2365   
@@ -0,0 +1,3 @@
        2366  +
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
        2367  +
Host:example.amazonaws.com
        2368  +
 2131   2369   
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
 2132   2370   
new file mode 100644
 2133   2371   
index 0000000..d837e67
 2134         -
-- /dev/null
        2372  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2135   2373   
@@ -0,0 +1,4 @@
        2374  +
AWS4-HMAC-SHA256
        2375  +
20150830T123600Z
        2376  +
20150830/us-east-1/service/aws4_request
        2377  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2136   2378   
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
 2137   2379   
similarity index 100%
 2138   2380   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt
 2139   2381   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2140   2382   
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
 2141   2383   
new file mode 100644
 2142   2384   
index 0000000..0468d80
 2143         -
-- /dev/null
        2385  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2144   2386   
@@ -0,0 +1,12 @@
        2387  +
{
        2388  +
    "credentials": {
        2389  +
        "access_key_id": "AKIDEXAMPLE",
        2390  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2391  +
    },
        2392  +
    "expiration_in_seconds": 3600,
        2393  +
    "normalize": true,
        2394  +
    "region": "us-east-1",
        2395  +
    "service": "service",
        2396  +
    "sign_body": false,
        2397  +
    "timestamp": "2015-08-30T12:36:00Z"
        2398  +
}
              \
 No newline at end of file
 2145   2399   
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
 2146   2400   
similarity index 100%
 2147   2401   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq
 2148   2402   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2149   2403   
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
 2150   2404   
new file mode 100644
 2151   2405   
index 0000000..19a2cc9
 2152         -
-- /dev/null
        2406  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2153   2407   
@@ -0,0 +1 @@
        2408  +
2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
 2154   2409   
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
 2155   2410   
new file mode 100644
 2156   2411   
index 0000000..acb13ee
 2157         -
-- /dev/null
        2412  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2158   2413   
@@ -0,0 +1,5 @@
        2414  +
GET /?ሴ=bar HTTP/1.1
        2415  +
Host:example.amazonaws.com
        2416  +
X-Amz-Date:20150830T123600Z
        2417  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
        2418  +
 2159   2419   
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
 2160   2420   
similarity index 100%
 2161   2421   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts
 2162   2422   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2163   2423   
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
 2164   2424   
new file mode 100644
 2165   2425   
index 0000000..92cee62
 2166         -
-- /dev/null
        2426  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2167   2427   
@@ -0,0 +1,7 @@
        2428  +
GET
        2429  +
/
        2430  +
%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
        2431  +
host:example.amazonaws.com
        2432  +
        2433  +
host
        2434  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2168   2435   
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
 2169   2436   
new file mode 100644
 2170   2437   
index 0000000..c9e49de
 2171         -
-- /dev/null
        2438  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2172   2439   
@@ -0,0 +1 @@
        2440  +
0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600
              \
 No newline at end of file
 2173   2441   
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
 2174   2442   
new file mode 100644
 2175   2443   
index 0000000..8f4d8d0
 2176         -
-- /dev/null
        2444  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2177   2445   
@@ -0,0 +1,3 @@
        2446  +
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
        2447  +
Host:example.amazonaws.com
        2448  +
 2178   2449   
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
 2179   2450   
new file mode 100644
 2180   2451   
index 0000000..a6181dc
 2181         -
-- /dev/null
        2452  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2182   2453   
@@ -0,0 +1,4 @@
        2454  +
AWS4-HMAC-SHA256
        2455  +
20150830T123600Z
        2456  +
20150830/us-east-1/service/aws4_request
        2457  +
b2e8ae8e48ec880defebc6f6dc1d9fbc9f1856b33146f2943060ca71a50a7a77
              \
 No newline at end of file
 2183   2458   
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
 2184   2459   
similarity index 64%
 2185   2460   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
 2186   2461   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2187   2462   
index cc2757e..aff333a 100644
 2188         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
        2463  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2189   2464   
@@ -1,3 +1,2 @@
 2190   2465   
GET /?ሴ=bar HTTP/1.1
 2191   2466   
Host:example.amazonaws.com
 2192         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2193   2467   
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
 2194   2468   
similarity index 99%
 2195   2469   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
 2196   2470   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2197   2471   
index a457c8a..a334e18 100644
 2198   2472   
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
 2199   2473   
new file mode 100644
 2200   2474   
index 0000000..ccacdeb
 2201         -
-- /dev/null
        2475  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2202   2476   
@@ -0,0 +1,9 @@
        2477  +
GET
        2478  +
/
        2479  +
        2480  +
host:example.amazonaws.com
        2481  +
x-amz-date:20150830T123600Z
        2482  +
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2483  +
        2484  +
host;x-amz-date;x-amz-security-token
        2485  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2203   2486   
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
 2204   2487   
new file mode 100644
 2205   2488   
index 0000000..083e30d
 2206         -
-- /dev/null
        2489  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2207   2490   
@@ -0,0 +1 @@
        2491  +
07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
              \
 No newline at end of file
 2208   2492   
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
 2209   2493   
new file mode 100644
 2210   2494   
index 0000000..5287932
 2211         -
-- /dev/null
        2495  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2212   2496   
@@ -0,0 +1,6 @@
        2497  +
GET / HTTP/1.1
        2498  +
Host:example.amazonaws.com
        2499  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2500  +
X-Amz-Date:20150830T123600Z
        2501  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
        2502  +
 2213   2503   
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
 2214   2504   
new file mode 100644
 2215   2505   
index 0000000..742b880
 2216         -
-- /dev/null
        2506  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2217   2507   
@@ -0,0 +1,4 @@
        2508  +
AWS4-HMAC-SHA256
        2509  +
20150830T123600Z
        2510  +
20150830/us-east-1/service/aws4_request
        2511  +
067b36aa60031588cea4a4cde1f21215227a047690c72247f1d70b32fbbfad2b
              \
 No newline at end of file
 2218   2512   
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
 2219   2513   
new file mode 100644
 2220   2514   
index 0000000..5e75179
 2221         -
-- /dev/null
        2515  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2222   2516   
@@ -0,0 +1,7 @@
        2517  +
GET
        2518  +
/
        2519  +
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
        2520  +
host:example.amazonaws.com
        2521  +
        2522  +
host
        2523  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2223   2524   
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
 2224   2525   
new file mode 100644
 2225   2526   
index 0000000..50b947f
 2226         -
-- /dev/null
        2527  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2227   2528   
@@ -0,0 +1 @@
        2529  +
7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c
              \
 No newline at end of file
 2228   2530   
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
 2229   2531   
new file mode 100644
 2230   2532   
index 0000000..aee910b
 2231         -
-- /dev/null
        2533  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2232   2534   
@@ -0,0 +1,3 @@
        2535  +
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
        2536  +
Host:example.amazonaws.com
        2537  +
 2233   2538   
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
 2234   2539   
new file mode 100644
 2235   2540   
index 0000000..04a6c17
 2236         -
-- /dev/null
        2541  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2237   2542   
@@ -0,0 +1,4 @@
        2543  +
AWS4-HMAC-SHA256
        2544  +
20150830T123600Z
        2545  +
20150830/us-east-1/service/aws4_request
        2546  +
cb30434103085aa9e73780fc60dc9a9df818fd2a7b1de12a9f6f4d791f898761
              \
 No newline at end of file
 2238   2547   
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
 2239   2548   
similarity index 100%
 2240   2549   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt
 2241   2550   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2242   2551   
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
 2243   2552   
new file mode 100644
 2244   2553   
index 0000000..0468d80
 2245         -
-- /dev/null
        2554  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2246   2555   
@@ -0,0 +1,12 @@
        2556  +
{
        2557  +
    "credentials": {
        2558  +
        "access_key_id": "AKIDEXAMPLE",
        2559  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2560  +
    },
        2561  +
    "expiration_in_seconds": 3600,
        2562  +
    "normalize": true,
        2563  +
    "region": "us-east-1",
        2564  +
    "service": "service",
        2565  +
    "sign_body": false,
        2566  +
    "timestamp": "2015-08-30T12:36:00Z"
        2567  +
}
              \
 No newline at end of file
 2247   2568   
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
 2248   2569   
similarity index 100%
 2249   2570   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq
 2250   2571   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2251   2572   
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
 2252   2573   
new file mode 100644
 2253   2574   
index 0000000..87f295f
 2254         -
-- /dev/null
        2575  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2255   2576   
@@ -0,0 +1 @@
        2577  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2256   2578   
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
 2257   2579   
new file mode 100644
 2258   2580   
index 0000000..36b86e7
 2259         -
-- /dev/null
        2581  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2260   2582   
@@ -0,0 +1,5 @@
        2583  +
GET / HTTP/1.1
        2584  +
Host:example.amazonaws.com
        2585  +
X-Amz-Date:20150830T123600Z
        2586  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2587  +
 2261   2588   
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
 2262   2589   
similarity index 100%
 2263   2590   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts
 2264   2591   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2265   2592   
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
 2266   2593   
new file mode 100644
 2267   2594   
index 0000000..fb2420d
 2268         -
-- /dev/null
        2595  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2269   2596   
@@ -0,0 +1,7 @@
        2597  +
GET
        2598  +
/
        2599  +
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
        2600  +
host:example.amazonaws.com
        2601  +
        2602  +
host
        2603  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2270   2604   
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
 2271   2605   
new file mode 100644
 2272   2606   
index 0000000..da5c905
 2273         -
-- /dev/null
        2607  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2274   2608   
@@ -0,0 +1 @@
        2609  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2275   2610   
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
 2276   2611   
new file mode 100644
 2277   2612   
index 0000000..eeb7a8f
 2278         -
-- /dev/null
        2613  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2279   2614   
@@ -0,0 +1,3 @@
        2615  +
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
        2616  +
Host:example.amazonaws.com
        2617  +
 2280   2618   
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
 2281   2619   
new file mode 100644
 2282   2620   
index 0000000..d837e67
 2283         -
-- /dev/null
        2621  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2284   2622   
@@ -0,0 +1,4 @@
        2623  +
AWS4-HMAC-SHA256
        2624  +
20150830T123600Z
        2625  +
20150830/us-east-1/service/aws4_request
        2626  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2285   2627   
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
 2286   2628   
similarity index 100%
 2287   2629   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt
 2288   2630   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2289   2631   
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
 2290   2632   
new file mode 100644
 2291   2633   
index 0000000..0468d80
 2292         -
-- /dev/null
        2634  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2293   2635   
@@ -0,0 +1,12 @@
        2636  +
{
        2637  +
    "credentials": {
        2638  +
        "access_key_id": "AKIDEXAMPLE",
        2639  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2640  +
    },
        2641  +
    "expiration_in_seconds": 3600,
        2642  +
    "normalize": true,
        2643  +
    "region": "us-east-1",
        2644  +
    "service": "service",
        2645  +
    "sign_body": false,
        2646  +
    "timestamp": "2015-08-30T12:36:00Z"
        2647  +
}
              \
 No newline at end of file
 2294   2648   
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
 2295   2649   
similarity index 100%
 2296   2650   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq
 2297   2651   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2298   2652   
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
 2299   2653   
new file mode 100644
 2300   2654   
index 0000000..629487f
 2301         -
-- /dev/null
        2655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2302   2656   
@@ -0,0 +1 @@
        2657  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2303   2658   
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
 2304   2659   
new file mode 100644
 2305   2660   
index 0000000..0d99b1c
 2306         -
-- /dev/null
        2661  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2307   2662   
@@ -0,0 +1,5 @@
        2663  +
POST / HTTP/1.1
        2664  +
Host:example.amazonaws.com
        2665  +
X-Amz-Date:20150830T123600Z
        2666  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2667  +
 2308   2668   
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
 2309   2669   
similarity index 100%
 2310   2670   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts
 2311   2671   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2312   2672   
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
 2313   2673   
new file mode 100644
 2314   2674   
index 0000000..d3341e7
 2315         -
-- /dev/null
        2675  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2316   2676   
@@ -0,0 +1,7 @@
        2677  +
POST
        2678  +
/
        2679  +
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
        2680  +
host:example.amazonaws.com
        2681  +
        2682  +
host
        2683  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2317   2684   
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
 2318   2685   
new file mode 100644
 2319   2686   
index 0000000..79f7e0d
 2320         -
-- /dev/null
        2687  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2321   2688   
@@ -0,0 +1 @@
        2689  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2322   2690   
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
 2323   2691   
new file mode 100644
 2324   2692   
index 0000000..94f1b21
 2325         -
-- /dev/null
        2693  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2326   2694   
@@ -0,0 +1,3 @@
        2695  +
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
        2696  +
Host:example.amazonaws.com
        2697  +
 2327   2698   
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
 2328   2699   
new file mode 100644
 2329   2700   
index 0000000..e8f335b
 2330         -
-- /dev/null
        2701  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2331   2702   
@@ -0,0 +1,4 @@
        2703  +
AWS4-HMAC-SHA256
        2704  +
20150830T123600Z
        2705  +
20150830/us-east-1/service/aws4_request
        2706  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2332   2707   
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
 2333   2708   
similarity index 100%
 2334   2709   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt
 2335   2710   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2336   2711   
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
 2337   2712   
new file mode 100644
 2338   2713   
index 0000000..0468d80
 2339         -
-- /dev/null
        2714  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2340   2715   
@@ -0,0 +1,12 @@
        2716  +
{
        2717  +
    "credentials": {
        2718  +
        "access_key_id": "AKIDEXAMPLE",
        2719  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2720  +
    },
        2721  +
    "expiration_in_seconds": 3600,
        2722  +
    "normalize": true,
        2723  +
    "region": "us-east-1",
        2724  +
    "service": "service",
        2725  +
    "sign_body": false,
        2726  +
    "timestamp": "2015-08-30T12:36:00Z"
        2727  +
}
              \
 No newline at end of file
 2341   2728   
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
 2342   2729   
similarity index 100%
 2343   2730   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq
 2344   2731   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2345   2732   
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
 2346   2733   
new file mode 100644
 2347   2734   
index 0000000..e4e6428
 2348         -
-- /dev/null
        2735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2349   2736   
@@ -0,0 +1 @@
        2737  +
c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
 2350   2738   
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
 2351   2739   
new file mode 100644
 2352   2740   
index 0000000..e3778f5
 2353         -
-- /dev/null
        2741  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2354   2742   
@@ -0,0 +1,6 @@
        2743  +
POST / HTTP/1.1
        2744  +
Host:example.amazonaws.com
        2745  +
My-Header1:value1
        2746  +
X-Amz-Date:20150830T123600Z
        2747  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
        2748  +
 2355   2749   
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
 2356   2750   
similarity index 100%
 2357   2751   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts
 2358   2752   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2359   2753   
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
 2360   2754   
new file mode 100644
 2361   2755   
index 0000000..bd7c937
 2362         -
-- /dev/null
        2756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2363   2757   
@@ -0,0 +1,8 @@
        2758  +
POST
        2759  +
/
        2760  +
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
        2761  +
host:example.amazonaws.com
        2762  +
my-header1:value1
        2763  +
        2764  +
host;my-header1
        2765  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2364   2766   
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
 2365   2767   
new file mode 100644
 2366   2768   
index 0000000..0416f13
 2367         -
-- /dev/null
        2769  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2368   2770   
@@ -0,0 +1 @@
        2771  +
c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7
              \
 No newline at end of file
 2369   2772   
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
 2370   2773   
new file mode 100644
 2371   2774   
index 0000000..5e6522f
 2372         -
-- /dev/null
        2775  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2373   2776   
@@ -0,0 +1,4 @@
        2777  +
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
        2778  +
Host:example.amazonaws.com
        2779  +
My-Header1:value1
        2780  +
 2374   2781   
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
 2375   2782   
new file mode 100644
 2376   2783   
index 0000000..d06d1df
 2377         -
-- /dev/null
        2784  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2378   2785   
@@ -0,0 +1,4 @@
        2786  +
AWS4-HMAC-SHA256
        2787  +
20150830T123600Z
        2788  +
20150830/us-east-1/service/aws4_request
        2789  +
1295ed77e4ef8b18b32815e493e0b0f78ee47615c0ecbebfec7c75709eb58c88
              \
 No newline at end of file
 2379   2790   
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
 2380   2791   
similarity index 100%
 2381   2792   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt
 2382   2793   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2383   2794   
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
 2384   2795   
new file mode 100644
 2385   2796   
index 0000000..0468d80
 2386         -
-- /dev/null
        2797  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2387   2798   
@@ -0,0 +1,12 @@
        2799  +
{
        2800  +
    "credentials": {
        2801  +
        "access_key_id": "AKIDEXAMPLE",
        2802  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2803  +
    },
        2804  +
    "expiration_in_seconds": 3600,
        2805  +
    "normalize": true,
        2806  +
    "region": "us-east-1",
        2807  +
    "service": "service",
        2808  +
    "sign_body": false,
        2809  +
    "timestamp": "2015-08-30T12:36:00Z"
        2810  +
}
              \
 No newline at end of file
 2388   2811   
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
 2389   2812   
similarity index 100%
 2390   2813   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq
 2391   2814   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2392   2815   
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
 2393   2816   
new file mode 100644
 2394   2817   
index 0000000..bb3809c
 2395         -
-- /dev/null
        2818  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2396   2819   
@@ -0,0 +1 @@
        2820  +
cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
 2397   2821   
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
 2398   2822   
new file mode 100644
 2399   2823   
index 0000000..10f6761
 2400         -
-- /dev/null
        2824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2401   2825   
@@ -0,0 +1,6 @@
        2826  +
POST / HTTP/1.1
        2827  +
Host:example.amazonaws.com
        2828  +
My-Header1:VALUE1
        2829  +
X-Amz-Date:20150830T123600Z
        2830  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
        2831  +
 2402   2832   
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
 2403   2833   
similarity index 100%
 2404   2834   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts
 2405   2835   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2406   2836   
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
 2407   2837   
new file mode 100644
 2408   2838   
index 0000000..f84856f
 2409         -
-- /dev/null
        2839  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2410   2840   
@@ -0,0 +1,8 @@
        2841  +
POST
        2842  +
/
        2843  +
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
        2844  +
host:example.amazonaws.com
        2845  +
my-header1:VALUE1
        2846  +
        2847  +
host;my-header1
        2848  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2411   2849   
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
 2412   2850   
new file mode 100644
 2413   2851   
index 0000000..a9d3cac
 2414         -
-- /dev/null
        2852  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2415   2853   
@@ -0,0 +1 @@
        2854  +
0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed
              \
 No newline at end of file
 2416   2855   
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
 2417   2856   
new file mode 100644
 2418   2857   
index 0000000..cf96c7c
 2419         -
-- /dev/null
        2858  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2420   2859   
@@ -0,0 +1,4 @@
        2860  +
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
        2861  +
Host:example.amazonaws.com
        2862  +
My-Header1:VALUE1
        2863  +
 2421   2864   
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
 2422   2865   
new file mode 100644
 2423   2866   
index 0000000..47ef566
 2424         -
-- /dev/null
        2867  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2425   2868   
@@ -0,0 +1,4 @@
        2869  +
AWS4-HMAC-SHA256
        2870  +
20150830T123600Z
        2871  +
20150830/us-east-1/service/aws4_request
        2872  +
9d4d1de88f0149695a91a01275fc72dc00fb50bdc78e424f012ec860d5f8c41d
              \
 No newline at end of file
 2426   2873   
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
 2427   2874   
similarity index 100%
 2428   2875   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt
 2429   2876   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2430   2877   
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
 2431   2878   
similarity index 100%
 2432   2879   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json
 2433   2880   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2434   2881   
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
 2435   2882   
similarity index 100%
 2436   2883   
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
 2437   2884   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2438   2885   
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
 2439   2886   
new file mode 100644
 2440   2887   
index 0000000..629487f
 2441         -
-- /dev/null
        2888  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2442   2889   
@@ -0,0 +1 @@
        2890  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2443   2891   
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
 2444   2892   
similarity index 67%
 2445   2893   
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
 2446   2894   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2447   2895   
index 291ed07..f96ff9e 100644
 2448         -
-- 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
        2896  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2449   2897   
@@ -1,5 +1,6 @@
 2450   2898   
POST / HTTP/1.1
 2451   2899   
Host:example.amazonaws.com
 2452         -
X-Amz-Date:20150830T123600Z
 2453   2900   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2454         -
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
        2901  +
X-Amz-Date:20150830T123600Z
        2902  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2903  +
 2455   2904   
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
 2456   2905   
similarity index 100%
 2457   2906   
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
 2458   2907   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2459   2908   
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
 2460   2909   
new file mode 100644
 2461   2910   
index 0000000..d3341e7
 2462         -
-- /dev/null
        2911  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2463   2912   
@@ -0,0 +1,7 @@
        2913  +
POST
        2914  +
/
        2915  +
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
        2916  +
host:example.amazonaws.com
        2917  +
        2918  +
host
        2919  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2464   2920   
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
 2465   2921   
new file mode 100644
 2466   2922   
index 0000000..79f7e0d
 2467         -
-- /dev/null
        2923  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2468   2924   
@@ -0,0 +1 @@
        2925  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2469   2926   
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
 2470   2927   
new file mode 100644
 2471   2928   
index 0000000..4983268
 2472         -
-- /dev/null
        2929  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2473   2930   
@@ -0,0 +1,3 @@
        2931  +
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
        2932  +
Host:example.amazonaws.com
        2933  +
 2474   2934   
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
 2475   2935   
new file mode 100644
 2476   2936   
index 0000000..e8f335b
 2477         -
-- /dev/null
        2937  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2478   2938   
@@ -0,0 +1,4 @@
        2939  +
AWS4-HMAC-SHA256
        2940  +
20150830T123600Z
        2941  +
20150830/us-east-1/service/aws4_request
        2942  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2479   2943   
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
 2480   2944   
similarity index 100%
 2481   2945   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt
 2482   2946   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2483   2947   
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
 2484   2948   
similarity index 100%
 2485   2949   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json
 2486   2950   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2487   2951   
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
 2488   2952   
similarity index 100%
 2489   2953   
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
 2490   2954   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2491   2955   
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
 2492   2956   
new file mode 100644
 2493   2957   
index 0000000..85a7c29
 2494         -
-- /dev/null
        2958  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2495   2959   
@@ -0,0 +1 @@
        2960  +
85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
 2496   2961   
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
 2497   2962   
similarity index 65%
 2498   2963   
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
 2499   2964   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2500   2965   
index 37b2f04..4d0b143 100644
 2501         -
-- 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
        2966  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2502   2967   
@@ -1,5 +1,6 @@
 2503   2968   
POST / HTTP/1.1
 2504   2969   
Host:example.amazonaws.com
 2505         -
X-Amz-Date:20150830T123600Z
 2506   2970   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2507         -
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
        2971  +
X-Amz-Date:20150830T123600Z
        2972  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
        2973  +
 2508   2974   
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
 2509   2975   
similarity index 100%
 2510   2976   
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
 2511   2977   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2512   2978   
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
 2513   2979   
new file mode 100644
 2514   2980   
index 0000000..57a7bc3
 2515         -
-- /dev/null
        2981  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2516   2982   
@@ -0,0 +1,7 @@
        2983  +
POST
        2984  +
/
        2985  +
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
        2986  +
host:example.amazonaws.com
        2987  +
        2988  +
host
        2989  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2517   2990   
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
 2518   2991   
new file mode 100644
 2519   2992   
index 0000000..eb905d2
 2520         -
-- /dev/null
        2993  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2521   2994   
@@ -0,0 +1 @@
        2995  +
46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c
              \
 No newline at end of file
 2522   2996   
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
 2523   2997   
new file mode 100644
 2524   2998   
index 0000000..1d80ec0
 2525         -
-- /dev/null
        2999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2526   3000   
@@ -0,0 +1,3 @@
        3001  +
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
        3002  +
Host:example.amazonaws.com
        3003  +
 2527   3004   
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
 2528   3005   
new file mode 100644
 2529   3006   
index 0000000..bd0239a
 2530         -
-- /dev/null
        3007  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2531   3008   
@@ -0,0 +1,4 @@
        3009  +
AWS4-HMAC-SHA256
        3010  +
20150830T123600Z
        3011  +
20150830/us-east-1/service/aws4_request
        3012  +
37f7ba7a2ec89e8b29a0d637bcc70d8e8d0fdba854ddfc5bc06a12398cfe8605
              \
 No newline at end of file
 2532   3013   
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
 2533   3014   
similarity index 100%
 2534   3015   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt
 2535   3016   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2536   3017   
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
 2537   3018   
new file mode 100644
 2538   3019   
index 0000000..0468d80
 2539         -
-- /dev/null
        3020  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2540   3021   
@@ -0,0 +1,12 @@
        3022  +
{
        3023  +
    "credentials": {
        3024  +
        "access_key_id": "AKIDEXAMPLE",
        3025  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3026  +
    },
        3027  +
    "expiration_in_seconds": 3600,
        3028  +
    "normalize": true,
        3029  +
    "region": "us-east-1",
        3030  +
    "service": "service",
        3031  +
    "sign_body": false,
        3032  +
    "timestamp": "2015-08-30T12:36:00Z"
        3033  +
}
              \
 No newline at end of file
 2541   3034   
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
 2542   3035   
similarity index 100%
 2543   3036   
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
 2544   3037   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2545   3038   
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
 2546   3039   
new file mode 100644
 2547   3040   
index 0000000..80ed433
 2548         -
-- /dev/null
        3041  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2549   3042   
@@ -0,0 +1 @@
        3043  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2550   3044   
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
 2551   3045   
new file mode 100644
 2552   3046   
index 0000000..4e614f8
 2553         -
-- /dev/null
        3047  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2554   3048   
@@ -0,0 +1,5 @@
        3049  +
POST /?Param1=value1 HTTP/1.1
        3050  +
Host:example.amazonaws.com
        3051  +
X-Amz-Date:20150830T123600Z
        3052  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3053  +
 2555   3054   
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
 2556   3055   
similarity index 100%
 2557   3056   
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
 2558   3057   
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
 2559   3058   
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
 2560   3059   
new file mode 100644
 2561   3060   
index 0000000..be66403
 2562         -
-- /dev/null
        3061  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2563   3062   
@@ -0,0 +1,7 @@
        3063  +
POST
        3064  +
/
        3065  +
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
        3066  +
host:example.amazonaws.com
        3067  +
        3068  +
host
        3069  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2564   3070   
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
 2565   3071   
new file mode 100644
 2566   3072   
index 0000000..20fd32b
 2567         -
-- /dev/null
        3073  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2568   3074   
@@ -0,0 +1 @@
        3075  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2569   3076   
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
 2570   3077   
new file mode 100644
 2571   3078   
index 0000000..d1148d0
 2572         -
-- /dev/null
        3079  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2573   3080   
@@ -0,0 +1,3 @@
        3081  +
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
        3082  +
Host:example.amazonaws.com
        3083  +
 2574   3084   
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
 2575   3085   
new file mode 100644
 2576   3086   
index 0000000..1a77103
 2577         -
-- /dev/null
        3087  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2578   3088   
@@ -0,0 +1,4 @@
        3089  +
AWS4-HMAC-SHA256
        3090  +
20150830T123600Z
        3091  +
20150830/us-east-1/service/aws4_request
        3092  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2579   3093   
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
 2580   3094   
similarity index 100%
 2581   3095   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt
 2582   3096   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2583   3097   
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
 2584   3098   
new file mode 100644
 2585   3099   
index 0000000..0468d80
 2586         -
-- /dev/null
        3100  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2587   3101   
@@ -0,0 +1,12 @@
        3102  +
{
        3103  +
    "credentials": {
        3104  +
        "access_key_id": "AKIDEXAMPLE",
        3105  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3106  +
    },
        3107  +
    "expiration_in_seconds": 3600,
        3108  +
    "normalize": true,
        3109  +
    "region": "us-east-1",
        3110  +
    "service": "service",
        3111  +
    "sign_body": false,
        3112  +
    "timestamp": "2015-08-30T12:36:00Z"
        3113  +
}
              \
 No newline at end of file
 2588   3114   
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
 2589   3115   
similarity index 100%
 2590   3116   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq
 2591   3117   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2592   3118   
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
 2593   3119   
new file mode 100644
 2594   3120   
index 0000000..80ed433
 2595         -
-- /dev/null
        3121  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2596   3122   
@@ -0,0 +1 @@
        3123  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2597   3124   
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
 2598   3125   
new file mode 100644
 2599   3126   
index 0000000..4e614f8
 2600         -
-- /dev/null
        3127  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2601   3128   
@@ -0,0 +1,5 @@
        3129  +
POST /?Param1=value1 HTTP/1.1
        3130  +
Host:example.amazonaws.com
        3131  +
X-Amz-Date:20150830T123600Z
        3132  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3133  +
 2602   3134   
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
 2603   3135   
similarity index 100%
 2604   3136   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts
 2605   3137   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2606   3138   
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
 2607   3139   
new file mode 100644
 2608   3140   
index 0000000..be66403
 2609         -
-- /dev/null
        3141  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2610   3142   
@@ -0,0 +1,7 @@
        3143  +
POST
        3144  +
/
        3145  +
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
        3146  +
host:example.amazonaws.com
        3147  +
        3148  +
host
        3149  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2611   3150   
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
 2612   3151   
new file mode 100644
 2613   3152   
index 0000000..20fd32b
 2614         -
-- /dev/null
        3153  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2615   3154   
@@ -0,0 +1 @@
        3155  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2616   3156   
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
 2617   3157   
new file mode 100644
 2618   3158   
index 0000000..d1148d0
 2619         -
-- /dev/null
        3159  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2620   3160   
@@ -0,0 +1,3 @@
        3161  +
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
        3162  +
Host:example.amazonaws.com
        3163  +
 2621   3164   
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
 2622   3165   
new file mode 100644
 2623   3166   
index 0000000..1a77103
 2624         -
-- /dev/null
        3167  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2625   3168   
@@ -0,0 +1,4 @@
        3169  +
AWS4-HMAC-SHA256
        3170  +
20150830T123600Z
        3171  +
20150830/us-east-1/service/aws4_request
        3172  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2626   3173   
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
 2627   3174   
similarity index 100%
 2628   3175   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt
 2629   3176   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2630   3177   
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
 2631   3178   
new file mode 100644
 2632   3179   
index 0000000..0468d80
 2633         -
-- /dev/null
        3180  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2634   3181   
@@ -0,0 +1,12 @@
        3182  +
{
        3183  +
    "credentials": {
        3184  +
        "access_key_id": "AKIDEXAMPLE",
        3185  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3186  +
    },
        3187  +
    "expiration_in_seconds": 3600,
        3188  +
    "normalize": true,
        3189  +
    "region": "us-east-1",
        3190  +
    "service": "service",
        3191  +
    "sign_body": false,
        3192  +
    "timestamp": "2015-08-30T12:36:00Z"
        3193  +
}
              \
 No newline at end of file
 2635   3194   
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
 2636   3195   
similarity index 100%
 2637   3196   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq
 2638   3197   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2639   3198   
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
 2640   3199   
new file mode 100644
 2641   3200   
index 0000000..629487f
 2642         -
-- /dev/null
        3201  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2643   3202   
@@ -0,0 +1 @@
        3203  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2644   3204   
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
 2645   3205   
new file mode 100644
 2646   3206   
index 0000000..0d99b1c
 2647         -
-- /dev/null
        3207  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2648   3208   
@@ -0,0 +1,5 @@
        3209  +
POST / HTTP/1.1
        3210  +
Host:example.amazonaws.com
        3211  +
X-Amz-Date:20150830T123600Z
        3212  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3213  +
 2649   3214   
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
 2650   3215   
similarity index 100%
 2651   3216   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts
 2652   3217   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2653   3218   
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
 2654   3219   
new file mode 100644
 2655   3220   
index 0000000..d3341e7
 2656         -
-- /dev/null
        3221  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2657   3222   
@@ -0,0 +1,7 @@
        3223  +
POST
        3224  +
/
        3225  +
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
        3226  +
host:example.amazonaws.com
        3227  +
        3228  +
host
        3229  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2658   3230   
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
 2659   3231   
new file mode 100644
 2660   3232   
index 0000000..79f7e0d
 2661         -
-- /dev/null
        3233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2662   3234   
@@ -0,0 +1 @@
        3235  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2663   3236   
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
 2664   3237   
new file mode 100644
 2665   3238   
index 0000000..94f1b21
 2666         -
-- /dev/null
        3239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2667   3240   
@@ -0,0 +1,3 @@
        3241  +
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
        3242  +
Host:example.amazonaws.com
        3243  +
 2668   3244   
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
 2669   3245   
new file mode 100644
 2670   3246   
index 0000000..e8f335b
 2671         -
-- /dev/null
        3247  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2672   3248   
@@ -0,0 +1,4 @@
        3249  +
AWS4-HMAC-SHA256
        3250  +
20150830T123600Z
        3251  +
20150830/us-east-1/service/aws4_request
        3252  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2673   3253   
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
 2674   3254   
similarity index 100%
 2675   3255   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt
 2676   3256   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2677   3257   
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
 2678   3258   
similarity index 99%
 2679   3259   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
 2680   3260   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2681   3261   
index fc4bce6..0db1df1 100644
 2682   3262   
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
 2683   3263   
new file mode 100644
 2684   3264   
index 0000000..c218fdf
 2685         -
-- /dev/null
        3265  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2686   3266   
@@ -0,0 +1,11 @@
        3267  +
POST
        3268  +
/
        3269  +
        3270  +
content-length:13
        3271  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3272  +
host:example.amazonaws.com
        3273  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3274  +
x-amz-date:20150830T123600Z
        3275  +
        3276  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3277  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2687   3278   
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
 2688   3279   
new file mode 100644
 2689   3280   
index 0000000..836aa8b
 2690         -
-- /dev/null
        3281  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2691   3282   
@@ -0,0 +1 @@
        3283  +
328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
              \
 No newline at end of file
 2692   3284   
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
 2693   3285   
new file mode 100644
 2694   3286   
index 0000000..9262d53
 2695         -
-- /dev/null
        3287  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2696   3288   
@@ -0,0 +1,9 @@
        3289  +
POST / HTTP/1.1
        3290  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3291  +
Host:example.amazonaws.com
        3292  +
Content-Length:13
        3293  +
X-Amz-Date:20150830T123600Z
        3294  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3295  +
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
        3296  +
        3297  +
Param1=value1
              \
 No newline at end of file
 2697   3298   
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
 2698   3299   
new file mode 100644
 2699   3300   
index 0000000..ddbdccc
 2700         -
-- /dev/null
        3301  +
++ 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
 2701   3302   
@@ -0,0 +1,4 @@
        3303  +
AWS4-HMAC-SHA256
        3304  +
20150830T123600Z
        3305  +
20150830/us-east-1/service/aws4_request
        3306  +
a89f1a5b53e37702ee6363ce1da3ce8f54386f3c8f352ae652153c2982a0bc4d
              \
 No newline at end of file
 2702   3307   
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
 2703   3308   
new file mode 100644
 2704   3309   
index 0000000..596a579
 2705         -
-- /dev/null
        3310  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 2706   3311   
@@ -0,0 +1,9 @@
        3312  +
POST
        3313  +
/
        3314  +
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
        3315  +
content-length:13
        3316  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3317  +
host:example.amazonaws.com
        3318  +
        3319  +
content-length;content-type;host
        3320  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2707   3321   
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
 2708   3322   
new file mode 100644
 2709   3323   
index 0000000..bc85cd8
 2710         -
-- /dev/null
        3324  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 2711   3325   
@@ -0,0 +1 @@
        3326  +
0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d
              \
 No newline at end of file
 2712   3327   
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
 2713   3328   
new file mode 100644
 2714   3329   
index 0000000..16b59e5
 2715         -
-- /dev/null
        3330  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 2716   3331   
@@ -0,0 +1,6 @@
        3332  +
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
        3333  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3334  +
Host:example.amazonaws.com
        3335  +
Content-Length:13
        3336  +
        3337  +
Param1=value1
              \
 No newline at end of file
 2717   3338   
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
 2718   3339   
new file mode 100644
 2719   3340   
index 0000000..50074af
 2720         -
-- /dev/null
        3341  +
++ 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
 2721   3342   
@@ -0,0 +1,4 @@
        3343  +
AWS4-HMAC-SHA256
        3344  +
20150830T123600Z
        3345  +
20150830/us-east-1/service/aws4_request
        3346  +
32192353b8ae6d857fac1c71cda066e6af2d3a3127ea7ac1fee22621ab4f05dc
              \
 No newline at end of file
 2722   3347   
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
 2723   3348   
similarity index 89%
 2724   3349   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
 2725   3350   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 2726   3351   
index b711c25..8289eaa 100644
 2727   3352   
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
 2728   3353   
similarity index 99%
 2729   3354   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
 2730   3355   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 2731   3356   
index fc4bce6..0db1df1 100644
 2732   3357   
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
 2733   3358   
new file mode 100644
 2734   3359   
index 0000000..4d116a5
 2735         -
-- /dev/null
        3360  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 2736   3361   
@@ -0,0 +1,11 @@
        3362  +
POST
        3363  +
/
        3364  +
        3365  +
content-length:13
        3366  +
content-type:application/x-www-form-urlencoded
        3367  +
host:example.amazonaws.com
        3368  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3369  +
x-amz-date:20150830T123600Z
        3370  +
        3371  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3372  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2737   3373   
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
 2738   3374   
new file mode 100644
 2739   3375   
index 0000000..0d2ac37
 2740         -
-- /dev/null
        3376  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 2741   3377   
@@ -0,0 +1 @@
        3378  +
d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
              \
 No newline at end of file
 2742   3379   
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
 2743   3380   
new file mode 100644
 2744   3381   
index 0000000..bd5e49c
 2745         -
-- /dev/null
        3382  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 2746   3383   
@@ -0,0 +1,9 @@
        3384  +
POST / HTTP/1.1
        3385  +
Content-Type:application/x-www-form-urlencoded
        3386  +
Host:example.amazonaws.com
        3387  +
Content-Length:13
        3388  +
X-Amz-Date:20150830T123600Z
        3389  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3390  +
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
        3391  +
        3392  +
Param1=value1
              \
 No newline at end of file
 2747   3393   
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
 2748   3394   
new file mode 100644
 2749   3395   
index 0000000..f1c599c
 2750         -
-- /dev/null
        3396  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 2751   3397   
@@ -0,0 +1,4 @@
        3398  +
AWS4-HMAC-SHA256
        3399  +
20150830T123600Z
        3400  +
20150830/us-east-1/service/aws4_request
        3401  +
b1edd1d03544c25390e32085d55b57acc9a3961bb59415ff86c45c3d89d16cfb
              \
 No newline at end of file
 2752   3402   
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
 2753   3403   
new file mode 100644
 2754   3404   
index 0000000..1fc1bb7
 2755         -
-- /dev/null
        3405  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 2756   3406   
@@ -0,0 +1,9 @@
        3407  +
POST
        3408  +
/
        3409  +
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
        3410  +
content-length:13
        3411  +
content-type:application/x-www-form-urlencoded
        3412  +
host:example.amazonaws.com
        3413  +
        3414  +
content-length;content-type;host
        3415  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2757   3416   
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
 2758   3417   
new file mode 100644
 2759   3418   
index 0000000..98c91b3
 2760         -
-- /dev/null
        3419  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 2761   3420   
@@ -0,0 +1 @@
        3421  +
89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9
              \
 No newline at end of file
 2762   3422   
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
 2763   3423   
new file mode 100644
 2764   3424   
index 0000000..055cd7a
 2765         -
-- /dev/null
        3425  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 2766   3426   
@@ -0,0 +1,6 @@
        3427  +
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
        3428  +
Content-Type:application/x-www-form-urlencoded
        3429  +
Host:example.amazonaws.com
        3430  +
Content-Length:13
        3431  +
        3432  +
Param1=value1
              \
 No newline at end of file
 2767   3433   
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
 2768   3434   
new file mode 100644
 2769   3435   
index 0000000..db7fc27
 2770         -
-- /dev/null
        3436  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 2771   3437   
@@ -0,0 +1,4 @@
        3438  +
AWS4-HMAC-SHA256
        3439  +
20150830T123600Z
        3440  +
20150830/us-east-1/service/aws4_request
        3441  +
ee5059a7c437165a28d0e775e6498be428761255d657d8c04cb1baa41de6514c
              \
 No newline at end of file
 2772   3442   
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
 2773   3443   
similarity index 88%
 2774   3444   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
 2775   3445   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 2776   3446   
index 0091102..760b2d3 100644
 2777   3447   
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
 2778   3448   
new file mode 100644
 2779   3449   
index 0000000..0468d80
 2780         -
-- /dev/null
        3450  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 2781   3451   
@@ -0,0 +1,12 @@
        3452  +
{
        3453  +
    "credentials": {
        3454  +
        "access_key_id": "AKIDEXAMPLE",
        3455  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3456  +
    },
        3457  +
    "expiration_in_seconds": 3600,
        3458  +
    "normalize": true,
        3459  +
    "region": "us-east-1",
        3460  +
    "service": "service",
        3461  +
    "sign_body": false,
        3462  +
    "timestamp": "2015-08-30T12:36:00Z"
        3463  +
}
              \
 No newline at end of file
 2782   3464   
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
 2783   3465   
similarity index 99%
 2784   3466   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
 2785   3467   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 2786   3468   
index ccb5f43..1bc448e 100644
 2787   3469   
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
 2788   3470   
new file mode 100644
 2789   3471   
index 0000000..489c182
 2790         -
-- /dev/null
        3472  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 2791   3473   
@@ -0,0 +1 @@
        3474  +
304502204862ad283a21f883fc12f1156a6f3fcdbba13d1847e58aa5eb37c666477ea06b022100ee439fac0a975c9a6605b1fa44ad7b654a1f8ac6e868e4e1069a1b3aa35d8113
              \
 No newline at end of file
 2792   3475   
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
 2793   3476   
new file mode 100644
 2794   3477   
index 0000000..e1b8dbf
 2795         -
-- /dev/null
        3478  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 2796   3479   
@@ -0,0 +1,9 @@
        3480  +
GET / HTTP/1.1
        3481  +
Host:example.amazonaws.com
        3482  +
My-Header1:value2
        3483  +
My-Header1:value2
        3484  +
My-Header1:value1
        3485  +
X-Amz-Date:20150830T123600Z
        3486  +
X-Amz-Region-Set:us-east-1
        3487  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=30450220331da6dfebb0d19e5e161b1efa389ccb83cadb60bc71f6791ef71ac6054c44de0221008588b7d5c9f7a79ca9c02a02efbd0f540cda242a64ca1452aa914e050b517724
        3488  +
 2797   3489   
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
 2798   3490   
similarity index 99%
 2799   3491   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
 2800   3492   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 2801   3493   
index 8783461..bfc4619 100644
 2802   3494   
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
 2803   3495   
new file mode 100644
 2804   3496   
index 0000000..379dcb2
 2805         -
-- /dev/null
        3497  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 2806   3498   
@@ -0,0 +1,4 @@
        3499  +
{
        3500  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3501  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3502  +
}
 2807   3503   
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
 2808   3504   
similarity index 99%
 2809   3505   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
 2810   3506   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 2811   3507   
index 9561297..c05c3f5 100644
 2812   3508   
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
 2813   3509   
new file mode 100644
 2814   3510   
index 0000000..de9a4c3
 2815         -
-- /dev/null
        3511  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 2816   3512   
@@ -0,0 +1 @@
        3513  +
3045022100e1e03fa80218cb464404dc4badbdf443f5f5bb504840a2b3803565a28be0388d022063399d4fb8b974906e87a8d67bf7e95334d9dc620817ef92eb2bc6affb1c6a10
              \
 No newline at end of file
 2817   3514   
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
 2818   3515   
new file mode 100644
 2819   3516   
index 0000000..6c6b8c4
 2820         -
-- /dev/null
        3517  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 2821   3518   
@@ -0,0 +1,6 @@
        3519  +
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
        3520  +
Host:example.amazonaws.com
        3521  +
My-Header1:value2
        3522  +
My-Header1:value2
        3523  +
My-Header1:value1
        3524  +
 2822   3525   
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
 2823   3526   
similarity index 99%
 2824   3527   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
 2825   3528   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 2826   3529   
index 3140f6f..4eef106 100644
 2827   3530   
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
 2828   3531   
similarity index 78%
 2829   3532   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
 2830   3533   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2831   3534   
index 08a0364..40455ce 100644
 2832         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
        3535  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2833   3536   
@@ -1,6 +1,5 @@
 2834   3537   
GET / HTTP/1.1
 2835   3538   
Host:example.amazonaws.com
 2836   3539   
My-Header1:value2
 2837   3540   
My-Header1:value2
 2838   3541   
My-Header1:value1
 2839         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2840   3542   
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
 2841   3543   
new file mode 100644
 2842   3544   
index 0000000..0468d80
 2843         -
-- /dev/null
        3545  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 2844   3546   
@@ -0,0 +1,12 @@
        3547  +
{
        3548  +
    "credentials": {
        3549  +
        "access_key_id": "AKIDEXAMPLE",
        3550  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3551  +
    },
        3552  +
    "expiration_in_seconds": 3600,
        3553  +
    "normalize": true,
        3554  +
    "region": "us-east-1",
        3555  +
    "service": "service",
        3556  +
    "sign_body": false,
        3557  +
    "timestamp": "2015-08-30T12:36:00Z"
        3558  +
}
              \
 No newline at end of file
 2845   3559   
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
 2846   3560   
new file mode 100644
 2847   3561   
index 0000000..69526cd
 2848         -
-- /dev/null
        3562  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 2849   3563   
@@ -0,0 +1,10 @@
        3564  +
GET
        3565  +
/
        3566  +
        3567  +
host:example.amazonaws.com
        3568  +
my-header1:value1 value2 value3
        3569  +
x-amz-date:20150830T123600Z
        3570  +
x-amz-region-set:us-east-1
        3571  +
        3572  +
host;my-header1;x-amz-date;x-amz-region-set
        3573  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2850   3574   
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
 2851   3575   
new file mode 100644
 2852   3576   
index 0000000..d51b4f3
 2853         -
-- /dev/null
        3577  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 2854   3578   
@@ -0,0 +1 @@
        3579  +
304502206a2d7c3572ebcb9a1f34e5fa744250c3fb2f403a0a7e4b0bc196286846a996a8022100d94aacba36ff453394df27966e9cccd7c6065457b6fe828aebe107307cc5e8e9
              \
 No newline at end of file
 2855   3580   
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
 2856   3581   
new file mode 100644
 2857   3582   
index 0000000..8131420
 2858         -
-- /dev/null
        3583  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 2859   3584   
@@ -0,0 +1,9 @@
        3585  +
GET / HTTP/1.1
        3586  +
Host:example.amazonaws.com
        3587  +
My-Header1:value1
        3588  +
  value2
        3589  +
     value3
        3590  +
X-Amz-Date:20150830T123600Z
        3591  +
X-Amz-Region-Set:us-east-1
        3592  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022060b9f2f480a395bf34aa42074697f923c2355e26970987461ce904a6a2eeef52022100fc7ef73838bbfba208a8cf8f3edbe1c8879be7853b677f492db93c30df6fbe02
        3593  +
 2860   3594   
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
 2861   3595   
new file mode 100644
 2862   3596   
index 0000000..e4d99fa
 2863         -
-- /dev/null
        3597  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 2864   3598   
@@ -0,0 +1,4 @@
        3599  +
AWS4-ECDSA-P256-SHA256
        3600  +
20150830T123600Z
        3601  +
20150830/service/aws4_request
        3602  +
3579d4751dd7db30860b89a17b53647c70fd8363ec485836dbf68cfd22313398
              \
 No newline at end of file
 2865   3603   
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
 2866   3604   
new file mode 100644
 2867   3605   
index 0000000..379dcb2
 2868         -
-- /dev/null
        3606  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 2869   3607   
@@ -0,0 +1,4 @@
        3608  +
{
        3609  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3610  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3611  +
}
 2870   3612   
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
 2871   3613   
new file mode 100644
 2872   3614   
index 0000000..3c4d52f
 2873         -
-- /dev/null
        3615  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 2874   3616   
@@ -0,0 +1,8 @@
        3617  +
GET
        3618  +
/
        3619  +
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
        3620  +
host:example.amazonaws.com
        3621  +
my-header1:value1 value2 value3
        3622  +
        3623  +
host;my-header1
        3624  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2875   3625   
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
 2876   3626   
new file mode 100644
 2877   3627   
index 0000000..4e63f9a
 2878         -
-- /dev/null
        3628  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 2879   3629   
@@ -0,0 +1 @@
        3630  +
30450220159829015456fd111a27c4e0d6a555da894aefd23c96c5eb915b94bf6788499a022100fd48a0b97d1c32a11ee33873f87953a3ef410978f226b4a708acb9e582828fde
              \
 No newline at end of file
 2880   3631   
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
 2881   3632   
new file mode 100644
 2882   3633   
index 0000000..adf1f09
 2883         -
-- /dev/null
        3634  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 2884   3635   
@@ -0,0 +1,6 @@
        3636  +
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
        3637  +
Host:example.amazonaws.com
        3638  +
My-Header1:value1
        3639  +
  value2
        3640  +
     value3
        3641  +
 2885   3642   
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
 2886   3643   
new file mode 100644
 2887   3644   
index 0000000..e085407
 2888         -
-- /dev/null
        3645  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 2889   3646   
@@ -0,0 +1,4 @@
        3647  +
AWS4-ECDSA-P256-SHA256
        3648  +
20150830T123600Z
        3649  +
20150830/service/aws4_request
        3650  +
960c3db8a6ce71c62c4bc13e5f2a72231a8f1a644d52e688ac1524ecd4b09643
              \
 No newline at end of file
 2890   3651   
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
 2891   3652   
new file mode 100644
 2892   3653   
index 0000000..b5026cd
 2893         -
-- /dev/null
        3654  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 2894   3655   
@@ -0,0 +1,5 @@
        3656  +
GET / HTTP/1.1
        3657  +
Host:example.amazonaws.com
        3658  +
My-Header1:value1
        3659  +
  value2
        3660  +
     value3
 2895   3661   
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
 2896   3662   
new file mode 100644
 2897   3663   
index 0000000..0468d80
 2898         -
-- /dev/null
        3664  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 2899   3665   
@@ -0,0 +1,12 @@
        3666  +
{
        3667  +
    "credentials": {
        3668  +
        "access_key_id": "AKIDEXAMPLE",
        3669  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3670  +
    },
        3671  +
    "expiration_in_seconds": 3600,
        3672  +
    "normalize": true,
        3673  +
    "region": "us-east-1",
        3674  +
    "service": "service",
        3675  +
    "sign_body": false,
        3676  +
    "timestamp": "2015-08-30T12:36:00Z"
        3677  +
}
              \
 No newline at end of file
 2900   3678   
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
 2901   3679   
similarity index 99%
 2902   3680   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
 2903   3681   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 2904   3682   
index 9375193..533afdb 100644
 2905   3683   
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
 2906   3684   
new file mode 100644
 2907   3685   
index 0000000..057b426
 2908         -
-- /dev/null
        3686  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 2909   3687   
@@ -0,0 +1 @@
        3688  +
3045022005e72f83b232f1fa01d7344267d44a46fa4c193bc3d0ad256e89f92a561eb8fa022100c62a85a22a6018463df69c97da07cd189185dadeede293c659e15514cd28a0c9
              \
 No newline at end of file
 2910   3689   
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
 2911   3690   
new file mode 100644
 2912   3691   
index 0000000..4e4ccf0
 2913         -
-- /dev/null
        3692  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 2914   3693   
@@ -0,0 +1,10 @@
        3694  +
GET / HTTP/1.1
        3695  +
Host:example.amazonaws.com
        3696  +
My-Header1:value4
        3697  +
My-Header1:value1
        3698  +
My-Header1:value3
        3699  +
My-Header1:value2
        3700  +
X-Amz-Date:20150830T123600Z
        3701  +
X-Amz-Region-Set:us-east-1
        3702  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=304402203410301a4cfc805996d0ac5305374d7cdff4e2564fcbd6f6cfed73b227966046022046e36b2ede1f78d2b68ea4534ae59da3de089e58f67ae08490411dfabd77f36e
        3703  +
 2915   3704   
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
 2916   3705   
similarity index 99%
 2917   3706   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
 2918   3707   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 2919   3708   
index 6400baf..e68c952 100644
 2920   3709   
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
 2921   3710   
new file mode 100644
 2922   3711   
index 0000000..379dcb2
 2923         -
-- /dev/null
        3712  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 2924   3713   
@@ -0,0 +1,4 @@
        3714  +
{
        3715  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3716  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3717  +
}
 2925   3718   
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
 2926   3719   
similarity index 99%
 2927   3720   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
 2928   3721   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 2929   3722   
index ecf494a..68450fe 100644
 2930   3723   
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
 2931   3724   
new file mode 100644
 2932   3725   
index 0000000..9df2eb3
 2933         -
-- /dev/null
        3726  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 2934   3727   
@@ -0,0 +1 @@
        3728  +
3045022044e0c722f2d02673c326d0ac38aae57e2877e158b700de702e5dd082be680f65022100841bb5007fb5ece1078add2bf38e84f1b7ea13e67b935d1fd021014eedee46a4
              \
 No newline at end of file
 2935   3729   
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
 2936   3730   
new file mode 100644
 2937   3731   
index 0000000..62f8cb7
 2938         -
-- /dev/null
        3732  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 2939   3733   
@@ -0,0 +1,7 @@
        3734  +
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
        3735  +
Host:example.amazonaws.com
        3736  +
My-Header1:value4
        3737  +
My-Header1:value1
        3738  +
My-Header1:value3
        3739  +
My-Header1:value2
        3740  +
 2940   3741   
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
 2941   3742   
similarity index 99%
 2942   3743   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
 2943   3744   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 2944   3745   
index b584179..2bcf7b1 100644
 2945   3746   
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
 2946   3747   
similarity index 80%
 2947   3748   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
 2948   3749   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 2949   3750   
index f7bd9e6..2c6f49d 100644
 2950         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
        3751  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 2951   3752   
@@ -1,7 +1,6 @@
 2952   3753   
GET / HTTP/1.1
 2953   3754   
Host:example.amazonaws.com
 2954   3755   
My-Header1:value4
 2955   3756   
My-Header1:value1
 2956   3757   
My-Header1:value3
 2957   3758   
My-Header1:value2
 2958         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2959   3759   
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
 2960   3760   
new file mode 100644
 2961   3761   
index 0000000..0468d80
 2962         -
-- /dev/null
        3762  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 2963   3763   
@@ -0,0 +1,12 @@
        3764  +
{
        3765  +
    "credentials": {
        3766  +
        "access_key_id": "AKIDEXAMPLE",
        3767  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3768  +
    },
        3769  +
    "expiration_in_seconds": 3600,
        3770  +
    "normalize": true,
        3771  +
    "region": "us-east-1",
        3772  +
    "service": "service",
        3773  +
    "sign_body": false,
        3774  +
    "timestamp": "2015-08-30T12:36:00Z"
        3775  +
}
              \
 No newline at end of file
 2964   3776   
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
 2965   3777   
similarity index 99%
 2966   3778   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
 2967   3779   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 2968   3780   
index e91e952..94b6be5 100644
 2969   3781   
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
 2970   3782   
new file mode 100644
 2971   3783   
index 0000000..bf8c3cb
 2972         -
-- /dev/null
        3784  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 2973   3785   
@@ -0,0 +1 @@
        3786  +
3046022100f05cfb8a9a49ee4540c49ed27e612ddd1a2d168512bad65a96cdf8378254a4bd022100a3eb663e6734125d467fc00d5a41dc6bf476ec167d5c20657ff3135c8b4f7815
              \
 No newline at end of file
 2974   3787   
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
 2975   3788   
new file mode 100644
 2976   3789   
index 0000000..f7f054d
 2977         -
-- /dev/null
        3790  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 2978   3791   
@@ -0,0 +1,8 @@
        3792  +
GET / HTTP/1.1
        3793  +
Host:example.amazonaws.com
        3794  +
My-Header1: value1
        3795  +
My-Header2: "a   b   c"
        3796  +
X-Amz-Date:20150830T123600Z
        3797  +
X-Amz-Region-Set:us-east-1
        3798  +
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
        3799  +
 2979   3800   
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
 2980   3801   
similarity index 99%
 2981   3802   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
 2982   3803   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 2983   3804   
index 0e407d8..a2c9c05 100644
 2984   3805   
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
 2985   3806   
new file mode 100644
 2986   3807   
index 0000000..379dcb2
 2987         -
-- /dev/null
        3808  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 2988   3809   
@@ -0,0 +1,4 @@
        3810  +
{
        3811  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3812  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3813  +
}
 2989   3814   
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
 2990   3815   
similarity index 99%
 2991   3816   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
 2992   3817   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 2993   3818   
index 8a3b042..3a51150 100644
 2994   3819   
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
 2995   3820   
new file mode 100644
 2996   3821   
index 0000000..0033053
 2997         -
-- /dev/null
        3822  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 2998   3823   
@@ -0,0 +1 @@
        3824  +
3045022100a765fa4e0a2c5d56292cc9aa654332858bcbb2af27b8c488157113f2c084776b02206145afa6dbb99993e499863fa36e592b94ddaeefbd778a473348204f26c15547
              \
 No newline at end of file
 2999   3825   
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
 3000   3826   
new file mode 100644
 3001   3827   
index 0000000..1537888
 3002         -
-- /dev/null
        3828  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 3003   3829   
@@ -0,0 +1,5 @@
        3830  +
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
        3831  +
Host:example.amazonaws.com
        3832  +
My-Header1: value1
        3833  +
My-Header2: "a   b   c"
        3834  +
 3004   3835   
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
 3005   3836   
similarity index 99%
 3006   3837   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
 3007   3838   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3008   3839   
index 5eead25..633dc1f 100644
 3009   3840   
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
 3010   3841   
similarity index 75%
 3011   3842   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
 3012   3843   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3013   3844   
index 901f36c..ad1ea98 100644
 3014         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
        3845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3015   3846   
@@ -1,5 +1,4 @@
 3016   3847   
GET / HTTP/1.1
 3017   3848   
Host:example.amazonaws.com
 3018   3849   
My-Header1: value1
 3019   3850   
My-Header2: "a   b   c"
 3020         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3021   3851   
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
 3022   3852   
new file mode 100644
 3023   3853   
index 0000000..0468d80
 3024         -
-- /dev/null
        3854  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 3025   3855   
@@ -0,0 +1,12 @@
        3856  +
{
        3857  +
    "credentials": {
        3858  +
        "access_key_id": "AKIDEXAMPLE",
        3859  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3860  +
    },
        3861  +
    "expiration_in_seconds": 3600,
        3862  +
    "normalize": true,
        3863  +
    "region": "us-east-1",
        3864  +
    "service": "service",
        3865  +
    "sign_body": false,
        3866  +
    "timestamp": "2015-08-30T12:36:00Z"
        3867  +
}
              \
 No newline at end of file
 3026   3868   
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
 3027   3869   
similarity index 99%
 3028   3870   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
 3029   3871   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3030   3872   
index 47e7128..76db73d 100644
 3031   3873   
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
 3032   3874   
new file mode 100644
 3033   3875   
index 0000000..cbd6ae2
 3034         -
-- /dev/null
        3876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3035   3877   
@@ -0,0 +1 @@
        3878  +
3045022002e5e766e09de198957182589c9abe3e7ccd00a8fc6d7bbaf5f0a2c10660d16a022100e6b0835731cd5b72d5abb50e5821d90f5f713339697eb65cf40d34a3facfdbb8
              \
 No newline at end of file
 3036   3879   
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
 3037   3880   
new file mode 100644
 3038   3881   
index 0000000..a343fcf
 3039         -
-- /dev/null
        3882  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3040   3883   
@@ -0,0 +1,6 @@
        3884  +
GET /example/.. HTTP/1.1
        3885  +
Host:example.amazonaws.com
        3886  +
X-Amz-Date:20150830T123600Z
        3887  +
X-Amz-Region-Set:us-east-1
        3888  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206ccd591952cdb4a0a002217788234c80eac520f890b0a6ea07b98044f08ba10e0220733126caf0347f7df89773f79b9fae2648ca786e67a7d88ec296d66452da4bec
        3889  +
 3041   3890   
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
 3042   3891   
similarity index 99%
 3043   3892   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
 3044   3893   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3045   3894   
index 95d7219..600f1d8 100644
 3046   3895   
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
 3047   3896   
new file mode 100644
 3048   3897   
index 0000000..379dcb2
 3049         -
-- /dev/null
        3898  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3050   3899   
@@ -0,0 +1,4 @@
        3900  +
{
        3901  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3902  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3903  +
}
 3051   3904   
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
 3052   3905   
similarity index 99%
 3053   3906   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
 3054   3907   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3055   3908   
index a34ea26..779c51c 100644
 3056   3909   
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
 3057   3910   
new file mode 100644
 3058   3911   
index 0000000..3cc88e6
 3059         -
-- /dev/null
        3912  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3060   3913   
@@ -0,0 +1 @@
        3914  +
304402200ef7c6ac7bfaaddbf4df3a4b03ab2e4e24e992d305fa133ef0f6c826ad9850e602203ef21f22e239cd1971310c404c80d6e50c5cd06eae1452695ae762d1a9a51c90
              \
 No newline at end of file
 3061   3915   
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
 3062   3916   
new file mode 100644
 3063   3917   
index 0000000..f68dde8
 3064         -
-- /dev/null
        3918  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3065   3919   
@@ -0,0 +1,3 @@
        3920  +
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
        3921  +
Host:example.amazonaws.com
        3922  +
 3066   3923   
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
 3067   3924   
similarity index 99%
 3068   3925   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
 3069   3926   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3070   3927   
index 48f855c..6e29a7e 100644
 3071   3928   
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
 3072   3929   
similarity index 65%
 3073   3930   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
 3074   3931   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3075   3932   
index 9d6d7ca..6aa9f99 100644
 3076         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
        3933  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3077   3934   
@@ -1,3 +1,2 @@
 3078   3935   
GET /example/.. HTTP/1.1
 3079   3936   
Host:example.amazonaws.com
 3080         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3081   3937   
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
 3082   3938   
new file mode 100644
 3083   3939   
index 0000000..0468d80
 3084         -
-- /dev/null
        3940  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3085   3941   
@@ -0,0 +1,12 @@
        3942  +
{
        3943  +
    "credentials": {
        3944  +
        "access_key_id": "AKIDEXAMPLE",
        3945  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3946  +
    },
        3947  +
    "expiration_in_seconds": 3600,
        3948  +
    "normalize": true,
        3949  +
    "region": "us-east-1",
        3950  +
    "service": "service",
        3951  +
    "sign_body": false,
        3952  +
    "timestamp": "2015-08-30T12:36:00Z"
        3953  +
}
              \
 No newline at end of file
 3086   3954   
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
 3087   3955   
similarity index 99%
 3088   3956   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
 3089   3957   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3090   3958   
index 47e7128..76db73d 100644
 3091   3959   
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
 3092   3960   
new file mode 100644
 3093   3961   
index 0000000..f7a7ebe
 3094         -
-- /dev/null
        3962  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3095   3963   
@@ -0,0 +1 @@
        3964  +
3046022100ea029ea1e7b8715f67cd33b8536e013e53e9c7bcd109770f29a4a28767bb2212022100c95a298283c130266a4c8457590d8c047205b4aef9266b85deeb90e5c73e5caa
              \
 No newline at end of file
 3096   3965   
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
 3097   3966   
new file mode 100644
 3098   3967   
index 0000000..9d2c50d
 3099         -
-- /dev/null
        3968  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3100   3969   
@@ -0,0 +1,6 @@
        3970  +
GET /example1/example2/../.. HTTP/1.1
        3971  +
Host:example.amazonaws.com
        3972  +
X-Amz-Date:20150830T123600Z
        3973  +
X-Amz-Region-Set:us-east-1
        3974  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203edb747d59fe32db47529b2e5e02c9276759b7c43ad9e36ff62d52b8dbeb00e3022007f99e8601938b893fe6dcbac9259fec2f3797b0e3d74fd66d59b09e83b8c1d4
        3975  +
 3101   3976   
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
 3102   3977   
similarity index 99%
 3103   3978   
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
 3104   3979   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3105   3980   
index 95d7219..600f1d8 100644
 3106   3981   
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
 3107   3982   
new file mode 100644
 3108   3983   
index 0000000..379dcb2
 3109         -
-- /dev/null
        3984  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3110   3985   
@@ -0,0 +1,4 @@
        3986  +
{
        3987  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3988  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3989  +
}
 3111   3990   
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
 3112   3991   
similarity index 99%
 3113   3992   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
 3114   3993   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3115   3994   
index a34ea26..779c51c 100644
 3116   3995   
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
 3117   3996   
new file mode 100644
 3118   3997   
index 0000000..45ef286
 3119         -
-- /dev/null
        3998  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3120   3999   
@@ -0,0 +1 @@
        4000  +
304402200afc56cdc43e814e44408999f2fb2fe0f8992877345b09e402b28fb2063e4987022035cdba28f5462e9034f45fc5f879bd2305943f9a1830b0f7fbe6468658ba52c1
              \
 No newline at end of file
 3121   4001   
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
 3122   4002   
new file mode 100644
 3123   4003   
index 0000000..0d16f66
 3124         -
-- /dev/null
        4004  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3125   4005   
@@ -0,0 +1,3 @@
        4006  +
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
        4007  +
Host:example.amazonaws.com
        4008  +
 3126   4009   
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
 3127   4010   
similarity index 99%
 3128   4011   
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
 3129   4012   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3130   4013   
index 48f855c..6e29a7e 100644
 3131   4014   
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
 3132   4015   
similarity index 70%
 3133   4016   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
 3134   4017   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3135   4018   
index cfd4e8b..a856c10 100644
 3136         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
        4019  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3137   4020   
@@ -1,3 +1,2 @@
 3138   4021   
GET /example1/example2/../.. HTTP/1.1
 3139   4022   
Host:example.amazonaws.com
 3140         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3141   4023   
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
 3142   4024   
new file mode 100644
 3143   4025   
index 0000000..7bee5c7
 3144         -
-- /dev/null
        4026  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3145   4027   
@@ -0,0 +1,12 @@
        4028  +
{
        4029  +
    "credentials": {
        4030  +
        "access_key_id": "AKIDEXAMPLE",
        4031  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4032  +
    },
        4033  +
    "expiration_in_seconds": 3600,
        4034  +
    "normalize": false,
        4035  +
    "region": "us-east-1",
        4036  +
    "service": "service",
        4037  +
    "sign_body": false,
        4038  +
    "timestamp": "2015-08-30T12:36:00Z"
        4039  +
}
              \
 No newline at end of file
 3146   4040   
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
 3147   4041   
similarity index 99%
 3148   4042   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
 3149   4043   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3150   4044   
index 5e1d1cf..e4e6d57 100644
 3151   4045   
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
 3152   4046   
new file mode 100644
 3153   4047   
index 0000000..2d1b47c
 3154         -
-- /dev/null
        4048  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3155   4049   
@@ -0,0 +1 @@
        4050  +
30450221009bf86ef8b148904a938fcc5a050aa99cb99cb6a3436a62badfef1b82977d95c4022053e3c11e10fb302a2c39c253b066530404ee5fcca63bf962facd8d072817a69d
              \
 No newline at end of file
 3156   4051   
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
 3157   4052   
new file mode 100644
 3158   4053   
index 0000000..7158179
 3159         -
-- /dev/null
        4054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3160   4055   
@@ -0,0 +1,6 @@
        4056  +
GET /example1/example2/../.. HTTP/1.1
        4057  +
Host:example.amazonaws.com
        4058  +
X-Amz-Date:20150830T123600Z
        4059  +
X-Amz-Region-Set:us-east-1
        4060  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402205651d45d4f377407303dba0775405efa77683821adff20c0256b94d10710de5b022053fa72420652c55327876c5105da6770cb482f55533e1b0bd7d15fa75f570e46
        4061  +
 3161   4062   
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
 3162   4063   
similarity index 99%
 3163   4064   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
 3164   4065   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3165   4066   
index 1cca6cf..db60c8e 100644
 3166   4067   
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
 3167   4068   
new file mode 100644
 3168   4069   
index 0000000..379dcb2
 3169         -
-- /dev/null
        4070  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3170   4071   
@@ -0,0 +1,4 @@
        4072  +
{
        4073  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4074  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4075  +
}
 3171   4076   
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
 3172   4077   
similarity index 99%
 3173   4078   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
 3174   4079   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3175   4080   
index 95dc104..0d963ba 100644
 3176   4081   
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
 3177   4082   
new file mode 100644
 3178   4083   
index 0000000..ae774e4
 3179         -
-- /dev/null
        4084  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3180   4085   
@@ -0,0 +1 @@
        4086  +
3046022100a11cd4cae39a6b3553651f9c6360898278d90a3cb8f736184ff6bdb8564decbc022100d86a34623cc34890750a7fe8a30948638f6dace0e558c3ff82a0cf6256067503
              \
 No newline at end of file
 3181   4087   
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
 3182   4088   
new file mode 100644
 3183   4089   
index 0000000..be6b86e
 3184         -
-- /dev/null
        4090  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3185   4091   
@@ -0,0 +1,3 @@
        4092  +
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
        4093  +
Host:example.amazonaws.com
        4094  +
 3186   4095   
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
 3187   4096   
similarity index 99%
 3188   4097   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
 3189   4098   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3190   4099   
index 50edce6..fcc70cd 100644
 3191   4100   
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
 3192   4101   
new file mode 100644
 3193   4102   
index 0000000..a856c10
 3194         -
-- /dev/null
        4103  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3195   4104   
@@ -0,0 +1,2 @@
        4105  +
GET /example1/example2/../.. HTTP/1.1
        4106  +
Host:example.amazonaws.com
 3196   4107   
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
 3197   4108   
new file mode 100644
 3198   4109   
index 0000000..7bee5c7
 3199         -
-- /dev/null
        4110  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3200   4111   
@@ -0,0 +1,12 @@
        4112  +
{
        4113  +
    "credentials": {
        4114  +
        "access_key_id": "AKIDEXAMPLE",
        4115  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4116  +
    },
        4117  +
    "expiration_in_seconds": 3600,
        4118  +
    "normalize": false,
        4119  +
    "region": "us-east-1",
        4120  +
    "service": "service",
        4121  +
    "sign_body": false,
        4122  +
    "timestamp": "2015-08-30T12:36:00Z"
        4123  +
}
              \
 No newline at end of file
 3201   4124   
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
 3202   4125   
similarity index 99%
 3203   4126   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
 3204   4127   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3205   4128   
index d6a0abe..22def1a 100644
 3206   4129   
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
 3207   4130   
new file mode 100644
 3208   4131   
index 0000000..9251bad
 3209         -
-- /dev/null
        4132  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3210   4133   
@@ -0,0 +1 @@
        4134  +
3045022100a85167a37a2c6aea42ef9dcb0dcaeaf85ca4ef1a4d8ffea5be550dbd4573471902202193760e5e6bb1ee4aff836769b9739f4563e06749bcaa7553ec1d1377aa5a6d
              \
 No newline at end of file
 3211   4135   
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
 3212   4136   
new file mode 100644
 3213   4137   
index 0000000..f1bb60f
 3214         -
-- /dev/null
        4138  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3215   4139   
@@ -0,0 +1,6 @@
        4140  +
GET /example/.. HTTP/1.1
        4141  +
Host:example.amazonaws.com
        4142  +
X-Amz-Date:20150830T123600Z
        4143  +
X-Amz-Region-Set:us-east-1
        4144  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402201430c834d8a89aca13ebd785da338950559f71ab29f1b7d7b4ad6b090de1a09702206c8d6089b75105d6fc5df5374bbb8abbc33b78951c95b90f9f6c25a657b58ce6
        4145  +
 3216   4146   
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
 3217   4147   
similarity index 99%
 3218   4148   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
 3219   4149   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3220   4150   
index 4a34e93..5673a20 100644
 3221   4151   
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
 3222   4152   
new file mode 100644
 3223   4153   
index 0000000..379dcb2
 3224         -
-- /dev/null
        4154  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3225   4155   
@@ -0,0 +1,4 @@
        4156  +
{
        4157  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4158  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4159  +
}
 3226   4160   
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
 3227   4161   
similarity index 99%
 3228   4162   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
 3229   4163   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3230   4164   
index b1d123e..a1c22e0 100644
 3231   4165   
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
 3232   4166   
new file mode 100644
 3233   4167   
index 0000000..9f0f686
 3234         -
-- /dev/null
        4168  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3235   4169   
@@ -0,0 +1 @@
        4170  +
3045022074d05647e395d4bf3d751953c7242ee27dd16fbae3f604a272d3acc3d72ba5fb022100ddccd95ac05f60f10d5e95c5847b49018bbfa1084361bf338964408cc2162fff
              \
 No newline at end of file
 3236   4171   
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
 3237   4172   
new file mode 100644
 3238   4173   
index 0000000..d1d451a
 3239         -
-- /dev/null
        4174  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3240   4175   
@@ -0,0 +1,3 @@
        4176  +
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
        4177  +
Host:example.amazonaws.com
        4178  +
 3241   4179   
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
 3242   4180   
similarity index 99%
 3243   4181   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
 3244   4182   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3245   4183   
index a17f5ab..81b41e8 100644
 3246   4184   
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
 3247   4185   
new file mode 100644
 3248   4186   
index 0000000..6aa9f99
 3249         -
-- /dev/null
        4187  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3250   4188   
@@ -0,0 +1,2 @@
        4189  +
GET /example/.. HTTP/1.1
        4190  +
Host:example.amazonaws.com
 3251   4191   
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
 3252   4192   
new file mode 100644
 3253   4193   
index 0000000..0468d80
 3254         -
-- /dev/null
        4194  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3255   4195   
@@ -0,0 +1,12 @@
        4196  +
{
        4197  +
    "credentials": {
        4198  +
        "access_key_id": "AKIDEXAMPLE",
        4199  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4200  +
    },
        4201  +
    "expiration_in_seconds": 3600,
        4202  +
    "normalize": true,
        4203  +
    "region": "us-east-1",
        4204  +
    "service": "service",
        4205  +
    "sign_body": false,
        4206  +
    "timestamp": "2015-08-30T12:36:00Z"
        4207  +
}
              \
 No newline at end of file
 3256   4208   
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
 3257   4209   
similarity index 99%
 3258   4210   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
 3259   4211   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3260   4212   
index 47e7128..76db73d 100644
 3261   4213   
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
 3262   4214   
new file mode 100644
 3263   4215   
index 0000000..ca6e84e
 3264         -
-- /dev/null
        4216  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3265   4217   
@@ -0,0 +1 @@
        4218  +
3045022100e8ed39e8b964e06162ab1cddbff57c449a9b72e2d052a7a3e12a116ae30185ee022003e6eb0fddbaa586225b26877ab145e05a08ac418ef7c966e5daef258b70cbfc
              \
 No newline at end of file
 3266   4219   
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
 3267   4220   
new file mode 100644
 3268   4221   
index 0000000..a7c764c
 3269         -
-- /dev/null
        4222  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3270   4223   
@@ -0,0 +1,6 @@
        4224  +
GET /./ HTTP/1.1
        4225  +
Host:example.amazonaws.com
        4226  +
X-Amz-Date:20150830T123600Z
        4227  +
X-Amz-Region-Set:us-east-1
        4228  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207665172b8612dbbd2c1f3c722c52b7b8dac2cdc5203d86252e21d9610018b153022100c548f3f0c23beeb388f8c8138ce1e883e2cdf2be1d7c5d7c15d4e565bfd6b0dd
        4229  +
 3271   4230   
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
 3272   4231   
similarity index 99%
 3273   4232   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
 3274   4233   
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
 3275   4234   
index 95d7219..600f1d8 100644
 3276   4235   
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
 3277   4236   
new file mode 100644
 3278   4237   
index 0000000..379dcb2
 3279         -
-- /dev/null
        4238  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3280   4239   
@@ -0,0 +1,4 @@
        4240  +
{
        4241  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4242  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4243  +
}
 3281   4244   
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
 3282   4245   
similarity index 99%
 3283   4246   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
 3284   4247   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3285   4248   
index a34ea26..779c51c 100644
 3286   4249   
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
 3287   4250   
new file mode 100644
 3288   4251   
index 0000000..4b6ed09
 3289         -
-- /dev/null
        4252  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3290   4253   
@@ -0,0 +1 @@
        4254  +
3046022100ea775dcca84dbada39eb9e7d55183c31d7294d1826d965c2ade1730bd20ac7cb022100aaab5325eed9bb3f93814af0fd0170893cbeeff052d0bb554f91a394fd2f5135
              \
 No newline at end of file
 3291   4255   
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
 3292   4256   
new file mode 100644
 3293   4257   
index 0000000..d6c7176
 3294         -
-- /dev/null
        4258  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3295   4259   
@@ -0,0 +1,3 @@
        4260  +
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
        4261  +
Host:example.amazonaws.com
        4262  +
 3296   4263   
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
 3297   4264   
similarity index 99%
 3298   4265   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
 3299   4266   
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
 3300   4267   
index 48f855c..6e29a7e 100644
 3301   4268   
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
 3302   4269   
similarity index 61%
 3303   4270   
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
 3304   4271   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3305   4272   
index f3537b7..2c5ff38 100644
 3306         -
-- 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
        4273  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3307   4274   
@@ -1,3 +1,2 @@
 3308   4275   
GET /./ HTTP/1.1
 3309   4276   
Host:example.amazonaws.com
 3310         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3311   4277   
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
 3312   4278   
new file mode 100644
 3313   4279   
index 0000000..7bee5c7
 3314         -
-- /dev/null
        4280  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3315   4281   
@@ -0,0 +1,12 @@
        4282  +
{
        4283  +
    "credentials": {
        4284  +
        "access_key_id": "AKIDEXAMPLE",
        4285  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4286  +
    },
        4287  +
    "expiration_in_seconds": 3600,
        4288  +
    "normalize": false,
        4289  +
    "region": "us-east-1",
        4290  +
    "service": "service",
        4291  +
    "sign_body": false,
        4292  +
    "timestamp": "2015-08-30T12:36:00Z"
        4293  +
}
              \
 No newline at end of file
 3316   4294   
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
 3317   4295   
similarity index 99%
 3318   4296   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3319   4297   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3320   4298   
index d05303d..9257ac4 100644
 3321   4299   
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
 3322   4300   
new file mode 100644
 3323   4301   
index 0000000..2eb1aa5
 3324         -
-- /dev/null
        4302  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3325   4303   
@@ -0,0 +1 @@
        4304  +
30450220430660fe6e8e04ee055a2c56476dcf95c00b3efca267823134664f90a23fdc0f022100f188106c83e13a89e6a487f24d23522520f7a15c40e3aacd0c32284da42c2f5a
              \
 No newline at end of file
 3326   4305   
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
 3327   4306   
new file mode 100644
 3328   4307   
index 0000000..df3b1da
 3329         -
-- /dev/null
        4308  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3330   4309   
@@ -0,0 +1,6 @@
        4310  +
GET /./ HTTP/1.1
        4311  +
Host:example.amazonaws.com
        4312  +
X-Amz-Date:20150830T123600Z
        4313  +
X-Amz-Region-Set:us-east-1
        4314  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022049aaa02168ac9666a94f42238be0a02a7a244b74d6e16bdf64aac7ce8e21e44d02206b9be50186bdd4ee9191c0dd5ccff7e990365bb3b56430653f6fa49a68dbf596
        4315  +
 3331   4316   
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
 3332   4317   
similarity index 99%
 3333   4318   
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
 3334   4319   
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
 3335   4320   
index e1bfb39..754b3ed 100644
 3336   4321   
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
 3337   4322   
new file mode 100644
 3338   4323   
index 0000000..379dcb2
 3339         -
-- /dev/null
        4324  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3340   4325   
@@ -0,0 +1,4 @@
        4326  +
{
        4327  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4328  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4329  +
}
 3341   4330   
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
 3342   4331   
similarity index 99%
 3343   4332   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3344   4333   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3345   4334   
index f048d0f..c8edce3 100644
 3346   4335   
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
 3347   4336   
new file mode 100644
 3348   4337   
index 0000000..d3af3b8
 3349         -
-- /dev/null
        4338  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3350   4339   
@@ -0,0 +1 @@
        4340  +
304402207999228e5213710741e030ffa7dfa83ce3676384c5df044431bc854488a08abd0220248ff8a956bbcbc641c0ec4a7853774f44112b1571f861fc5aebf78282fd7e63
              \
 No newline at end of file
 3351   4341   
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
 3352   4342   
new file mode 100644
 3353   4343   
index 0000000..eb38155
 3354         -
-- /dev/null
        4344  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3355   4345   
@@ -0,0 +1,3 @@
        4346  +
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
        4347  +
Host:example.amazonaws.com
        4348  +
 3356   4349   
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
 3357   4350   
similarity index 99%
 3358   4351   
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
 3359   4352   
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
 3360   4353   
index bfcf245..4f20b8f 100644
 3361   4354   
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
 3362   4355   
new file mode 100644
 3363   4356   
index 0000000..2c5ff38
 3364         -
-- /dev/null
        4357  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3365   4358   
@@ -0,0 +1,2 @@
        4359  +
GET /./ HTTP/1.1
        4360  +
Host:example.amazonaws.com
 3366   4361   
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
 3367   4362   
new file mode 100644
 3368   4363   
index 0000000..0468d80
 3369         -
-- /dev/null
        4364  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3370   4365   
@@ -0,0 +1,12 @@
        4366  +
{
        4367  +
    "credentials": {
        4368  +
        "access_key_id": "AKIDEXAMPLE",
        4369  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4370  +
    },
        4371  +
    "expiration_in_seconds": 3600,
        4372  +
    "normalize": true,
        4373  +
    "region": "us-east-1",
        4374  +
    "service": "service",
        4375  +
    "sign_body": false,
        4376  +
    "timestamp": "2015-08-30T12:36:00Z"
        4377  +
}
              \
 No newline at end of file
 3371   4378   
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
 3372   4379   
similarity index 99%
 3373   4380   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
 3374   4381   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3375   4382   
index 47e7128..76db73d 100644
 3376   4383   
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
 3377   4384   
new file mode 100644
 3378   4385   
index 0000000..0c049ca
 3379         -
-- /dev/null
        4386  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 3380   4387   
@@ -0,0 +1 @@
        4388  +
304602210084a7310186a866f81dbe8e546f6931dd7c61586d30664d5c11f5904836f72cfd022100c7d80abdccceb1cbcdbbda8b4f3f0ae1ac6229dce800b21ba8298c582fa96a1c
              \
 No newline at end of file
 3381   4389   
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
 3382   4390   
new file mode 100644
 3383   4391   
index 0000000..f4bb1e1
 3384         -
-- /dev/null
        4392  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 3385   4393   
@@ -0,0 +1,6 @@
        4394  +
GET // HTTP/1.1
        4395  +
Host:example.amazonaws.com
        4396  +
X-Amz-Date:20150830T123600Z
        4397  +
X-Amz-Region-Set:us-east-1
        4398  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207c7fe2e91cdbe4529569d58fc3727507375cff81a56cfa26b387895ab6cdbb25022100d38e283efa5ff27d88f10e7367493b1dc49050ba9474531e4acb3ee30fac3739
        4399  +
 3386   4400   
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
 3387   4401   
similarity index 99%
 3388   4402   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
 3389   4403   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3390   4404   
index 95d7219..600f1d8 100644
 3391   4405   
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
 3392   4406   
new file mode 100644
 3393   4407   
index 0000000..379dcb2
 3394         -
-- /dev/null
        4408  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 3395   4409   
@@ -0,0 +1,4 @@
        4410  +
{
        4411  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4412  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4413  +
}
 3396   4414   
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
 3397   4415   
similarity index 99%
 3398   4416   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
 3399   4417   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3400   4418   
index a34ea26..779c51c 100644
 3401   4419   
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
 3402   4420   
new file mode 100644
 3403   4421   
index 0000000..ca52293
 3404         -
-- /dev/null
        4422  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 3405   4423   
@@ -0,0 +1 @@
        4424  +
3045022100b1c08ec4e9a6313f2de7bd8ce726845ea7a3cc636a21ab7258a3067836a6601b02206b76d7a9845bfb683eb30d126a1dc4657e8b64762d4bfb976da9fa132c4a9bd7
              \
 No newline at end of file
 3406   4425   
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
 3407   4426   
new file mode 100644
 3408   4427   
index 0000000..4a212a9
 3409         -
-- /dev/null
        4428  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 3410   4429   
@@ -0,0 +1,3 @@
        4430  +
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
        4431  +
Host:example.amazonaws.com
        4432  +
 3411   4433   
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
 3412   4434   
similarity index 99%
 3413   4435   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
 3414   4436   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 3415   4437   
index 48f855c..6e29a7e 100644
 3416   4438   
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
 3417   4439   
similarity index 61%
 3418   4440   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
 3419   4441   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3420   4442   
index ede8e3c..25bc21e 100644
 3421         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
        4443  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3422   4444   
@@ -1,3 +1,2 @@
 3423   4445   
GET // HTTP/1.1
 3424   4446   
Host:example.amazonaws.com
 3425         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3426   4447   
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
 3427   4448   
new file mode 100644
 3428   4449   
index 0000000..0468d80
 3429         -
-- /dev/null
        4450  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 3430   4451   
@@ -0,0 +1,12 @@
        4452  +
{
        4453  +
    "credentials": {
        4454  +
        "access_key_id": "AKIDEXAMPLE",
        4455  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4456  +
    },
        4457  +
    "expiration_in_seconds": 3600,
        4458  +
    "normalize": true,
        4459  +
    "region": "us-east-1",
        4460  +
    "service": "service",
        4461  +
    "sign_body": false,
        4462  +
    "timestamp": "2015-08-30T12:36:00Z"
        4463  +
}
              \
 No newline at end of file
 3431   4464   
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
 3432   4465   
similarity index 99%
 3433   4466   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3434   4467   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3435   4468   
index 2e36c20..a51f1ba 100644
 3436   4469   
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
 3437   4470   
new file mode 100644
 3438   4471   
index 0000000..f5c871f
 3439         -
-- /dev/null
        4472  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 3440   4473   
@@ -0,0 +1 @@
        4474  +
304502206b0f9b99fe4e4b3bbcb69dd6ca076c847e676161b6fb4cd2bc776f357ece3d07022100fafc5606c7b1a45aa6ce6a7a3a68b07875315b8f952f9a192a420e407e8d1cef
              \
 No newline at end of file
 3441   4475   
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
 3442   4476   
new file mode 100644
 3443   4477   
index 0000000..bda4718
 3444         -
-- /dev/null
        4478  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 3445   4479   
@@ -0,0 +1,6 @@
        4480  +
GET /./example HTTP/1.1
        4481  +
Host:example.amazonaws.com
        4482  +
X-Amz-Date:20150830T123600Z
        4483  +
X-Amz-Region-Set:us-east-1
        4484  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221008cb5fa4d42bdd0c293d58ce748128be3a41693d25cfd701e281bf0c0bc28f41a022100b863217c8f05146ff1b4282706bc78781b1425c2d36a09127116e852e31fc974
        4485  +
 3446   4486   
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
 3447   4487   
similarity index 99%
 3448   4488   
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
 3449   4489   
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
 3450   4490   
index cd30e8b..2ffe879 100644
 3451   4491   
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
 3452   4492   
new file mode 100644
 3453   4493   
index 0000000..379dcb2
 3454         -
-- /dev/null
        4494  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 3455   4495   
@@ -0,0 +1,4 @@
        4496  +
{
        4497  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4498  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4499  +
}
 3456   4500   
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
 3457   4501   
similarity index 99%
 3458   4502   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3459   4503   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3460   4504   
index 77cf28d..45151ea 100644
 3461   4505   
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
 3462   4506   
new file mode 100644
 3463   4507   
index 0000000..11ad7bf
 3464         -
-- /dev/null
        4508  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 3465   4509   
@@ -0,0 +1 @@
        4510  +
3045022004b3d54ffdc33558a93c158a156ef1b50963d051e58ecb88b6809629d6b93860022100d88f70cb68de54e8abc628cb2325bcb32fab1a207d482010955f844812ad5174
              \
 No newline at end of file
 3466   4511   
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
 3467   4512   
new file mode 100644
 3468   4513   
index 0000000..a7537b1
 3469         -
-- /dev/null
        4514  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 3470   4515   
@@ -0,0 +1,3 @@
        4516  +
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
        4517  +
Host:example.amazonaws.com
        4518  +
 3471   4519   
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
 3472   4520   
similarity index 99%
 3473   4521   
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
 3474   4522   
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
 3475   4523   
index 49d9b24..b486672 100644
 3476   4524   
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
 3477   4525   
similarity index 65%
 3478   4526   
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
 3479   4527   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3480   4528   
index 3c91071..5d919c9 100644
 3481         -
-- 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
        4529  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3482   4530   
@@ -1,3 +1,2 @@
 3483   4531   
GET /./example HTTP/1.1
 3484   4532   
Host:example.amazonaws.com
 3485         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3486   4533   
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
 3487   4534   
new file mode 100644
 3488   4535   
index 0000000..7bee5c7
 3489         -
-- /dev/null
        4536  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 3490   4537   
@@ -0,0 +1,12 @@
        4538  +
{
        4539  +
    "credentials": {
        4540  +
        "access_key_id": "AKIDEXAMPLE",
        4541  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4542  +
    },
        4543  +
    "expiration_in_seconds": 3600,
        4544  +
    "normalize": false,
        4545  +
    "region": "us-east-1",
        4546  +
    "service": "service",
        4547  +
    "sign_body": false,
        4548  +
    "timestamp": "2015-08-30T12:36:00Z"
        4549  +
}
              \
 No newline at end of file
 3491   4550   
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
 3492   4551   
similarity index 99%
 3493   4552   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3494   4553   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3495   4554   
index 4444842..2355a69 100644
 3496   4555   
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
 3497   4556   
new file mode 100644
 3498   4557   
index 0000000..9c8f737
 3499         -
-- /dev/null
        4558  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 3500   4559   
@@ -0,0 +1 @@
        4560  +
3044022056618e95bf64058b8174e9e52790352380946d9a0a4ab332b530a63f497a80800220105ebcd6c6ee9b034157d21e7c81fdfb72ca640961cee9b49de82e5c1f80ac5e
              \
 No newline at end of file
 3501   4561   
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
 3502   4562   
new file mode 100644
 3503   4563   
index 0000000..aa5980d
 3504         -
-- /dev/null
        4564  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 3505   4565   
@@ -0,0 +1,6 @@
        4566  +
GET /./example HTTP/1.1
        4567  +
Host:example.amazonaws.com
        4568  +
X-Amz-Date:20150830T123600Z
        4569  +
X-Amz-Region-Set:us-east-1
        4570  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221009e2c768ae9904c3d04eba53cfbb7460034029fb1f169b51f82623cc53ae25dc7022100bfe47ecde858ad9ae3311bba5a4fd45fcacdb1795cc6825f0939e5d929a464bf
        4571  +
 3506   4572   
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
 3507   4573   
similarity index 99%
 3508   4574   
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
 3509   4575   
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
 3510   4576   
index cc63510..d056816 100644
 3511   4577   
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
 3512   4578   
new file mode 100644
 3513   4579   
index 0000000..379dcb2
 3514         -
-- /dev/null
        4580  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 3515   4581   
@@ -0,0 +1,4 @@
        4582  +
{
        4583  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4584  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4585  +
}
 3516   4586   
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
 3517   4587   
similarity index 99%
 3518   4588   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3519   4589   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3520   4590   
index ed2cb2d..df9928e 100644
 3521   4591   
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
 3522   4592   
new file mode 100644
 3523   4593   
index 0000000..bb4d86b
 3524         -
-- /dev/null
        4594  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 3525   4595   
@@ -0,0 +1 @@
        4596  +
304502202c31415712324143f4f20aebbd0f8a2fd4fcdd49d68ac95cd6815db3c0e6407b022100cb46cb62bbd024da2e29445c3378a32057b68b272fb2a08c79bfdcbc398505f3
              \
 No newline at end of file
 3526   4597   
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
 3527   4598   
new file mode 100644
 3528   4599   
index 0000000..0061136
 3529         -
-- /dev/null
        4600  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 3530   4601   
@@ -0,0 +1,3 @@
        4602  +
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
        4603  +
Host:example.amazonaws.com
        4604  +
 3531   4605   
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
 3532   4606   
similarity index 99%
 3533   4607   
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
 3534   4608   
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
 3535   4609   
index c9f3b6d..418f2d6 100644
 3536   4610   
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
 3537   4611   
new file mode 100644
 3538   4612   
index 0000000..5d919c9
 3539         -
-- /dev/null
        4613  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 3540   4614   
@@ -0,0 +1,2 @@
        4615  +
GET /./example HTTP/1.1
        4616  +
Host:example.amazonaws.com
 3541   4617   
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
 3542   4618   
new file mode 100644
 3543   4619   
index 0000000..7bee5c7
 3544         -
-- /dev/null
        4620  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 3545   4621   
@@ -0,0 +1,12 @@
        4622  +
{
        4623  +
    "credentials": {
        4624  +
        "access_key_id": "AKIDEXAMPLE",
        4625  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4626  +
    },
        4627  +
    "expiration_in_seconds": 3600,
        4628  +
    "normalize": false,
        4629  +
    "region": "us-east-1",
        4630  +
    "service": "service",
        4631  +
    "sign_body": false,
        4632  +
    "timestamp": "2015-08-30T12:36:00Z"
        4633  +
}
              \
 No newline at end of file
 3546   4634   
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
 3547   4635   
similarity index 99%
 3548   4636   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
 3549   4637   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 3550   4638   
index 8a4d33b..5f809da 100644
 3551   4639   
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
 3552   4640   
new file mode 100644
 3553   4641   
index 0000000..60179e9
 3554         -
-- /dev/null
        4642  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 3555   4643   
@@ -0,0 +1 @@
        4644  +
3046022100fee7e772befdf85d3f9871798d5e08e93ad3f5d5d408b41387ba55714244809b0221008268d33835753dcdbd0a4d149d902eed071c41b70c230ecf56e0120a0f7d72a1
              \
 No newline at end of file
 3556   4645   
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
 3557   4646   
new file mode 100644
 3558   4647   
index 0000000..72bf1b7
 3559         -
-- /dev/null
        4648  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 3560   4649   
@@ -0,0 +1,6 @@
        4650  +
GET // HTTP/1.1
        4651  +
Host:example.amazonaws.com
        4652  +
X-Amz-Date:20150830T123600Z
        4653  +
X-Amz-Region-Set:us-east-1
        4654  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022061f03990d40a274470a1621b6e12b64452083a61218be77e48132a965da27377022100cdff18369b7361b1e33bd6cb5b216cdf88d390121447d442f59ccf84eb6489f7
        4655  +
 3561   4656   
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
 3562   4657   
similarity index 99%
 3563   4658   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
 3564   4659   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 3565   4660   
index 874c01c..2b3bf67 100644
 3566   4661   
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
 3567   4662   
new file mode 100644
 3568   4663   
index 0000000..379dcb2
 3569         -
-- /dev/null
        4664  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 3570   4665   
@@ -0,0 +1,4 @@
        4666  +
{
        4667  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4668  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4669  +
}
 3571   4670   
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
 3572   4671   
similarity index 99%
 3573   4672   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
 3574   4673   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 3575   4674   
index 81d7b0b..d10ad29 100644
 3576   4675   
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
 3577   4676   
new file mode 100644
 3578   4677   
index 0000000..d9bd824
 3579         -
-- /dev/null
        4678  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 3580   4679   
@@ -0,0 +1 @@
        4680  +
3045022100abcadf84ed6f4bf5c19df3220b13e370ef093e5e7a5a5093c1a796a3de7804710220568ec0dafd60aa764002ce2ac7c89f403b47142dc7e0e48ded1691929488c88e
              \
 No newline at end of file
 3581   4681   
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
 3582   4682   
new file mode 100644
 3583   4683   
index 0000000..19d1d46
 3584         -
-- /dev/null
        4684  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 3585   4685   
@@ -0,0 +1,3 @@
        4686  +
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
        4687  +
Host:example.amazonaws.com
        4688  +
 3586   4689   
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
 3587   4690   
similarity index 99%
 3588   4691   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
 3589   4692   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 3590   4693   
index 17e5279..24c8a5e 100644
 3591   4694   
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
 3592   4695   
new file mode 100644
 3593   4696   
index 0000000..25bc21e
 3594         -
-- /dev/null
        4697  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 3595   4698   
@@ -0,0 +1,2 @@
        4699  +
GET // HTTP/1.1
        4700  +
Host:example.amazonaws.com
 3596   4701   
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
 3597   4702   
new file mode 100644
 3598   4703   
index 0000000..0468d80
 3599         -
-- /dev/null
        4704  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 3600   4705   
@@ -0,0 +1,12 @@
        4706  +
{
        4707  +
    "credentials": {
        4708  +
        "access_key_id": "AKIDEXAMPLE",
        4709  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4710  +
    },
        4711  +
    "expiration_in_seconds": 3600,
        4712  +
    "normalize": true,
        4713  +
    "region": "us-east-1",
        4714  +
    "service": "service",
        4715  +
    "sign_body": false,
        4716  +
    "timestamp": "2015-08-30T12:36:00Z"
        4717  +
}
              \
 No newline at end of file
 3601   4718   
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
 3602   4719   
similarity index 99%
 3603   4720   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
 3604   4721   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 3605   4722   
index fdf9c48..a8e9e02 100644
 3606   4723   
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
 3607   4724   
new file mode 100644
 3608   4725   
index 0000000..ffe1b60
 3609         -
-- /dev/null
        4726  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 3610   4727   
@@ -0,0 +1 @@
        4728  +
304402205dd203fd6b973e5fb088569ec27db1e267ef4a728f177e88fcc65f299255c0ab02206da878f40c64094595aa4e808849b69025f1c9b9f4be0f0e6ab8cd7a04e81d77
              \
 No newline at end of file
 3611   4729   
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
 3612   4730   
new file mode 100644
 3613   4731   
index 0000000..3189f55
 3614         -
-- /dev/null
        4732  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 3615   4733   
@@ -0,0 +1,6 @@
        4734  +
GET //example// HTTP/1.1
        4735  +
Host:example.amazonaws.com
        4736  +
X-Amz-Date:20150830T123600Z
        4737  +
X-Amz-Region-Set:us-east-1
        4738  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203d34870fcc77b0f5a3f6d440cd1cecb75c7e534cfbcc68f60743d308ae92fef602200f9fbaacc5010b9a7e046b1b5ae58764bd32c24c47ef65b63ad9ff756c478e4d
        4739  +
 3616   4740   
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
 3617   4741   
similarity index 99%
 3618   4742   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
 3619   4743   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 3620   4744   
index 8f9c95e..430020e 100644
 3621   4745   
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
 3622   4746   
new file mode 100644
 3623   4747   
index 0000000..379dcb2
 3624         -
-- /dev/null
        4748  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 3625   4749   
@@ -0,0 +1,4 @@
        4750  +
{
        4751  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4752  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4753  +
}
 3626   4754   
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
 3627   4755   
similarity index 99%
 3628   4756   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
 3629   4757   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 3630   4758   
index 1046735..8d41e37 100644
 3631   4759   
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
 3632   4760   
new file mode 100644
 3633   4761   
index 0000000..93a0fa4
 3634         -
-- /dev/null
        4762  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 3635   4763   
@@ -0,0 +1 @@
        4764  +
3045022100dfd2281b396d138207f0e58889bd6cc4d95ffd8d64e6f37ef2a9f2a15cab6944022060d05a747cd4e3c49cb50bf58d834ae917cd1ebd1524a352fb64f4d54f9ba279
              \
 No newline at end of file
 3636   4765   
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
 3637   4766   
new file mode 100644
 3638   4767   
index 0000000..65c8cb6
 3639         -
-- /dev/null
        4768  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 3640   4769   
@@ -0,0 +1,3 @@
        4770  +
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
        4771  +
Host:example.amazonaws.com
        4772  +
 3641   4773   
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
 3642   4774   
similarity index 99%
 3643   4775   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
 3644   4776   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 3645   4777   
index b293cc2..0f4c4c5 100644
 3646   4778   
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
 3647   4779   
similarity index 65%
 3648   4780   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
 3649   4781   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3650   4782   
index a4307ce..12e0931 100644
 3651         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
        4783  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3652   4784   
@@ -1,3 +1,2 @@
 3653   4785   
GET //example// HTTP/1.1
 3654   4786   
Host:example.amazonaws.com
 3655         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3656   4787   
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
 3657   4788   
new file mode 100644
 3658   4789   
index 0000000..7bee5c7
 3659         -
-- /dev/null
        4790  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 3660   4791   
@@ -0,0 +1,12 @@
        4792  +
{
        4793  +
    "credentials": {
        4794  +
        "access_key_id": "AKIDEXAMPLE",
        4795  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4796  +
    },
        4797  +
    "expiration_in_seconds": 3600,
        4798  +
    "normalize": false,
        4799  +
    "region": "us-east-1",
        4800  +
    "service": "service",
        4801  +
    "sign_body": false,
        4802  +
    "timestamp": "2015-08-30T12:36:00Z"
        4803  +
}
              \
 No newline at end of file
 3661   4804   
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
 3662   4805   
similarity index 99%
 3663   4806   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
 3664   4807   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 3665   4808   
index a9c55f6..76f55ed 100644
 3666   4809   
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
 3667   4810   
new file mode 100644
 3668   4811   
index 0000000..de333b2
 3669         -
-- /dev/null
        4812  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 3670   4813   
@@ -0,0 +1 @@
        4814  +
3044022039ccb6afb5f0b574cfc8fec2e9158269bbe28f9e5747acc032d1ea17617f8b2002204933ee3e4ad4ec425c90593a68db99fcece29ae45906dec40c2204290cedf8bd
              \
 No newline at end of file
 3671   4815   
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
 3672   4816   
new file mode 100644
 3673   4817   
index 0000000..773ce63
 3674         -
-- /dev/null
        4818  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 3675   4819   
@@ -0,0 +1,6 @@
        4820  +
GET //example// HTTP/1.1
        4821  +
Host:example.amazonaws.com
        4822  +
X-Amz-Date:20150830T123600Z
        4823  +
X-Amz-Region-Set:us-east-1
        4824  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502202450e5abfccb424d5a0e2d5d1a084e76abc5290ae567a97f5174bfed575fd519022100a5e743040a2bdd3cd7889070e1d190d5782e7591a715370f9bea04dc2702dbab
        4825  +
 3676   4826   
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
 3677   4827   
similarity index 99%
 3678   4828   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
 3679   4829   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 3680   4830   
index 5c4c2cd..46c3265 100644
 3681   4831   
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
 3682   4832   
new file mode 100644
 3683   4833   
index 0000000..379dcb2
 3684         -
-- /dev/null
        4834  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 3685   4835   
@@ -0,0 +1,4 @@
        4836  +
{
        4837  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4838  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4839  +
}
 3686   4840   
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
 3687   4841   
similarity index 99%
 3688   4842   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
 3689   4843   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 3690   4844   
index c878ab4..6047ccf 100644
 3691   4845   
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
 3692   4846   
new file mode 100644
 3693   4847   
index 0000000..d61fcd0
 3694         -
-- /dev/null
        4848  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 3695   4849   
@@ -0,0 +1 @@
        4850  +
3045022100fa1d3e99997a184d59e23fb8bfeca08a5f94f2e7b89b0320d11deacab3593f0f022009c0785ec02c5dda370a3eb714feb51e3b0d56df674571bf7146bf8277897e65
              \
 No newline at end of file
 3696   4851   
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
 3697   4852   
new file mode 100644
 3698   4853   
index 0000000..3e37b5b
 3699         -
-- /dev/null
        4854  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 3700   4855   
@@ -0,0 +1,3 @@
        4856  +
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
        4857  +
Host:example.amazonaws.com
        4858  +
 3701   4859   
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
 3702   4860   
similarity index 99%
 3703   4861   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
 3704   4862   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 3705   4863   
index 5f59645..2537d28 100644
 3706   4864   
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
 3707   4865   
new file mode 100644
 3708   4866   
index 0000000..12e0931
 3709         -
-- /dev/null
        4867  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 3710   4868   
@@ -0,0 +1,2 @@
        4869  +
GET //example// HTTP/1.1
        4870  +
Host:example.amazonaws.com
 3711   4871   
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
 3712   4872   
new file mode 100644
 3713   4873   
index 0000000..0468d80
 3714         -
-- /dev/null
        4874  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 3715   4875   
@@ -0,0 +1,12 @@
        4876  +
{
        4877  +
    "credentials": {
        4878  +
        "access_key_id": "AKIDEXAMPLE",
        4879  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4880  +
    },
        4881  +
    "expiration_in_seconds": 3600,
        4882  +
    "normalize": true,
        4883  +
    "region": "us-east-1",
        4884  +
    "service": "service",
        4885  +
    "sign_body": false,
        4886  +
    "timestamp": "2015-08-30T12:36:00Z"
        4887  +
}
              \
 No newline at end of file
 3716   4888   
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
 3717   4889   
new file mode 100644
 3718   4890   
index 0000000..0b2b616
 3719         -
-- /dev/null
        4891  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 3720   4892   
@@ -0,0 +1,9 @@
        4893  +
GET
        4894  +
/example%20space/
        4895  +
        4896  +
host:example.amazonaws.com
        4897  +
x-amz-date:20150830T123600Z
        4898  +
x-amz-region-set:us-east-1
        4899  +
        4900  +
host;x-amz-date;x-amz-region-set
        4901  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3721   4902   
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
 3722   4903   
new file mode 100644
 3723   4904   
index 0000000..6e7841d
 3724         -
-- /dev/null
        4905  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 3725   4906   
@@ -0,0 +1 @@
        4907  +
304502202292b4f0e4f1495b9ceb3b77349efeffdce42cb5461f810db3983005c1e772ca022100b4b6175661196a82f5b59968315517e1ffdde58d2e3eba10d3bfe171cde625c4
              \
 No newline at end of file
 3726   4908   
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
 3727   4909   
new file mode 100644
 3728   4910   
index 0000000..0969cd3
 3729         -
-- /dev/null
        4911  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 3730   4912   
@@ -0,0 +1,6 @@
        4913  +
GET /example space/ HTTP/1.1
        4914  +
Host:example.amazonaws.com
        4915  +
X-Amz-Date:20150830T123600Z
        4916  +
X-Amz-Region-Set:us-east-1
        4917  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100e8e0ec99a8d287073e078543fdbdeba108cdef097a52c7556874076072350200022100e59d9e0f48209bea00faa47d485d850eb72747db83927a2a43b5ebab5ca2b545
        4918  +
 3731   4919   
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
 3732   4920   
new file mode 100644
 3733   4921   
index 0000000..ddae6e2
 3734         -
-- /dev/null
        4922  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 3735   4923   
@@ -0,0 +1,4 @@
        4924  +
AWS4-ECDSA-P256-SHA256
        4925  +
20150830T123600Z
        4926  +
20150830/service/aws4_request
        4927  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3736   4928   
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
 3737   4929   
new file mode 100644
 3738   4930   
index 0000000..379dcb2
 3739         -
-- /dev/null
        4931  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 3740   4932   
@@ -0,0 +1,4 @@
        4933  +
{
        4934  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4935  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4936  +
}
 3741   4937   
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
 3742   4938   
new file mode 100644
 3743   4939   
index 0000000..a66b3cb
 3744         -
-- /dev/null
        4940  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 3745   4941   
@@ -0,0 +1,7 @@
        4942  +
GET
        4943  +
/example%20space/
        4944  +
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
        4945  +
host:example.amazonaws.com
        4946  +
        4947  +
host
        4948  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3746   4949   
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
 3747   4950   
new file mode 100644
 3748   4951   
index 0000000..b3253ae
 3749         -
-- /dev/null
        4952  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 3750   4953   
@@ -0,0 +1 @@
        4954  +
3045022100fc068fdda7586bec9ac9ed341e7a81bf1e1f8c60fee6e22165868ecac62e404d02200620b5d68b9be75210336618fc0a884439ce1ae93085adb03e27f1ce7ca4912e
              \
 No newline at end of file
 3751   4955   
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
 3752   4956   
new file mode 100644
 3753   4957   
index 0000000..9e335b2
 3754         -
-- /dev/null
        4958  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 3755   4959   
@@ -0,0 +1,3 @@
        4960  +
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
        4961  +
Host:example.amazonaws.com
        4962  +
 3756   4963   
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
 3757   4964   
new file mode 100644
 3758   4965   
index 0000000..b6ff6fb
 3759         -
-- /dev/null
        4966  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 3760   4967   
@@ -0,0 +1,4 @@
        4968  +
AWS4-ECDSA-P256-SHA256
        4969  +
20150830T123600Z
        4970  +
20150830/service/aws4_request
        4971  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3761   4972   
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
 3762   4973   
new file mode 100644
 3763   4974   
index 0000000..ab509ab
 3764         -
-- /dev/null
        4975  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 3765   4976   
@@ -0,0 +1,2 @@
        4977  +
GET /example space/ HTTP/1.1
        4978  +
Host:example.amazonaws.com
 3766   4979   
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
 3767   4980   
new file mode 100644
 3768   4981   
index 0000000..7bee5c7
 3769         -
-- /dev/null
        4982  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 3770   4983   
@@ -0,0 +1,12 @@
        4984  +
{
        4985  +
    "credentials": {
        4986  +
        "access_key_id": "AKIDEXAMPLE",
        4987  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4988  +
    },
        4989  +
    "expiration_in_seconds": 3600,
        4990  +
    "normalize": false,
        4991  +
    "region": "us-east-1",
        4992  +
    "service": "service",
        4993  +
    "sign_body": false,
        4994  +
    "timestamp": "2015-08-30T12:36:00Z"
        4995  +
}
              \
 No newline at end of file
 3771   4996   
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
 3772   4997   
new file mode 100644
 3773   4998   
index 0000000..0b2b616
 3774         -
-- /dev/null
        4999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 3775   5000   
@@ -0,0 +1,9 @@
        5001  +
GET
        5002  +
/example%20space/
        5003  +
        5004  +
host:example.amazonaws.com
        5005  +
x-amz-date:20150830T123600Z
        5006  +
x-amz-region-set:us-east-1
        5007  +
        5008  +
host;x-amz-date;x-amz-region-set
        5009  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3776   5010   
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
 3777   5011   
new file mode 100644
 3778   5012   
index 0000000..e75ae08
 3779         -
-- /dev/null
        5013  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 3780   5014   
@@ -0,0 +1 @@
        5015  +
3046022100881d1dce37131cd3248fa4cfb63f050e8985c3de5a58f654a8b263d52ad576180221009316e13742504474cf33631bb5f2fa89f4990c911ad317be831a6de015cf4054
              \
 No newline at end of file
 3781   5016   
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
 3782   5017   
new file mode 100644
 3783   5018   
index 0000000..cb089db
 3784         -
-- /dev/null
        5019  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 3785   5020   
@@ -0,0 +1,6 @@
        5021  +
GET /example space/ HTTP/1.1
        5022  +
Host:example.amazonaws.com
        5023  +
X-Amz-Date:20150830T123600Z
        5024  +
X-Amz-Region-Set:us-east-1
        5025  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100a26695d793a8e7d2ed2a3495402e9b4bf8e5b05e767d303f57d9515f617ebae5022100c4b89f5648567c08b6d173b6d733f5c012bb615cd38039109f64db56efecc851
        5026  +
 3786   5027   
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
 3787   5028   
new file mode 100644
 3788   5029   
index 0000000..ddae6e2
 3789         -
-- /dev/null
        5030  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 3790   5031   
@@ -0,0 +1,4 @@
        5032  +
AWS4-ECDSA-P256-SHA256
        5033  +
20150830T123600Z
        5034  +
20150830/service/aws4_request
        5035  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3791   5036   
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
 3792   5037   
new file mode 100644
 3793   5038   
index 0000000..379dcb2
 3794         -
-- /dev/null
        5039  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 3795   5040   
@@ -0,0 +1,4 @@
        5041  +
{
        5042  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5043  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5044  +
}
 3796   5045   
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
 3797   5046   
new file mode 100644
 3798   5047   
index 0000000..a66b3cb
 3799         -
-- /dev/null
        5048  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 3800   5049   
@@ -0,0 +1,7 @@
        5050  +
GET
        5051  +
/example%20space/
        5052  +
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
        5053  +
host:example.amazonaws.com
        5054  +
        5055  +
host
        5056  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3801   5057   
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
 3802   5058   
new file mode 100644
 3803   5059   
index 0000000..66a80c3
 3804         -
-- /dev/null
        5060  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 3805   5061   
@@ -0,0 +1 @@
        5062  +
304502201825fe5d62f321a740cbe590ce0c0c17045eed9acbbbd574d3cefbec349d06c5022100bcd482f85374b24d9f1f5000d2de7e12a4e0c8f5277e73d29c41ecc45390e731
              \
 No newline at end of file
 3806   5063   
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
 3807   5064   
new file mode 100644
 3808   5065   
index 0000000..7d1b9d9
 3809         -
-- /dev/null
        5066  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 3810   5067   
@@ -0,0 +1,3 @@
        5068  +
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
        5069  +
Host:example.amazonaws.com
        5070  +
 3811   5071   
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
 3812   5072   
new file mode 100644
 3813   5073   
index 0000000..b6ff6fb
 3814         -
-- /dev/null
        5074  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 3815   5075   
@@ -0,0 +1,4 @@
        5076  +
AWS4-ECDSA-P256-SHA256
        5077  +
20150830T123600Z
        5078  +
20150830/service/aws4_request
        5079  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3816   5080   
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
 3817   5081   
new file mode 100644
 3818   5082   
index 0000000..ab509ab
 3819         -
-- /dev/null
        5083  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 3820   5084   
@@ -0,0 +1,2 @@
        5085  +
GET /example space/ HTTP/1.1
        5086  +
Host:example.amazonaws.com
 3821   5087   
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
 3822   5088   
new file mode 100644
 3823   5089   
index 0000000..0468d80
 3824         -
-- /dev/null
        5090  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 3825   5091   
@@ -0,0 +1,12 @@
        5092  +
{
        5093  +
    "credentials": {
        5094  +
        "access_key_id": "AKIDEXAMPLE",
        5095  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5096  +
    },
        5097  +
    "expiration_in_seconds": 3600,
        5098  +
    "normalize": true,
        5099  +
    "region": "us-east-1",
        5100  +
    "service": "service",
        5101  +
    "sign_body": false,
        5102  +
    "timestamp": "2015-08-30T12:36:00Z"
        5103  +
}
              \
 No newline at end of file
 3826   5104   
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
 3827   5105   
similarity index 99%
 3828   5106   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
 3829   5107   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 3830   5108   
index b0db648..46d76bb 100644
 3831   5109   
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
 3832   5110   
new file mode 100644
 3833   5111   
index 0000000..53c0cb6
 3834         -
-- /dev/null
        5112  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 3835   5113   
@@ -0,0 +1 @@
        5114  +
304502204303d34750ced762f4e5af2c61ba70c9f5830d8a5c7fc418a02823d61673ca32022100c26cf8f38007155cb8bd3e684697063ad8f421a91be796d78b14b126e25d3680
              \
 No newline at end of file
 3836   5115   
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
 3837   5116   
new file mode 100644
 3838   5117   
index 0000000..3bdb653
 3839         -
-- /dev/null
        5118  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 3840   5119   
@@ -0,0 +1,6 @@
        5120  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5121  +
Host:example.amazonaws.com
        5122  +
X-Amz-Date:20150830T123600Z
        5123  +
X-Amz-Region-Set:us-east-1
        5124  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206a228bcbe26141c2c5065525b98ea00b793470e04e655006269f740e320215930220160015e35502fa89a96f5fed59981af0896b60ecea6a68606a0be368bca73f2c
        5125  +
 3841   5126   
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
 3842   5127   
similarity index 99%
 3843   5128   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
 3844   5129   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 3845   5130   
index 20c7cd6..3b30173 100644
 3846   5131   
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
 3847   5132   
new file mode 100644
 3848   5133   
index 0000000..379dcb2
 3849         -
-- /dev/null
        5134  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 3850   5135   
@@ -0,0 +1,4 @@
        5136  +
{
        5137  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5138  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5139  +
}
 3851   5140   
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
 3852   5141   
similarity index 99%
 3853   5142   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
 3854   5143   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 3855   5144   
index f9fb726..7e93f58 100644
 3856   5145   
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
 3857   5146   
new file mode 100644
 3858   5147   
index 0000000..48311a8
 3859         -
-- /dev/null
        5148  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 3860   5149   
@@ -0,0 +1 @@
        5150  +
3045022100a8e6e2918ceb211f77810150d828be217af238ca95db6f88264d668ffacefb8b02204122d651c775a3ed8f40f3bfe37a2c8fec28cd53027b599eddd7115e06ca4bb0
              \
 No newline at end of file
 3861   5151   
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
 3862   5152   
new file mode 100644
 3863   5153   
index 0000000..82da9be
 3864         -
-- /dev/null
        5154  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 3865   5155   
@@ -0,0 +1,3 @@
        5156  +
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
        5157  +
Host:example.amazonaws.com
        5158  +
 3866   5159   
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
 3867   5160   
similarity index 99%
 3868   5161   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
 3869   5162   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 3870   5163   
index ef06e89..4aab9a2 100644
 3871   5164   
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
 3872   5165   
similarity index 80%
 3873   5166   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
 3874   5167   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 3875   5168   
index da760cd..a149694 100644
 3876         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
        5169  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 3877   5170   
@@ -1,3 +1,2 @@
 3878   5171   
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 3879   5172   
Host:example.amazonaws.com
 3880         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3881   5173   
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
 3882   5174   
new file mode 100644
 3883   5175   
index 0000000..0468d80
 3884         -
-- /dev/null
        5176  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 3885   5177   
@@ -0,0 +1,12 @@
        5178  +
{
        5179  +
    "credentials": {
        5180  +
        "access_key_id": "AKIDEXAMPLE",
        5181  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5182  +
    },
        5183  +
    "expiration_in_seconds": 3600,
        5184  +
    "normalize": true,
        5185  +
    "region": "us-east-1",
        5186  +
    "service": "service",
        5187  +
    "sign_body": false,
        5188  +
    "timestamp": "2015-08-30T12:36:00Z"
        5189  +
}
              \
 No newline at end of file
 3886   5190   
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
 3887   5191   
new file mode 100644
 3888   5192   
index 0000000..0f1afe7
 3889         -
-- /dev/null
        5193  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 3890   5194   
@@ -0,0 +1,9 @@
        5195  +
GET
        5196  +
/%E1%88%B4
        5197  +
        5198  +
host:example.amazonaws.com
        5199  +
x-amz-date:20150830T123600Z
        5200  +
x-amz-region-set:us-east-1
        5201  +
        5202  +
host;x-amz-date;x-amz-region-set
        5203  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3891   5204   
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
 3892   5205   
new file mode 100644
 3893   5206   
index 0000000..4b9af6c
 3894         -
-- /dev/null
        5207  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 3895   5208   
@@ -0,0 +1 @@
        5209  +
3044022009b73628ce2929e224b781c591bdc93fc3381cef5f63992eefb82a286276fa0902203cbc6071d1be7b8c91ec0a04b921881c48cbea2a0a86481f6fa7a983e36190c0
              \
 No newline at end of file
 3896   5210   
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
 3897   5211   
new file mode 100644
 3898   5212   
index 0000000..d42d7b3
 3899         -
-- /dev/null
        5213  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 3900   5214   
@@ -0,0 +1,6 @@
        5215  +
GET /ሴ HTTP/1.1
        5216  +
Host:example.amazonaws.com
        5217  +
X-Amz-Date:20150830T123600Z
        5218  +
X-Amz-Region-Set:us-east-1
        5219  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210082c462efc22f340d7d20b19e0c9b38400e9395bedd9269e01e959ef915ca2846022050d38df1572786ef8befe01d888335c15b0f17fb1d795858fa3cb79e060ba375
        5220  +
 3901   5221   
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
 3902   5222   
new file mode 100644
 3903   5223   
index 0000000..0827f62
 3904         -
-- /dev/null
        5224  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 3905   5225   
@@ -0,0 +1,4 @@
        5226  +
AWS4-ECDSA-P256-SHA256
        5227  +
20150830T123600Z
        5228  +
20150830/service/aws4_request
        5229  +
7c8a7084825e715f0e217a7470ce3611bcfedb5b70329d9b36bba5cefd39c11a
              \
 No newline at end of file
 3906   5230   
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
 3907   5231   
new file mode 100644
 3908   5232   
index 0000000..379dcb2
 3909         -
-- /dev/null
        5233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 3910   5234   
@@ -0,0 +1,4 @@
        5235  +
{
        5236  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5237  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5238  +
}
 3911   5239   
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
 3912   5240   
new file mode 100644
 3913   5241   
index 0000000..a41a2f8
 3914         -
-- /dev/null
        5242  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 3915   5243   
@@ -0,0 +1,7 @@
        5244  +
GET
        5245  +
/%E1%88%B4
        5246  +
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
        5247  +
host:example.amazonaws.com
        5248  +
        5249  +
host
        5250  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3916   5251   
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
 3917   5252   
new file mode 100644
 3918   5253   
index 0000000..a5c7f4f
 3919         -
-- /dev/null
        5254  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 3920   5255   
@@ -0,0 +1 @@
        5256  +
30460221008cf2ac3d46b7529fe7b73add56626a546fc9372b458e197dbd355198465e0918022100c059b86e01bd11d31c5fe19ee7c73fe3b8058ad2cebe2fe74c779c4a6a95684a
              \
 No newline at end of file
 3921   5257   
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
 3922   5258   
new file mode 100644
 3923   5259   
index 0000000..492ed33
 3924         -
-- /dev/null
        5260  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 3925   5261   
@@ -0,0 +1,3 @@
        5262  +
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
        5263  +
Host:example.amazonaws.com
        5264  +
 3926   5265   
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
 3927   5266   
new file mode 100644
 3928   5267   
index 0000000..a93108f
 3929         -
-- /dev/null
        5268  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 3930   5269   
@@ -0,0 +1,4 @@
        5270  +
AWS4-ECDSA-P256-SHA256
        5271  +
20150830T123600Z
        5272  +
20150830/service/aws4_request
        5273  +
b77c78c8276c5eac930db70b21b69b34d0c2560e1a963ab28e28481ef6a4ff66
              \
 No newline at end of file
 3931   5274   
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
 3932   5275   
new file mode 100644
 3933   5276   
index 0000000..9e273f6
 3934         -
-- /dev/null
        5277  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 3935   5278   
@@ -0,0 +1,2 @@
        5279  +
GET /ሴ HTTP/1.1
        5280  +
Host:example.amazonaws.com
 3936   5281   
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
 3937   5282   
new file mode 100644
 3938   5283   
index 0000000..0468d80
 3939         -
-- /dev/null
        5284  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 3940   5285   
@@ -0,0 +1,12 @@
        5286  +
{
        5287  +
    "credentials": {
        5288  +
        "access_key_id": "AKIDEXAMPLE",
        5289  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5290  +
    },
        5291  +
    "expiration_in_seconds": 3600,
        5292  +
    "normalize": true,
        5293  +
    "region": "us-east-1",
        5294  +
    "service": "service",
        5295  +
    "sign_body": false,
        5296  +
    "timestamp": "2015-08-30T12:36:00Z"
        5297  +
}
              \
 No newline at end of file
 3941   5298   
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
 3942   5299   
similarity index 99%
 3943   5300   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
 3944   5301   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 3945   5302   
index bb9d4bf..edc0bb4 100644
 3946   5303   
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
 3947   5304   
new file mode 100644
 3948   5305   
index 0000000..ee9a272
 3949         -
-- /dev/null
        5306  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 3950   5307   
@@ -0,0 +1 @@
        5308  +
3044022075e5fe54105695e4af6f5b59ff39f4f1d84de3bfdd546a6b9212936a78e743ac02204f25f3b9826688eb9743088f426eabd6b306432fd2c4c5c5aa2bbb9058267542
              \
 No newline at end of file
 3951   5309   
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
 3952   5310   
new file mode 100644
 3953   5311   
index 0000000..2090343
 3954         -
-- /dev/null
        5312  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 3955   5313   
@@ -0,0 +1,6 @@
        5314  +
GET /?Param1=value1 HTTP/1.1
        5315  +
Host:example.amazonaws.com
        5316  +
X-Amz-Date:20150830T123600Z
        5317  +
X-Amz-Region-Set:us-east-1
        5318  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210093d40fe05684ddadfadfafc4b8565d18ca94d590fc897577224bf09696bbde6102206f12bb5e2503781303cf6880c0a2136d4b820221eb9d6ac5ad61378b16b8ea5d
        5319  +
 3956   5320   
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
 3957   5321   
similarity index 99%
 3958   5322   
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
 3959   5323   
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
 3960   5324   
index a176f1d..06ed74f 100644
 3961   5325   
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
 3962   5326   
new file mode 100644
 3963   5327   
index 0000000..379dcb2
 3964         -
-- /dev/null
        5328  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 3965   5329   
@@ -0,0 +1,4 @@
        5330  +
{
        5331  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5332  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5333  +
}
 3966   5334   
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
 3967   5335   
similarity index 99%
 3968   5336   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
 3969   5337   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 3970   5338   
index 344384b..a875d70 100644
 3971   5339   
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
 3972   5340   
new file mode 100644
 3973   5341   
index 0000000..ef93624
 3974         -
-- /dev/null
        5342  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 3975   5343   
@@ -0,0 +1 @@
        5344  +
30460221009a9e99aefe8effed47320e6e9f54cb943e2f72ce638ed7aae2a6711240304b82022100a90e99f053dd51912a6993299229e19aebbd81e68d4d24a1bdedcc6717c9f456
              \
 No newline at end of file
 3976   5345   
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
 3977   5346   
new file mode 100644
 3978   5347   
index 0000000..92829f7
 3979         -
-- /dev/null
        5348  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 3980   5349   
@@ -0,0 +1,3 @@
        5350  +
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
        5351  +
Host:example.amazonaws.com
        5352  +
 3981   5353   
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
 3982   5354   
similarity index 99%
 3983   5355   
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
 3984   5356   
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
 3985   5357   
index b625052..4ff9191 100644
 3986   5358   
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
 3987   5359   
similarity index 67%
 3988   5360   
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
 3989   5361   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 3990   5362   
index 970d0a0..f4a03bb 100644
 3991         -
-- 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
        5363  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 3992   5364   
@@ -1,3 +1,2 @@
 3993   5365   
GET /?Param1=value1 HTTP/1.1
 3994   5366   
Host:example.amazonaws.com
 3995         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3996   5367   
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
 3997   5368   
new file mode 100644
 3998   5369   
index 0000000..0468d80
 3999         -
-- /dev/null
        5370  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 4000   5371   
@@ -0,0 +1,12 @@
        5372  +
{
        5373  +
    "credentials": {
        5374  +
        "access_key_id": "AKIDEXAMPLE",
        5375  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5376  +
    },
        5377  +
    "expiration_in_seconds": 3600,
        5378  +
    "normalize": true,
        5379  +
    "region": "us-east-1",
        5380  +
    "service": "service",
        5381  +
    "sign_body": false,
        5382  +
    "timestamp": "2015-08-30T12:36:00Z"
        5383  +
}
              \
 No newline at end of file
 4001   5384   
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
 4002   5385   
new file mode 100644
 4003   5386   
index 0000000..da07537
 4004         -
-- /dev/null
        5387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 4005   5388   
@@ -0,0 +1,9 @@
        5389  +
GET
        5390  +
/
        5391  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        5392  +
host:example.amazonaws.com
        5393  +
x-amz-date:20150830T123600Z
        5394  +
x-amz-region-set:us-east-1
        5395  +
        5396  +
host;x-amz-date;x-amz-region-set
        5397  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4006   5398   
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
 4007   5399   
new file mode 100644
 4008   5400   
index 0000000..edb21e5
 4009         -
-- /dev/null
        5401  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 4010   5402   
@@ -0,0 +1 @@
        5403  +
304402201c9d8aa856d87542e2fc29ccb3841bf604d7582a8ab2ca8e6c9e21c98693f35502207052f84ecd1dc8b6468a536e9d1bdc990cf14bae8142c1cc945f15bcf0e87613
              \
 No newline at end of file
 4011   5404   
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
 4012   5405   
new file mode 100644
 4013   5406   
index 0000000..e60394c
 4014         -
-- /dev/null
        5407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 4015   5408   
@@ -0,0 +1,6 @@
        5409  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5410  +
Host:example.amazonaws.com
        5411  +
X-Amz-Date:20150830T123600Z
        5412  +
X-Amz-Region-Set:us-east-1
        5413  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100cef3137947f52af13fe5591d4ddcff0260176e7b2a668b43ac8f0cba2e489fe502203b4fe53c9fe3e8925643fe0e4c3ec0b3ea6262917bf7300d2e2abb399078e6de
        5414  +
 4016   5415   
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
 4017   5416   
new file mode 100644
 4018   5417   
index 0000000..1dfc886
 4019         -
-- /dev/null
        5418  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 4020   5419   
@@ -0,0 +1,4 @@
        5420  +
AWS4-ECDSA-P256-SHA256
        5421  +
20150830T123600Z
        5422  +
20150830/service/aws4_request
        5423  +
55568a29040b287c72015a5ab482d9aaceeb1e9881f3bc946378bc3d6079f6a5
              \
 No newline at end of file
 4021   5424   
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
 4022   5425   
new file mode 100644
 4023   5426   
index 0000000..379dcb2
 4024         -
-- /dev/null
        5427  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 4025   5428   
@@ -0,0 +1,4 @@
        5429  +
{
        5430  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5431  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5432  +
}
 4026   5433   
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
 4027   5434   
new file mode 100644
 4028   5435   
index 0000000..e94dc0c
 4029         -
-- /dev/null
        5436  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 4030   5437   
@@ -0,0 +1,7 @@
        5438  +
GET
        5439  +
/
        5440  +
%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
        5441  +
host:example.amazonaws.com
        5442  +
        5443  +
host
        5444  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4031   5445   
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
 4032   5446   
new file mode 100644
 4033   5447   
index 0000000..7489437
 4034         -
-- /dev/null
        5448  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4035   5449   
@@ -0,0 +1 @@
        5450  +
3046022100dcc853d7fbd59ceebd1ac57d404b979a7252cf88c79dcc6d58167902750235fd022100ffa98128e35b03aa434287165980f78533e9e6dfc80373cea82b047f4f0554ee
              \
 No newline at end of file
 4036   5451   
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
 4037   5452   
new file mode 100644
 4038   5453   
index 0000000..90c0e73
 4039         -
-- /dev/null
        5454  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4040   5455   
@@ -0,0 +1,3 @@
        5456  +
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
        5457  +
Host:example.amazonaws.com
        5458  +
 4041   5459   
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
 4042   5460   
new file mode 100644
 4043   5461   
index 0000000..ab8a711
 4044         -
-- /dev/null
        5462  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4045   5463   
@@ -0,0 +1,4 @@
        5464  +
AWS4-ECDSA-P256-SHA256
        5465  +
20150830T123600Z
        5466  +
20150830/service/aws4_request
        5467  +
56d9ab07692614338f2aa44f1018ad4102b19305fba8b83383d2d7c6ca816614
              \
 No newline at end of file
 4046   5468   
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
 4047   5469   
new file mode 100644
 4048   5470   
index 0000000..368c6e3
 4049         -
-- /dev/null
        5471  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4050   5472   
@@ -0,0 +1,2 @@
        5473  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5474  +
Host:example.amazonaws.com
 4051   5475   
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
 4052   5476   
new file mode 100644
 4053   5477   
index 0000000..0468d80
 4054         -
-- /dev/null
        5478  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4055   5479   
@@ -0,0 +1,12 @@
        5480  +
{
        5481  +
    "credentials": {
        5482  +
        "access_key_id": "AKIDEXAMPLE",
        5483  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5484  +
    },
        5485  +
    "expiration_in_seconds": 3600,
        5486  +
    "normalize": true,
        5487  +
    "region": "us-east-1",
        5488  +
    "service": "service",
        5489  +
    "sign_body": false,
        5490  +
    "timestamp": "2015-08-30T12:36:00Z"
        5491  +
}
              \
 No newline at end of file
 4056   5492   
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
 4057   5493   
similarity index 99%
 4058   5494   
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
 4059   5495   
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
 4060   5496   
index 74f625a..3db56f7 100644
 4061   5497   
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
 4062   5498   
new file mode 100644
 4063   5499   
index 0000000..e6042bc
 4064         -
-- /dev/null
        5500  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4065   5501   
@@ -0,0 +1 @@
        5502  +
3045022100b342b0d62487d235a5baf82e970102670a8d7af34c61f086125d204a90724d9e022070304e846de3de228c57e528b61f4addfdb5fa788a8a452e483c6a286d8803f5
              \
 No newline at end of file
 4066   5503   
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
 4067   5504   
new file mode 100644
 4068   5505   
index 0000000..5505969
 4069         -
-- /dev/null
        5506  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4070   5507   
@@ -0,0 +1,6 @@
        5508  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        5509  +
Host:example.amazonaws.com
        5510  +
X-Amz-Date:20150830T123600Z
        5511  +
X-Amz-Region-Set:us-east-1
        5512  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220394fa0699225f403514cb4db03b7c479f64c5f9864bf520b871bb23a054d6517022100d4445c909fc62a43c6c485a8582621e0e14c6ef1e4218072bc2dcaffc1188f18
        5513  +
 4071   5514   
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
 4072   5515   
similarity index 99%
 4073   5516   
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
 4074   5517   
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
 4075   5518   
index 44873b7..e8f5e31 100644
 4076   5519   
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
 4077   5520   
new file mode 100644
 4078   5521   
index 0000000..379dcb2
 4079         -
-- /dev/null
        5522  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4080   5523   
@@ -0,0 +1,4 @@
        5524  +
{
        5525  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5526  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5527  +
}
 4081   5528   
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
 4082   5529   
similarity index 99%
 4083   5530   
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
 4084   5531   
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
 4085   5532   
index 6d30727..3fe6a9f 100644
 4086   5533   
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
 4087   5534   
new file mode 100644
 4088   5535   
index 0000000..3f35de8
 4089         -
-- /dev/null
        5536  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4090   5537   
@@ -0,0 +1 @@
        5538  +
304402207c976c47b1bcf7333ad10fcf78498bb14a368a6cd8f58703d47c9e91c4468c13022059a3715bafae9410271bf3355ccd0bbc622fe90f3c0168203d83323297789de5
              \
 No newline at end of file
 4091   5539   
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
 4092   5540   
new file mode 100644
 4093   5541   
index 0000000..30b336b
 4094         -
-- /dev/null
        5542  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4095   5543   
@@ -0,0 +1,3 @@
        5544  +
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
        5545  +
Host:example.amazonaws.com
        5546  +
 4096   5547   
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
 4097   5548   
similarity index 99%
 4098   5549   
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
 4099   5550   
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
 4100   5551   
index 99d0510..7f0565f 100644
 4101   5552   
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
 4102   5553   
similarity index 100%
 4103   5554   
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
 4104   5555   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 4105   5556   
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
 4106   5557   
new file mode 100644
 4107   5558   
index 0000000..0468d80
 4108         -
-- /dev/null
        5559  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 4109   5560   
@@ -0,0 +1,12 @@
        5561  +
{
        5562  +
    "credentials": {
        5563  +
        "access_key_id": "AKIDEXAMPLE",
        5564  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5565  +
    },
        5566  +
    "expiration_in_seconds": 3600,
        5567  +
    "normalize": true,
        5568  +
    "region": "us-east-1",
        5569  +
    "service": "service",
        5570  +
    "sign_body": false,
        5571  +
    "timestamp": "2015-08-30T12:36:00Z"
        5572  +
}
              \
 No newline at end of file
 4110   5573   
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
 4111   5574   
similarity index 99%
 4112   5575   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
 4113   5576   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4114   5577   
index 816c862..cc4537a 100644
 4115   5578   
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
 4116   5579   
new file mode 100644
 4117   5580   
index 0000000..70d38c1
 4118         -
-- /dev/null
        5581  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 4119   5582   
@@ -0,0 +1 @@
        5583  +
3045022100ce7ae9d07bea650598803710644006d47de14a884d0777abd71ccf76164a36c70220256f34ad94c5cb1291a05f7680c2a0068c51d2a31a4e2fe2100d4a58197565ed
              \
 No newline at end of file
 4120   5584   
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
 4121   5585   
new file mode 100644
 4122   5586   
index 0000000..0647eea
 4123         -
-- /dev/null
        5587  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 4124   5588   
@@ -0,0 +1,6 @@
        5589  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5590  +
Host:example.amazonaws.com
        5591  +
X-Amz-Date:20150830T123600Z
        5592  +
X-Amz-Region-Set:us-east-1
        5593  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220023b0ce37b4e3f7fe6b6e155dab72846b461d22ff4820f019a07afef476f61ee022100f985e993037270cc48ac905b360046d077770a2b28aa829ea909430b1b3ed8aa
        5594  +
 4125   5595   
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
 4126   5596   
similarity index 99%
 4127   5597   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
 4128   5598   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 4129   5599   
index 6129fc5..cc19d14 100644
 4130   5600   
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
 4131   5601   
new file mode 100644
 4132   5602   
index 0000000..379dcb2
 4133         -
-- /dev/null
        5603  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 4134   5604   
@@ -0,0 +1,4 @@
        5605  +
{
        5606  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5607  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5608  +
}
 4135   5609   
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
 4136   5610   
similarity index 99%
 4137   5611   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
 4138   5612   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 4139   5613   
index b77ee9f..ed6a10e 100644
 4140   5614   
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
 4141   5615   
new file mode 100644
 4142   5616   
index 0000000..2ceba7b
 4143         -
-- /dev/null
        5617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 4144   5618   
@@ -0,0 +1 @@
        5619  +
30450220720698c40b04f1a2e1f94e91ed9a59f8b2a2e70cb55e6dd245d0aec039cad6ea022100b2076666b780735e1ddabf773f141ff49f8df3686ffb6c4c7798ba22470e3819
              \
 No newline at end of file
 4145   5620   
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
 4146   5621   
new file mode 100644
 4147   5622   
index 0000000..0cd6d0a
 4148         -
-- /dev/null
        5623  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 4149   5624   
@@ -0,0 +1,3 @@
        5625  +
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
        5626  +
Host:example.amazonaws.com
        5627  +
 4150   5628   
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
 4151   5629   
similarity index 99%
 4152   5630   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
 4153   5631   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 4154   5632   
index 1cfed7a..aad1421 100644
 4155   5633   
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
 4156   5634   
similarity index 86%
 4157   5635   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
 4158   5636   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4159   5637   
index d2833b3..36b2fe3 100644
 4160         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
        5638  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4161   5639   
@@ -1,3 +1,2 @@
 4162   5640   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4163   5641   
Host:example.amazonaws.com
 4164         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4165   5642   
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
 4166   5643   
new file mode 100644
 4167   5644   
index 0000000..0468d80
 4168         -
-- /dev/null
        5645  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 4169   5646   
@@ -0,0 +1,12 @@
        5647  +
{
        5648  +
    "credentials": {
        5649  +
        "access_key_id": "AKIDEXAMPLE",
        5650  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5651  +
    },
        5652  +
    "expiration_in_seconds": 3600,
        5653  +
    "normalize": true,
        5654  +
    "region": "us-east-1",
        5655  +
    "service": "service",
        5656  +
    "sign_body": false,
        5657  +
    "timestamp": "2015-08-30T12:36:00Z"
        5658  +
}
              \
 No newline at end of file
 4170   5659   
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
 4171   5660   
new file mode 100644
 4172   5661   
index 0000000..76db73d
 4173         -
-- /dev/null
        5662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 4174   5663   
@@ -0,0 +1,9 @@
        5664  +
GET
        5665  +
/
        5666  +
        5667  +
host:example.amazonaws.com
        5668  +
x-amz-date:20150830T123600Z
        5669  +
x-amz-region-set:us-east-1
        5670  +
        5671  +
host;x-amz-date;x-amz-region-set
        5672  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4175   5673   
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
 4176   5674   
new file mode 100644
 4177   5675   
index 0000000..281cc62
 4178         -
-- /dev/null
        5676  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 4179   5677   
@@ -0,0 +1 @@
        5678  +
304402202f36c5363f01990fac07fb18efd255fb82fa3807a8a84946f0b5ac2b71ac96f5022068a86869075a8ca0fe4f875f6a07af6df16538f156dba648c9a96b7c3d687924
              \
 No newline at end of file
 4180   5679   
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
 4181   5680   
new file mode 100644
 4182   5681   
index 0000000..cce9925
 4183         -
-- /dev/null
        5682  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 4184   5683   
@@ -0,0 +1,6 @@
        5684  +
GET / HTTP/1.1
        5685  +
Host:example.amazonaws.com
        5686  +
X-Amz-Date:20150830T123600Z
        5687  +
X-Amz-Region-Set:us-east-1
        5688  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502201f8540fba7741deef60d162a2cf5a8abece28db296174e82420ae6790d93b8af022100d3109ac9ec7995b9e976efa2c54b278d3fab0737e3c73483771773d2061d8f3f
        5689  +
 4185   5690   
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
 4186   5691   
new file mode 100644
 4187   5692   
index 0000000..600f1d8
 4188         -
-- /dev/null
        5693  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 4189   5694   
@@ -0,0 +1,4 @@
        5695  +
AWS4-ECDSA-P256-SHA256
        5696  +
20150830T123600Z
        5697  +
20150830/service/aws4_request
        5698  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4190   5699   
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
 4191   5700   
new file mode 100644
 4192   5701   
index 0000000..379dcb2
 4193         -
-- /dev/null
        5702  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 4194   5703   
@@ -0,0 +1,4 @@
        5704  +
{
        5705  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5706  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5707  +
}
 4195   5708   
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
 4196   5709   
new file mode 100644
 4197   5710   
index 0000000..779c51c
 4198         -
-- /dev/null
        5711  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 4199   5712   
@@ -0,0 +1,7 @@
        5713  +
GET
        5714  +
/
        5715  +
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
        5716  +
host:example.amazonaws.com
        5717  +
        5718  +
host
        5719  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4200   5720   
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
 4201   5721   
new file mode 100644
 4202   5722   
index 0000000..2979e5e
 4203         -
-- /dev/null
        5723  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 4204   5724   
@@ -0,0 +1 @@
        5725  +
304402203840161a4739cd19b33c2186657554e140b84ce1fe9021074f154410b97ffad002200606f4430d72826616b2cd47590fcee42bbf23cb0287458389a43f9e6edd897d
              \
 No newline at end of file
 4205   5726   
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
 4206   5727   
new file mode 100644
 4207   5728   
index 0000000..1b3179c
 4208         -
-- /dev/null
        5729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 4209   5730   
@@ -0,0 +1,3 @@
        5731  +
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
        5732  +
Host:example.amazonaws.com
        5733  +
 4210   5734   
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
 4211   5735   
new file mode 100644
 4212   5736   
index 0000000..6e29a7e
 4213         -
-- /dev/null
        5737  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 4214   5738   
@@ -0,0 +1,4 @@
        5739  +
AWS4-ECDSA-P256-SHA256
        5740  +
20150830T123600Z
        5741  +
20150830/service/aws4_request
        5742  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4215   5743   
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
 4216   5744   
similarity index 60%
 4217   5745   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
 4218   5746   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4219   5747   
index 0f7a9bf..e659c3b 100644
 4220         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
        5748  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4221   5749   
@@ -1,3 +1,2 @@
 4222   5750   
GET / HTTP/1.1
 4223   5751   
Host:example.amazonaws.com
 4224         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4225   5752   
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
 4226   5753   
new file mode 100644
 4227   5754   
index 0000000..0468d80
 4228         -
-- /dev/null
        5755  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 4229   5756   
@@ -0,0 +1,12 @@
        5757  +
{
        5758  +
    "credentials": {
        5759  +
        "access_key_id": "AKIDEXAMPLE",
        5760  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5761  +
    },
        5762  +
    "expiration_in_seconds": 3600,
        5763  +
    "normalize": true,
        5764  +
    "region": "us-east-1",
        5765  +
    "service": "service",
        5766  +
    "sign_body": false,
        5767  +
    "timestamp": "2015-08-30T12:36:00Z"
        5768  +
}
              \
 No newline at end of file
 4230   5769   
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
 4231   5770   
new file mode 100644
 4232   5771   
index 0000000..8841ddf
 4233         -
-- /dev/null
        5772  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 4234   5773   
@@ -0,0 +1,9 @@
        5774  +
GET
        5775  +
/
        5776  +
%E1%88%B4=bar
        5777  +
host:example.amazonaws.com
        5778  +
x-amz-date:20150830T123600Z
        5779  +
x-amz-region-set:us-east-1
        5780  +
        5781  +
host;x-amz-date;x-amz-region-set
        5782  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4235   5783   
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
 4236   5784   
new file mode 100644
 4237   5785   
index 0000000..1497add
 4238         -
-- /dev/null
        5786  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 4239   5787   
@@ -0,0 +1 @@
        5788  +
3046022100b47fe24b090d857f34597a58a4e8acd0ea9639462e606af7e1fa1e2c3fae1d630221008ce7f870adf7d2c06f299da0c9870402b027c6a50ff027881655a664ff294cc3
              \
 No newline at end of file
 4240   5789   
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
 4241   5790   
new file mode 100644
 4242   5791   
index 0000000..961bc10
 4243         -
-- /dev/null
        5792  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 4244   5793   
@@ -0,0 +1,6 @@
        5794  +
GET /?ሴ=bar HTTP/1.1
        5795  +
Host:example.amazonaws.com
        5796  +
X-Amz-Date:20150830T123600Z
        5797  +
X-Amz-Region-Set:us-east-1
        5798  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502206e0b9d70bb0413a557946314e04739d721c9f301d452c072590edfdcb9320572022100846f242fb0346c8c56c76a6f0e70c521d7ac02742f09c2e7b5253f1e9afe5a44
        5799  +
 4245   5800   
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
 4246   5801   
new file mode 100644
 4247   5802   
index 0000000..e78ed70
 4248         -
-- /dev/null
        5803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 4249   5804   
@@ -0,0 +1,4 @@
        5805  +
AWS4-ECDSA-P256-SHA256
        5806  +
20150830T123600Z
        5807  +
20150830/service/aws4_request
        5808  +
b27131d754045e85823698b1fe3fc9694c17b16d97f4c43cef2359a1233c7b76
              \
 No newline at end of file
 4250   5809   
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
 4251   5810   
new file mode 100644
 4252   5811   
index 0000000..379dcb2
 4253         -
-- /dev/null
        5812  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 4254   5813   
@@ -0,0 +1,4 @@
        5814  +
{
        5815  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5816  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5817  +
}
 4255   5818   
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
 4256   5819   
new file mode 100644
 4257   5820   
index 0000000..6d5ae93
 4258         -
-- /dev/null
        5821  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 4259   5822   
@@ -0,0 +1,7 @@
        5823  +
GET
        5824  +
/
        5825  +
%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
        5826  +
host:example.amazonaws.com
        5827  +
        5828  +
host
        5829  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4260   5830   
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
 4261   5831   
new file mode 100644
 4262   5832   
index 0000000..92107f2
 4263         -
-- /dev/null
        5833  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 4264   5834   
@@ -0,0 +1 @@
        5835  +
3044022076d8b03a19db63abc106c50f13487d5363f1eac2c77bc4eda764eadba8f84c6502205c0aa76554ba223a97958be9ff34aca35d84cb7b8c7ba698793ead9e6788e241
              \
 No newline at end of file
 4265   5836   
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
 4266   5837   
new file mode 100644
 4267   5838   
index 0000000..bb8a75b
 4268         -
-- /dev/null
        5839  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 4269   5840   
@@ -0,0 +1,3 @@
        5841  +
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
        5842  +
Host:example.amazonaws.com
        5843  +
 4270   5844   
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
 4271   5845   
new file mode 100644
 4272   5846   
index 0000000..9fa94c7
 4273         -
-- /dev/null
        5847  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 4274   5848   
@@ -0,0 +1,4 @@
        5849  +
AWS4-ECDSA-P256-SHA256
        5850  +
20150830T123600Z
        5851  +
20150830/service/aws4_request
        5852  +
e22d57192c68232f914afff959b8aa1027756098f879c7d4d7615a2469f85c1f
              \
 No newline at end of file
 4275   5853   
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
 4276   5854   
new file mode 100644
 4277   5855   
index 0000000..aff333a
 4278         -
-- /dev/null
        5856  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 4279   5857   
@@ -0,0 +1,2 @@
        5858  +
GET /?ሴ=bar HTTP/1.1
        5859  +
Host:example.amazonaws.com
 4280   5860   
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
 4281   5861   
new file mode 100644
 4282   5862   
index 0000000..a334e18
 4283         -
-- /dev/null
        5863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 4284   5864   
@@ -0,0 +1,13 @@
        5865  +
{
        5866  +
    "credentials": {
        5867  +
        "access_key_id": "AKIDEXAMPLE",
        5868  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        5869  +
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
        5870  +
    },
        5871  +
    "expiration_in_seconds": 3600,
        5872  +
    "normalize": true,
        5873  +
    "region": "us-east-1",
        5874  +
    "service": "service",
        5875  +
    "sign_body": false,
        5876  +
    "timestamp": "2015-08-30T12:36:00Z"
        5877  +
}
              \
 No newline at end of file
 4285   5878   
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
 4286   5879   
similarity index 99%
 4287   5880   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
 4288   5881   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 4289   5882   
index f14defd..0e9ad42 100644
 4290   5883   
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
 4291   5884   
new file mode 100644
 4292   5885   
index 0000000..a7673b5
 4293         -
-- /dev/null
        5886  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 4294   5887   
@@ -0,0 +1 @@
        5888  +
3044022035c6bc9a8cab8a434bd8bd1cc3b6f1401842f530f1537722ad10d72a1577f8c80220101352fe0720715efbab80f82edb133175f0b61cad85daf943ad615852f9ae10
              \
 No newline at end of file
 4295   5889   
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
 4296   5890   
new file mode 100644
 4297   5891   
index 0000000..ed16e76
 4298         -
-- /dev/null
        5892  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 4299   5893   
@@ -0,0 +1,7 @@
        5894  +
GET / HTTP/1.1
        5895  +
Host:example.amazonaws.com
        5896  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        5897  +
X-Amz-Date:20150830T123600Z
        5898  +
X-Amz-Region-Set:us-east-1
        5899  +
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
        5900  +
 4300   5901   
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
 4301   5902   
similarity index 99%
 4302   5903   
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
 4303   5904   
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
 4304   5905   
index 4edece5..6c1ec65 100644
 4305   5906   
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
 4306   5907   
new file mode 100644
 4307   5908   
index 0000000..379dcb2
 4308         -
-- /dev/null
        5909  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 4309   5910   
@@ -0,0 +1,4 @@
        5911  +
{
        5912  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5913  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5914  +
}
 4310   5915   
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
 4311   5916   
similarity index 99%
 4312   5917   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
 4313   5918   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 4314   5919   
index 7c042af..1876b42 100644
 4315   5920   
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
 4316   5921   
new file mode 100644
 4317   5922   
index 0000000..903dfb4
 4318         -
-- /dev/null
        5923  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 4319   5924   
@@ -0,0 +1 @@
        5925  +
3046022100d51f7ae1ac1b6b3db6c40f69aafb4306f81cdd2d87a85f69b2c4cb8fd057cf21022100cdb787a698c3f53d961f5b6279a0ff246097f50c874bcbf7a249bf4c0f118fb3
              \
 No newline at end of file
 4320   5926   
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
 4321   5927   
new file mode 100644
 4322   5928   
index 0000000..bf1d246
 4323         -
-- /dev/null
        5929  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 4324   5930   
@@ -0,0 +1,3 @@
        5931  +
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
        5932  +
Host:example.amazonaws.com
        5933  +
 4325   5934   
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
 4326   5935   
similarity index 99%
 4327   5936   
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
 4328   5937   
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
 4329   5938   
index 0fd066a..f1b1790 100644
 4330   5939   
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
 4331   5940   
similarity index 60%
 4332   5941   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
 4333   5942   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4334   5943   
index 0f7a9bf..e659c3b 100644
 4335         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
        5944  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4336   5945   
@@ -1,3 +1,2 @@
 4337   5946   
GET / HTTP/1.1
 4338   5947   
Host:example.amazonaws.com
 4339         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4340   5948   
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
 4341   5949   
new file mode 100644
 4342   5950   
index 0000000..76db73d
 4343         -
-- /dev/null
        5951  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 4344   5952   
@@ -0,0 +1,9 @@
        5953  +
GET
        5954  +
/
        5955  +
        5956  +
host:example.amazonaws.com
        5957  +
x-amz-date:20150830T123600Z
        5958  +
x-amz-region-set:us-east-1
        5959  +
        5960  +
host;x-amz-date;x-amz-region-set
        5961  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4345   5962   
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
 4346   5963   
new file mode 100644
 4347   5964   
index 0000000..0468d80
 4348         -
-- /dev/null
        5965  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 4349   5966   
@@ -0,0 +1,12 @@
        5967  +
{
        5968  +
    "credentials": {
        5969  +
        "access_key_id": "AKIDEXAMPLE",
        5970  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5971  +
    },
        5972  +
    "expiration_in_seconds": 3600,
        5973  +
    "normalize": true,
        5974  +
    "region": "us-east-1",
        5975  +
    "service": "service",
        5976  +
    "sign_body": false,
        5977  +
    "timestamp": "2015-08-30T12:36:00Z"
        5978  +
}
              \
 No newline at end of file
 4350   5979   
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
 4351   5980   
new file mode 100644
 4352   5981   
index 0000000..76db73d
 4353         -
-- /dev/null
        5982  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 4354   5983   
@@ -0,0 +1,9 @@
        5984  +
GET
        5985  +
/
        5986  +
        5987  +
host:example.amazonaws.com
        5988  +
x-amz-date:20150830T123600Z
        5989  +
x-amz-region-set:us-east-1
        5990  +
        5991  +
host;x-amz-date;x-amz-region-set
        5992  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4355   5993   
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
 4356   5994   
new file mode 100644
 4357   5995   
index 0000000..a96ff24
 4358         -
-- /dev/null
        5996  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 4359   5997   
@@ -0,0 +1 @@
        5998  +
3045022018b4e277d0281864beb51d3600e23f88510ea5031d68ddfbb68614b82a5eb7d2022100effb9c5f22ed9ef3ae0ab243d21f06bce82365bbb79529a07b6888c343ae5f8c
              \
 No newline at end of file
 4360   5999   
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
 4361   6000   
new file mode 100644
 4362   6001   
index 0000000..689078b
 4363         -
-- /dev/null
        6002  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 4364   6003   
@@ -0,0 +1,6 @@
        6004  +
GET / HTTP/1.1
        6005  +
Host:example.amazonaws.com
        6006  +
X-Amz-Date:20150830T123600Z
        6007  +
X-Amz-Region-Set:us-east-1
        6008  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100fddaaf816a31e30d04973875b13bc27b98da10907a3a1872fd5819a221334abc022100de2ee81d83b54f31efc82834de07e6cd4d5c6f25bfa08e0f29a15bb0977c343e
        6009  +
 4365   6010   
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
 4366   6011   
new file mode 100644
 4367   6012   
index 0000000..600f1d8
 4368         -
-- /dev/null
        6013  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 4369   6014   
@@ -0,0 +1,4 @@
        6015  +
AWS4-ECDSA-P256-SHA256
        6016  +
20150830T123600Z
        6017  +
20150830/service/aws4_request
        6018  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4370   6019   
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
 4371   6020   
new file mode 100644
 4372   6021   
index 0000000..379dcb2
 4373         -
-- /dev/null
        6022  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 4374   6023   
@@ -0,0 +1,4 @@
        6024  +
{
        6025  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6026  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6027  +
}
 4375   6028   
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
 4376   6029   
new file mode 100644
 4377   6030   
index 0000000..779c51c
 4378         -
-- /dev/null
        6031  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 4379   6032   
@@ -0,0 +1,7 @@
        6033  +
GET
        6034  +
/
        6035  +
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
        6036  +
host:example.amazonaws.com
        6037  +
        6038  +
host
        6039  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4380   6040   
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
 4381   6041   
new file mode 100644
 4382   6042   
index 0000000..cc42158
 4383         -
-- /dev/null
        6043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 4384   6044   
@@ -0,0 +1 @@
        6045  +
3045022100b3246f8e1442dd58e73292ae1294720c3256ee58f6cea50f3a3f83b4a4b0331a0220329693f7745c9008a5887c0529ceccb0fae4e16d707b712ea66acdbaf963769a
              \
 No newline at end of file
 4385   6046   
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
 4386   6047   
new file mode 100644
 4387   6048   
index 0000000..dc6d01d
 4388         -
-- /dev/null
        6049  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 4389   6050   
@@ -0,0 +1,3 @@
        6051  +
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
        6052  +
Host:example.amazonaws.com
        6053  +
 4390   6054   
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
 4391   6055   
new file mode 100644
 4392   6056   
index 0000000..6e29a7e
 4393         -
-- /dev/null
        6057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 4394   6058   
@@ -0,0 +1,4 @@
        6059  +
AWS4-ECDSA-P256-SHA256
        6060  +
20150830T123600Z
        6061  +
20150830/service/aws4_request
        6062  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4395   6063   
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
 4396   6064   
new file mode 100644
 4397   6065   
index 0000000..e659c3b
 4398         -
-- /dev/null
        6066  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 4399   6067   
@@ -0,0 +1,2 @@
        6068  +
GET / HTTP/1.1
        6069  +
Host:example.amazonaws.com
 4400   6070   
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
 4401   6071   
new file mode 100644
 4402   6072   
index 0000000..600f1d8
 4403         -
-- /dev/null
        6073  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 4404   6074   
@@ -0,0 +1,4 @@
        6075  +
AWS4-ECDSA-P256-SHA256
        6076  +
20150830T123600Z
        6077  +
20150830/service/aws4_request
        6078  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4405   6079   
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
 4406   6080   
new file mode 100644
 4407   6081   
index 0000000..0468d80
 4408         -
-- /dev/null
        6082  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 4409   6083   
@@ -0,0 +1,12 @@
        6084  +
{
        6085  +
    "credentials": {
        6086  +
        "access_key_id": "AKIDEXAMPLE",
        6087  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6088  +
    },
        6089  +
    "expiration_in_seconds": 3600,
        6090  +
    "normalize": true,
        6091  +
    "region": "us-east-1",
        6092  +
    "service": "service",
        6093  +
    "sign_body": false,
        6094  +
    "timestamp": "2015-08-30T12:36:00Z"
        6095  +
}
              \
 No newline at end of file
 4410   6096   
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
 4411   6097   
similarity index 99%
 4412   6098   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
 4413   6099   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 4414   6100   
index a6942c1..e881ac7 100644
 4415   6101   
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
 4416   6102   
new file mode 100644
 4417   6103   
index 0000000..4210210
 4418         -
-- /dev/null
        6104  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 4419   6105   
@@ -0,0 +1 @@
        6106  +
3044022025397839d55c2147eead39170f5b1758c9f9fb4ccbcda4c8612a23df8e90c13d022079f5fc1377201691a11be43def8be12fe882e998589317508ff67b8dbe982722
              \
 No newline at end of file
 4420   6107   
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
 4421   6108   
new file mode 100644
 4422   6109   
index 0000000..257b110
 4423         -
-- /dev/null
        6110  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 4424   6111   
@@ -0,0 +1,6 @@
        6112  +
POST / HTTP/1.1
        6113  +
Host:example.amazonaws.com
        6114  +
X-Amz-Date:20150830T123600Z
        6115  +
X-Amz-Region-Set:us-east-1
        6116  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304602210081bb2a93eae5cce843abe0e7cac2f0e4cecdd0a79cb8d60e5b9dc4c8e8906b61022100e18c8119f50b8218da995ada62080d88ff75d2f02309c3685a02dfb9a83b103f
        6117  +
 4425   6118   
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
 4426   6119   
similarity index 99%
 4427   6120   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
 4428   6121   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 4429   6122   
index d5650cb..f8adf13 100644
 4430   6123   
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
 4431   6124   
new file mode 100644
 4432   6125   
index 0000000..379dcb2
 4433         -
-- /dev/null
        6126  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 4434   6127   
@@ -0,0 +1,4 @@
        6128  +
{
        6129  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6130  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6131  +
}
 4435   6132   
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
 4436   6133   
similarity index 99%
 4437   6134   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
 4438   6135   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 4439   6136   
index e48ce07..5ea8e3c 100644
 4440   6137   
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
 4441   6138   
new file mode 100644
 4442   6139   
index 0000000..9e2069e
 4443         -
-- /dev/null
        6140  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 4444   6141   
@@ -0,0 +1 @@
        6142  +
304402204afe4ce8de62e37853d0cb8a00f9601532fdeca89d6d8591c72d5bbf728bee2f02202feb0d8e680cab063e0c3c9090c0483f400511678ce83169ddce3e6d040f9ed8
              \
 No newline at end of file
 4445   6143   
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
 4446   6144   
new file mode 100644
 4447   6145   
index 0000000..67f5d29
 4448         -
-- /dev/null
        6146  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 4449   6147   
@@ -0,0 +1,3 @@
        6148  +
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
        6149  +
Host:example.amazonaws.com
        6150  +
 4450   6151   
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
 4451   6152   
similarity index 99%
 4452   6153   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
 4453   6154   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 4454   6155   
index 34e3382..711c162 100644
 4455   6156   
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
 4456   6157   
similarity index 61%
 4457   6158   
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
 4458   6159   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4459   6160   
index 3dc4179..3f0a82a 100644
 4460         -
-- 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
        6161  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4461   6162   
@@ -1,3 +1,2 @@
 4462   6163   
POST / HTTP/1.1
 4463   6164   
Host:example.amazonaws.com
 4464         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4465   6165   
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
 4466   6166   
new file mode 100644
 4467   6167   
index 0000000..0468d80
 4468         -
-- /dev/null
        6168  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 4469   6169   
@@ -0,0 +1,12 @@
        6170  +
{
        6171  +
    "credentials": {
        6172  +
        "access_key_id": "AKIDEXAMPLE",
        6173  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6174  +
    },
        6175  +
    "expiration_in_seconds": 3600,
        6176  +
    "normalize": true,
        6177  +
    "region": "us-east-1",
        6178  +
    "service": "service",
        6179  +
    "sign_body": false,
        6180  +
    "timestamp": "2015-08-30T12:36:00Z"
        6181  +
}
              \
 No newline at end of file
 4470   6182   
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
 4471   6183   
similarity index 99%
 4472   6184   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
 4473   6185   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 4474   6186   
index a8e1727..2883822 100644
 4475   6187   
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
 4476   6188   
new file mode 100644
 4477   6189   
index 0000000..e3c2e6e
 4478         -
-- /dev/null
        6190  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 4479   6191   
@@ -0,0 +1 @@
        6192  +
304502210097752f8c9953078cbb6b370471cb7029aea9517d59fb835d8befce66a91e6c4a022043a8c62681ff76e6cbaaeaed2fff2fcfee8efceebb7bd9e562ecd5a08b2c563f
              \
 No newline at end of file
 4480   6193   
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
 4481   6194   
new file mode 100644
 4482   6195   
index 0000000..1d6e288
 4483         -
-- /dev/null
        6196  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 4484   6197   
@@ -0,0 +1,7 @@
        6198  +
POST / HTTP/1.1
        6199  +
Host:example.amazonaws.com
        6200  +
My-Header1:value1
        6201  +
X-Amz-Date:20150830T123600Z
        6202  +
X-Amz-Region-Set:us-east-1
        6203  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3046022100a5dc03771b33997d8eeb15d639cb7bdef2aff78a4a59c7996070e5f94fe149780221009a732061539208209ba0ae6755bef956c258a0c0ac6a6916489486efde21cfeb
        6204  +
 4485   6205   
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
 4486   6206   
similarity index 99%
 4487   6207   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
 4488   6208   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 4489   6209   
index f6e3e9b..7c5236a 100644
 4490   6210   
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
 4491   6211   
new file mode 100644
 4492   6212   
index 0000000..379dcb2
 4493         -
-- /dev/null
        6213  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 4494   6214   
@@ -0,0 +1,4 @@
        6215  +
{
        6216  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6217  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6218  +
}
 4495   6219   
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
 4496   6220   
similarity index 99%
 4497   6221   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
 4498   6222   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 4499   6223   
index 0ae73e1..2cf3f29 100644
 4500   6224   
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
 4501   6225   
new file mode 100644
 4502   6226   
index 0000000..2a08401
 4503         -
-- /dev/null
        6227  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 4504   6228   
@@ -0,0 +1 @@
        6229  +
304502204f2a31513c9bea5c92dd8045e226dc1db150f768e60b538cacce157c623873dc022100ab5d654ce3c7b917656cec2cf58a3689159e89deed5241ca21e19a40173674c4
              \
 No newline at end of file
 4505   6230   
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
 4506   6231   
new file mode 100644
 4507   6232   
index 0000000..8d2343f
 4508         -
-- /dev/null
        6233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 4509   6234   
@@ -0,0 +1,4 @@
        6235  +
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
        6236  +
Host:example.amazonaws.com
        6237  +
My-Header1:value1
        6238  +
 4510   6239   
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
 4511   6240   
similarity index 99%
 4512   6241   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
 4513   6242   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 4514   6243   
index 8cb96bf..2c4db7a 100644
 4515   6244   
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
 4516   6245   
similarity index 69%
 4517   6246   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
 4518   6247   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4519   6248   
index 0253f19..917720e 100644
 4520         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
        6249  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4521   6250   
@@ -1,4 +1,3 @@
 4522   6251   
POST / HTTP/1.1
 4523   6252   
Host:example.amazonaws.com
 4524   6253   
My-Header1:value1
 4525         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4526   6254   
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
 4527   6255   
new file mode 100644
 4528   6256   
index 0000000..0468d80
 4529         -
-- /dev/null
        6257  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 4530   6258   
@@ -0,0 +1,12 @@
        6259  +
{
        6260  +
    "credentials": {
        6261  +
        "access_key_id": "AKIDEXAMPLE",
        6262  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6263  +
    },
        6264  +
    "expiration_in_seconds": 3600,
        6265  +
    "normalize": true,
        6266  +
    "region": "us-east-1",
        6267  +
    "service": "service",
        6268  +
    "sign_body": false,
        6269  +
    "timestamp": "2015-08-30T12:36:00Z"
        6270  +
}
              \
 No newline at end of file
 4531   6271   
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
 4532   6272   
similarity index 99%
 4533   6273   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
 4534   6274   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 4535   6275   
index 1dc3ef8..164e65c 100644
 4536   6276   
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
 4537   6277   
new file mode 100644
 4538   6278   
index 0000000..7072b0e
 4539         -
-- /dev/null
        6279  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 4540   6280   
@@ -0,0 +1 @@
        6281  +
304402207b3baf259f5d29f13511eb4c9b236045c43168ca70369ed639611f4bff9eb6490220465e922e8b19146de9c70147440f4ee80a3318f0c756c8050dbfd641e6ff0456
              \
 No newline at end of file
 4541   6282   
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
 4542   6283   
new file mode 100644
 4543   6284   
index 0000000..17f5e3e
 4544         -
-- /dev/null
        6285  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 4545   6286   
@@ -0,0 +1,7 @@
        6287  +
POST / HTTP/1.1
        6288  +
Host:example.amazonaws.com
        6289  +
My-Header1:VALUE1
        6290  +
X-Amz-Date:20150830T123600Z
        6291  +
X-Amz-Region-Set:us-east-1
        6292  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022100c72dd4d54c45d3eb30858c6227e9512f41b7379b7c685e39e0cd39a793d7ee3102205c900d330270e31d2f7b5138fb3d791b6743f6f3b9ffbc34a4adcc8307591b11
        6293  +
 4546   6294   
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
 4547   6295   
similarity index 99%
 4548   6296   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
 4549   6297   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 4550   6298   
index 59c7e45..620f54e 100644
 4551   6299   
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
 4552   6300   
new file mode 100644
 4553   6301   
index 0000000..379dcb2
 4554         -
-- /dev/null
        6302  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 4555   6303   
@@ -0,0 +1,4 @@
        6304  +
{
        6305  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6306  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6307  +
}
 4556   6308   
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
 4557   6309   
similarity index 99%
 4558   6310   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
 4559   6311   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 4560   6312   
index 377e6f3..23e0da3 100644
 4561   6313   
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
 4562   6314   
new file mode 100644
 4563   6315   
index 0000000..a18acb8
 4564         -
-- /dev/null
        6316  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 4565   6317   
@@ -0,0 +1 @@
        6318  +
30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
              \
 No newline at end of file
 4566   6319   
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
 4567   6320   
new file mode 100644
 4568   6321   
index 0000000..7cbdcfa
 4569         -
-- /dev/null
        6322  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 4570   6323   
@@ -0,0 +1,4 @@
        6324  +
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
        6325  +
Host:example.amazonaws.com
        6326  +
My-Header1:VALUE1
        6327  +
 4571   6328   
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
 4572   6329   
similarity index 99%
 4573   6330   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
 4574   6331   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 4575   6332   
index 84a7afd..0c90627 100644
 4576   6333   
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
 4577   6334   
similarity index 69%
 4578   6335   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
 4579   6336   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4580   6337   
index 3f9987a..5f14c91 100644
 4581         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
        6338  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4582   6339   
@@ -1,4 +1,3 @@
 4583   6340   
POST / HTTP/1.1
 4584   6341   
Host:example.amazonaws.com
 4585   6342   
My-Header1:VALUE1
 4586         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4587   6343   
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
 4588   6344   
new file mode 100644
 4589   6345   
index 0000000..8f1d5ce
 4590         -
-- /dev/null
        6346  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 4591   6347   
@@ -0,0 +1,14 @@
        6348  +
{
        6349  +
    "credentials": {
        6350  +
        "access_key_id": "AKIDEXAMPLE",
        6351  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6352  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6353  +
    },
        6354  +
    "expiration_in_seconds": 3600,
        6355  +
    "normalize": true,
        6356  +
    "region": "us-east-1",
        6357  +
    "service": "service",
        6358  +
    "sign_body": false,
        6359  +
    "timestamp": "2015-08-30T12:36:00Z",
        6360  +
    "omit_session_token": true
        6361  +
}
 4592   6362   
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
 4593   6363   
similarity index 99%
 4594   6364   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
 4595   6365   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 4596   6366   
index a6942c1..e881ac7 100644
 4597   6367   
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
 4598   6368   
new file mode 100644
 4599   6369   
index 0000000..9c5ecb9
 4600         -
-- /dev/null
        6370  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 4601   6371   
@@ -0,0 +1 @@
        6372  +
3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
              \
 No newline at end of file
 4602   6373   
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
 4603   6374   
similarity index 52%
 4604   6375   
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
 4605   6376   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4606   6377   
index 9d91775..61b6527 100644
 4607         -
-- 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
        6378  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4608   6379   
@@ -1,4 +1,7 @@
 4609   6380   
POST / HTTP/1.1
 4610   6381   
Host:example.amazonaws.com
 4611         -
X-Amz-Date:20150830T123600Z
 4612   6382   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6383  +
X-Amz-Date:20150830T123600Z
        6384  +
X-Amz-Region-Set:us-east-1
        6385  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
        6386  +
 4613   6387   
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
 4614   6388   
similarity index 99%
 4615   6389   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
 4616   6390   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 4617   6391   
index d5650cb..f8adf13 100644
 4618   6392   
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
 4619   6393   
new file mode 100644
 4620   6394   
index 0000000..379dcb2
 4621         -
-- /dev/null
        6395  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 4622   6396   
@@ -0,0 +1,4 @@
        6397  +
{
        6398  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6399  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6400  +
}
 4623   6401   
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
 4624   6402   
similarity index 99%
 4625   6403   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
 4626   6404   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 4627   6405   
index e48ce07..5ea8e3c 100644
 4628   6406   
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
 4629   6407   
new file mode 100644
 4630   6408   
index 0000000..ff8823a
 4631         -
-- /dev/null
        6409  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 4632   6410   
@@ -0,0 +1 @@
        6411  +
3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
              \
 No newline at end of file
 4633   6412   
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
 4634   6413   
new file mode 100644
 4635   6414   
index 0000000..cfac41b
 4636         -
-- /dev/null
        6415  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 4637   6416   
@@ -0,0 +1,3 @@
        6417  +
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
        6418  +
Host:example.amazonaws.com
        6419  +
 4638   6420   
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
 4639   6421   
similarity index 99%
 4640   6422   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
 4641   6423   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 4642   6424   
index 34e3382..711c162 100644
 4643   6425   
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
 4644   6426   
similarity index 61%
 4645   6427   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
 4646   6428   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4647   6429   
index 3dc4179..3f0a82a 100644
 4648         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
        6430  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4649   6431   
@@ -1,3 +1,2 @@
 4650   6432   
POST / HTTP/1.1
 4651   6433   
Host:example.amazonaws.com
 4652         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4653   6434   
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
 4654   6435   
new file mode 100644
 4655   6436   
index 0000000..5187392
 4656         -
-- /dev/null
        6437  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 4657   6438   
@@ -0,0 +1,14 @@
        6439  +
{
        6440  +
    "credentials": {
        6441  +
        "access_key_id": "AKIDEXAMPLE",
        6442  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6443  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6444  +
    },
        6445  +
    "expiration_in_seconds": 3600,
        6446  +
    "normalize": true,
        6447  +
    "region": "us-east-1",
        6448  +
    "service": "service",
        6449  +
    "sign_body": false,
        6450  +
    "timestamp": "2015-08-30T12:36:00Z",
        6451  +
    "omit_session_token": false
        6452  +
}
 4658   6453   
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
 4659   6454   
similarity index 99%
 4660   6455   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
 4661   6456   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 4662   6457   
index dd408c8..e95924e 100644
 4663   6458   
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
 4664   6459   
new file mode 100644
 4665   6460   
index 0000000..1573f07
 4666         -
-- /dev/null
        6461  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 4667   6462   
@@ -0,0 +1 @@
        6463  +
30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
              \
 No newline at end of file
 4668   6464   
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
 4669   6465   
new file mode 100644
 4670   6466   
index 0000000..6ef9a08
 4671         -
-- /dev/null
        6467  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 4672   6468   
@@ -0,0 +1,7 @@
        6469  +
POST / HTTP/1.1
        6470  +
Host:example.amazonaws.com
        6471  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6472  +
X-Amz-Date:20150830T123600Z
        6473  +
X-Amz-Region-Set:us-east-1
        6474  +
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
        6475  +
 4673   6476   
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
 4674   6477   
similarity index 99%
 4675   6478   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
 4676   6479   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 4677   6480   
index f352b54..3c3235f 100644
 4678   6481   
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
 4679   6482   
new file mode 100644
 4680   6483   
index 0000000..379dcb2
 4681         -
-- /dev/null
        6484  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 4682   6485   
@@ -0,0 +1,4 @@
        6486  +
{
        6487  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6488  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6489  +
}
 4683   6490   
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
 4684   6491   
similarity index 99%
 4685   6492   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
 4686   6493   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 4687   6494   
index 832cdc0..63b7de5 100644
 4688   6495   
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
 4689   6496   
new file mode 100644
 4690   6497   
index 0000000..713f57c
 4691         -
-- /dev/null
        6498  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 4692   6499   
@@ -0,0 +1 @@
        6500  +
304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
              \
 No newline at end of file
 4693   6501   
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
 4694   6502   
new file mode 100644
 4695   6503   
index 0000000..32c3bb3
 4696         -
-- /dev/null
        6504  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 4697   6505   
@@ -0,0 +1,3 @@
        6506  +
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
        6507  +
Host:example.amazonaws.com
        6508  +
 4698   6509   
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
 4699   6510   
similarity index 99%
 4700   6511   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
 4701   6512   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 4702   6513   
index d7f3668..b46cd8c 100644
 4703   6514   
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
 4704   6515   
similarity index 60%
 4705   6516   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
 4706   6517   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4707   6518   
index 8b5efc8..3f0a82a 100644
 4708         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
        6519  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4709   6520   
@@ -1,3 +1,2 @@
 4710   6521   
POST / HTTP/1.1
 4711   6522   
Host:example.amazonaws.com
 4712         -
X-Amz-Date:20150830T123600Z
 4713   6523   
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
 4714   6524   
new file mode 100644
 4715   6525   
index 0000000..0468d80
 4716         -
-- /dev/null
        6526  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 4717   6527   
@@ -0,0 +1,12 @@
        6528  +
{
        6529  +
    "credentials": {
        6530  +
        "access_key_id": "AKIDEXAMPLE",
        6531  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6532  +
    },
        6533  +
    "expiration_in_seconds": 3600,
        6534  +
    "normalize": true,
        6535  +
    "region": "us-east-1",
        6536  +
    "service": "service",
        6537  +
    "sign_body": false,
        6538  +
    "timestamp": "2015-08-30T12:36:00Z"
        6539  +
}
              \
 No newline at end of file
 4718   6540   
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
 4719   6541   
similarity index 99%
 4720   6542   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
 4721   6543   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 4722   6544   
index 02af60f..34b8c11 100644
 4723   6545   
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
 4724   6546   
new file mode 100644
 4725   6547   
index 0000000..aac6427
 4726         -
-- /dev/null
        6548  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 4727   6549   
@@ -0,0 +1 @@
        6550  +
3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
              \
 No newline at end of file
 4728   6551   
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
 4729   6552   
new file mode 100644
 4730   6553   
index 0000000..a611436
 4731         -
-- /dev/null
        6554  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 4732   6555   
@@ -0,0 +1,6 @@
        6556  +
POST /?Param1=value1 HTTP/1.1
        6557  +
Host:example.amazonaws.com
        6558  +
X-Amz-Date:20150830T123600Z
        6559  +
X-Amz-Region-Set:us-east-1
        6560  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
        6561  +
 4733   6562   
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
 4734   6563   
similarity index 99%
 4735   6564   
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
 4736   6565   
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
 4737   6566   
index 4256b4f..ad88dff 100644
 4738   6567   
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
 4739   6568   
new file mode 100644
 4740   6569   
index 0000000..379dcb2
 4741         -
-- /dev/null
        6570  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 4742   6571   
@@ -0,0 +1,4 @@
        6572  +
{
        6573  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6574  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6575  +
}
 4743   6576   
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
 4744   6577   
similarity index 99%
 4745   6578   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
 4746   6579   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 4747   6580   
index fa84bbd..76d5ad6 100644
 4748   6581   
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
 4749   6582   
new file mode 100644
 4750   6583   
index 0000000..4cb1c94
 4751         -
-- /dev/null
        6584  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 4752   6585   
@@ -0,0 +1 @@
        6586  +
3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
              \
 No newline at end of file
 4753   6587   
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
 4754   6588   
new file mode 100644
 4755   6589   
index 0000000..bd22b97
 4756         -
-- /dev/null
        6590  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 4757   6591   
@@ -0,0 +1,3 @@
        6592  +
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
        6593  +
Host:example.amazonaws.com
        6594  +
 4758   6595   
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
 4759   6596   
similarity index 99%
 4760   6597   
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
 4761   6598   
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
 4762   6599   
index de270ef..8c9d319 100644
 4763   6600   
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
 4764   6601   
similarity index 67%
 4765   6602   
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
 4766   6603   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4767   6604   
index 9157bc7..c9d6e5d 100644
 4768         -
-- 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
        6605  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4769   6606   
@@ -1,3 +1,2 @@
 4770   6607   
POST /?Param1=value1 HTTP/1.1
 4771   6608   
Host:example.amazonaws.com
 4772         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4773   6609   
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
 4774   6610   
new file mode 100644
 4775   6611   
index 0000000..0468d80
 4776         -
-- /dev/null
        6612  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 4777   6613   
@@ -0,0 +1,12 @@
        6614  +
{
        6615  +
    "credentials": {
        6616  +
        "access_key_id": "AKIDEXAMPLE",
        6617  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6618  +
    },
        6619  +
    "expiration_in_seconds": 3600,
        6620  +
    "normalize": true,
        6621  +
    "region": "us-east-1",
        6622  +
    "service": "service",
        6623  +
    "sign_body": false,
        6624  +
    "timestamp": "2015-08-30T12:36:00Z"
        6625  +
}
              \
 No newline at end of file
 4778   6626   
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
 4779   6627   
similarity index 99%
 4780   6628   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
 4781   6629   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 4782   6630   
index 02af60f..34b8c11 100644
 4783   6631   
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
 4784   6632   
new file mode 100644
 4785   6633   
index 0000000..34f75c8
 4786         -
-- /dev/null
        6634  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 4787   6635   
@@ -0,0 +1 @@
        6636  +
3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
              \
 No newline at end of file
 4788   6637   
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
 4789   6638   
new file mode 100644
 4790   6639   
index 0000000..c731408
 4791         -
-- /dev/null
        6640  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 4792   6641   
@@ -0,0 +1,6 @@
        6642  +
POST /?Param1=value1 HTTP/1.1
        6643  +
Host:example.amazonaws.com
        6644  +
X-Amz-Date:20150830T123600Z
        6645  +
X-Amz-Region-Set:us-east-1
        6646  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
        6647  +
 4793   6648   
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
 4794   6649   
similarity index 99%
 4795   6650   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
 4796   6651   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 4797   6652   
index 4256b4f..ad88dff 100644
 4798   6653   
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
 4799   6654   
new file mode 100644
 4800   6655   
index 0000000..379dcb2
 4801         -
-- /dev/null
        6656  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 4802   6657   
@@ -0,0 +1,4 @@
        6658  +
{
        6659  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6660  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6661  +
}
 4803   6662   
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
 4804   6663   
similarity index 99%
 4805   6664   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
 4806   6665   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 4807   6666   
index fa84bbd..76d5ad6 100644
 4808   6667   
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
 4809   6668   
new file mode 100644
 4810   6669   
index 0000000..ae000d6
 4811         -
-- /dev/null
        6670  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 4812   6671   
@@ -0,0 +1 @@
        6672  +
304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
              \
 No newline at end of file
 4813   6673   
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
 4814   6674   
new file mode 100644
 4815   6675   
index 0000000..a868f7d
 4816         -
-- /dev/null
        6676  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 4817   6677   
@@ -0,0 +1,3 @@
        6678  +
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
        6679  +
Host:example.amazonaws.com
        6680  +
 4818   6681   
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
 4819   6682   
similarity index 99%
 4820   6683   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
 4821   6684   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 4822   6685   
index de270ef..8c9d319 100644
 4823   6686   
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
 4824   6687   
similarity index 67%
 4825   6688   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
 4826   6689   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 4827   6690   
index 9157bc7..c9d6e5d 100644
 4828         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
        6691  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 4829   6692   
@@ -1,3 +1,2 @@
 4830   6693   
POST /?Param1=value1 HTTP/1.1
 4831   6694   
Host:example.amazonaws.com
 4832         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4833   6695   
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
 4834   6696   
new file mode 100644
 4835   6697   
index 0000000..0468d80
 4836         -
-- /dev/null
        6698  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 4837   6699   
@@ -0,0 +1,12 @@
        6700  +
{
        6701  +
    "credentials": {
        6702  +
        "access_key_id": "AKIDEXAMPLE",
        6703  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6704  +
    },
        6705  +
    "expiration_in_seconds": 3600,
        6706  +
    "normalize": true,
        6707  +
    "region": "us-east-1",
        6708  +
    "service": "service",
        6709  +
    "sign_body": false,
        6710  +
    "timestamp": "2015-08-30T12:36:00Z"
        6711  +
}
              \
 No newline at end of file
 4838   6712   
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
 4839   6713   
similarity index 99%
 4840   6714   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
 4841   6715   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 4842   6716   
index a6942c1..e881ac7 100644
 4843   6717   
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
 4844   6718   
new file mode 100644
 4845   6719   
index 0000000..7c5e47b
 4846         -
-- /dev/null
        6720  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 4847   6721   
@@ -0,0 +1 @@
        6722  +
3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
              \
 No newline at end of file
 4848   6723   
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
 4849   6724   
new file mode 100644
 4850   6725   
index 0000000..c0e50a0
 4851         -
-- /dev/null
        6726  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 4852   6727   
@@ -0,0 +1,6 @@
        6728  +
POST / HTTP/1.1
        6729  +
Host:example.amazonaws.com
        6730  +
X-Amz-Date:20150830T123600Z
        6731  +
X-Amz-Region-Set:us-east-1
        6732  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
        6733  +
 4853   6734   
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
 4854   6735   
similarity index 99%
 4855   6736   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
 4856   6737   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 4857   6738   
index d5650cb..f8adf13 100644
 4858   6739   
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
 4859   6740   
new file mode 100644
 4860   6741   
index 0000000..379dcb2
 4861         -
-- /dev/null
        6742  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 4862   6743   
@@ -0,0 +1,4 @@
        6744  +
{
        6745  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6746  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6747  +
}
 4863   6748   
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
 4864   6749   
similarity index 99%
 4865   6750   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
 4866   6751   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 4867   6752   
index e48ce07..5ea8e3c 100644
 4868   6753   
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
 4869   6754   
new file mode 100644
 4870   6755   
index 0000000..ea8e3b4
 4871         -
-- /dev/null
        6756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 4872   6757   
@@ -0,0 +1 @@
        6758  +
30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
              \
 No newline at end of file
 4873   6759   
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
 4874   6760   
new file mode 100644
 4875   6761   
index 0000000..616973f
 4876         -
-- /dev/null
        6762  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 4877   6763   
@@ -0,0 +1,3 @@
        6764  +
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
        6765  +
Host:example.amazonaws.com
        6766  +
 4878   6767   
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
 4879   6768   
similarity index 99%
 4880   6769   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
 4881   6770   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 4882   6771   
index 34e3382..711c162 100644
 4883   6772   
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
 4884   6773   
new file mode 100644
 4885   6774   
index 0000000..3f0a82a
 4886         -
-- /dev/null
        6775  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 4887   6776   
@@ -0,0 +1,2 @@
        6777  +
POST / HTTP/1.1
        6778  +
Host:example.amazonaws.com
 4888   6779   
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
 4889   6780   
new file mode 100644
 4890   6781   
index 0000000..0db1df1
 4891         -
-- /dev/null
        6782  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 4892   6783   
@@ -0,0 +1,12 @@
        6784  +
{
        6785  +
    "credentials": {
        6786  +
        "access_key_id": "AKIDEXAMPLE",
        6787  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6788  +
    },
        6789  +
    "expiration_in_seconds": 3600,
        6790  +
    "normalize": true,
        6791  +
    "region": "us-east-1",
        6792  +
    "service": "service",
        6793  +
    "sign_body": true,
        6794  +
    "timestamp": "2015-08-30T12:36:00Z"
        6795  +
}
              \
 No newline at end of file
 4893   6796   
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
 4894   6797   
similarity index 62%
 4895   6798   
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
 4896   6799   
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
 4897   6800   
index 05ab787..62639b2 100644
 4898         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
        6801  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 4899   6802   
@@ -1,12 +1,12 @@
 4900   6803   
POST
 4901   6804   
/
 4902   6805   
 4903   6806   
content-length:13
 4904   6807   
content-type:application/x-www-form-urlencoded; charset=utf-8
 4905   6808   
host:example.amazonaws.com
 4906         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6809  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 4907   6810   
x-amz-date:20150830T123600Z
 4908   6811   
x-amz-region-set:us-east-1
 4909   6812   
 4910   6813   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 4911         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6814  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 4912   6815   
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
 4913   6816   
new file mode 100644
 4914   6817   
index 0000000..006ec2e
 4915         -
-- /dev/null
        6818  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 4916   6819   
@@ -0,0 +1 @@
        6820  +
3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
              \
 No newline at end of file
 4917   6821   
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
 4918   6822   
new file mode 100644
 4919   6823   
index 0000000..87a11f2
 4920         -
-- /dev/null
        6824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 4921   6825   
@@ -0,0 +1,10 @@
        6826  +
POST / HTTP/1.1
        6827  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6828  +
Host:example.amazonaws.com
        6829  +
Content-Length:13
        6830  +
X-Amz-Date:20150830T123600Z
        6831  +
X-Amz-Region-Set:us-east-1
        6832  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        6833  +
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
        6834  +
        6835  +
Param1=value1
              \
 No newline at end of file
 4922   6836   
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
 4923   6837   
new file mode 100644
 4924   6838   
index 0000000..c047afb
 4925         -
-- /dev/null
        6839  +
++ 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
 4926   6840   
@@ -0,0 +1,4 @@
        6841  +
AWS4-ECDSA-P256-SHA256
        6842  +
20150830T123600Z
        6843  +
20150830/service/aws4_request
        6844  +
bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
              \
 No newline at end of file
 4927   6845   
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
 4928   6846   
new file mode 100644
 4929   6847   
index 0000000..379dcb2
 4930         -
-- /dev/null
        6848  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 4931   6849   
@@ -0,0 +1,4 @@
        6850  +
{
        6851  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6852  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6853  +
}
 4932   6854   
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
 4933   6855   
similarity index 85%
 4934   6856   
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
 4935   6857   
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
 4936   6858   
index fcc454f..6933a8c 100644
 4937         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
        6859  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 4938   6860   
@@ -1,9 +1,9 @@
 4939   6861   
POST
 4940   6862   
/
 4941   6863   
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
 4942   6864   
content-length:13
 4943   6865   
content-type:application/x-www-form-urlencoded; charset=utf-8
 4944   6866   
host:example.amazonaws.com
 4945   6867   
 4946   6868   
content-length;content-type;host
 4947         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6869  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 4948   6870   
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
 4949   6871   
new file mode 100644
 4950   6872   
index 0000000..34a2e12
 4951         -
-- /dev/null
        6873  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 4952   6874   
@@ -0,0 +1 @@
        6875  +
3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
              \
 No newline at end of file
 4953   6876   
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
 4954   6877   
new file mode 100644
 4955   6878   
index 0000000..197b99e
 4956         -
-- /dev/null
        6879  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 4957   6880   
@@ -0,0 +1,6 @@
        6881  +
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
        6882  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6883  +
Host:example.amazonaws.com
        6884  +
Content-Length:13
        6885  +
        6886  +
Param1=value1
              \
 No newline at end of file
 4958   6887   
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
 4959   6888   
new file mode 100644
 4960   6889   
index 0000000..9d2bc74
 4961         -
-- /dev/null
        6890  +
++ 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
 4962   6891   
@@ -0,0 +1,4 @@
        6892  +
AWS4-ECDSA-P256-SHA256
        6893  +
20150830T123600Z
        6894  +
20150830/service/aws4_request
        6895  +
d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
              \
 No newline at end of file
 4963   6896   
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
 4964   6897   
similarity index 80%
 4965   6898   
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
 4966   6899   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 4967   6900   
index 36015f1..8289eaa 100644
 4968         -
-- 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
        6901  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 4969   6902   
@@ -1,6 +1,6 @@
 4970   6903   
POST / HTTP/1.1
 4971   6904   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 4972   6905   
Host:example.amazonaws.com
 4973         -
X-Amz-Date:20150830T123600Z
        6906  +
Content-Length:13
 4974   6907   
 4975   6908   
Param1=value1
              \
 No newline at end of file
 4976   6909   
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
 4977   6910   
new file mode 100644
 4978   6911   
index 0000000..0db1df1
 4979         -
-- /dev/null
        6912  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 4980   6913   
@@ -0,0 +1,12 @@
        6914  +
{
        6915  +
    "credentials": {
        6916  +
        "access_key_id": "AKIDEXAMPLE",
        6917  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6918  +
    },
        6919  +
    "expiration_in_seconds": 3600,
        6920  +
    "normalize": true,
        6921  +
    "region": "us-east-1",
        6922  +
    "service": "service",
        6923  +
    "sign_body": true,
        6924  +
    "timestamp": "2015-08-30T12:36:00Z"
        6925  +
}
              \
 No newline at end of file
 4981   6926   
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
 4982   6927   
similarity index 61%
 4983   6928   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
 4984   6929   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 4985   6930   
index 69009dc..797632b 100644
 4986         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
        6931  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 4987   6932   
@@ -1,12 +1,12 @@
 4988   6933   
POST
 4989   6934   
/
 4990   6935   
 4991   6936   
content-length:13
 4992   6937   
content-type:application/x-www-form-urlencoded
 4993   6938   
host:example.amazonaws.com
 4994         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6939  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 4995   6940   
x-amz-date:20150830T123600Z
 4996   6941   
x-amz-region-set:us-east-1
 4997   6942   
 4998   6943   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 4999         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6944  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5000   6945   
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
 5001   6946   
new file mode 100644
 5002   6947   
index 0000000..f5a641c
 5003         -
-- /dev/null
        6948  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 5004   6949   
@@ -0,0 +1 @@
        6950  +
304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
              \
 No newline at end of file
 5005   6951   
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
 5006   6952   
new file mode 100644
 5007   6953   
index 0000000..7bd94a7
 5008         -
-- /dev/null
        6954  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 5009   6955   
@@ -0,0 +1,10 @@
        6956  +
POST / HTTP/1.1
        6957  +
Content-Type:application/x-www-form-urlencoded
        6958  +
Host:example.amazonaws.com
        6959  +
Content-Length:13
        6960  +
X-Amz-Date:20150830T123600Z
        6961  +
X-Amz-Region-Set:us-east-1
        6962  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        6963  +
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
        6964  +
        6965  +
Param1=value1
              \
 No newline at end of file
 5010   6966   
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
 5011   6967   
new file mode 100644
 5012   6968   
index 0000000..8d25ba9
 5013         -
-- /dev/null
        6969  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 5014   6970   
@@ -0,0 +1,4 @@
        6971  +
AWS4-ECDSA-P256-SHA256
        6972  +
20150830T123600Z
        6973  +
20150830/service/aws4_request
        6974  +
ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
              \
 No newline at end of file
 5015   6975   
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
 5016   6976   
new file mode 100644
 5017   6977   
index 0000000..379dcb2
 5018         -
-- /dev/null
        6978  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 5019   6979   
@@ -0,0 +1,4 @@
        6980  +
{
        6981  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6982  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6983  +
}
 5020   6984   
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
 5021   6985   
similarity index 99%
 5022   6986   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
 5023   6987   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 5024   6988   
index 9ed065b..563ff58 100644
 5025   6989   
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
 5026   6990   
new file mode 100644
 5027   6991   
index 0000000..0c77daf
 5028         -
-- /dev/null
        6992  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 5029   6993   
@@ -0,0 +1 @@
        6994  +
304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
              \
 No newline at end of file
 5030   6995   
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
 5031   6996   
new file mode 100644
 5032   6997   
index 0000000..71d6de9
 5033         -
-- /dev/null
        6998  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 5034   6999   
@@ -0,0 +1,6 @@
        7000  +
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
        7001  +
Content-Type:application/x-www-form-urlencoded
        7002  +
Host:example.amazonaws.com
        7003  +
Content-Length:13
        7004  +
        7005  +
Param1=value1
              \
 No newline at end of file
 5035   7006   
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
 5036   7007   
similarity index 99%
 5037   7008   
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
 5038   7009   
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
 5039   7010   
index bef3143..cc7a224 100644
 5040   7011   
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
 5041   7012   
new file mode 100644
 5042   7013   
index 0000000..760b2d3
 5043         -
-- /dev/null
        7014  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 5044   7015   
@@ -0,0 +1,6 @@
        7016  +
POST / HTTP/1.1
        7017  +
Content-Type:application/x-www-form-urlencoded
        7018  +
Host:example.amazonaws.com
        7019  +
Content-Length:13
        7020  +
        7021  +
Param1=value1
              \
 No newline at end of file
 5045   7022   
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
 5046   7023   
index 9bd636f..b53f33f 100644
 5047         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
        7024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 5048   7025   
@@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
 5049   7026   
            params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
 5050   7027   
        }
 5051   7028   
 5052   7029   
        if let SignatureValues::QueryParams(values) = values {
 5053   7030   
            add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
 5054   7031   
            add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
 5055   7032   
 5056   7033   
            #[cfg(feature = "sigv4a")]
 5057   7034   
            if let Some(regions) = values.region_set {
 5058   7035   
                add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
 5059   7036   
            }
 5060   7037   
 5061   7038   
            add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
 5062   7039   
            add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
 5063   7040   
            add_param(
 5064   7041   
                &mut params,
 5065   7042   
                param::X_AMZ_SIGNED_HEADERS,
 5066   7043   
                values.signed_headers.as_str(),
 5067   7044   
            );
 5068   7045   
 5069   7046   
            if let Some(security_token) = values.security_token {
 5070   7047   
                add_param(
 5071   7048   
                    &mut params,
 5072   7049   
                    settings
 5073   7050   
                        .session_token_name_override
 5074   7051   
                        .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
 5075   7052   
                    security_token,
 5076   7053   
                );
 5077   7054   
            }
 5078   7055   
        }
 5079         -
        // Sort by param name, and then by param value
        7056  +
        7057  +
        // Sort on the _encoded_ key/value pairs
        7058  +
        let mut params: Vec<(String, String)> = params
        7059  +
            .into_iter()
        7060  +
            .map(|x| {
        7061  +
                use aws_smithy_http::query::fmt_string;
        7062  +
                let enc_k = fmt_string(&x.0);
        7063  +
                let enc_v = fmt_string(&x.1);
        7064  +
                (enc_k, enc_v)
        7065  +
            })
        7066  +
            .collect();
        7067  +
 5080   7068   
        params.sort();
 5081   7069   
 5082   7070   
        let mut query = QueryWriter::new(uri);
 5083   7071   
        query.clear_params();
 5084   7072   
        for (key, value) in params {
 5085         -
            query.insert(&key, &value);
        7073  +
            query.insert_encoded(&key, &value);
 5086   7074   
        }
 5087   7075   
 5088   7076   
        let query = query.build_query();
 5089   7077   
        if query.is_empty() {
 5090   7078   
            None
 5091   7079   
        } else {
 5092   7080   
            Some(query)
 5093   7081   
        }
 5094   7082   
    }
 5095   7083   
 5096   7084   
    fn insert_host_header(
 5097   7085   
        canonical_headers: &mut HeaderMap<HeaderValue>,
 5098   7086   
        uri: &Uri,
 5099   7087   
    ) -> HeaderValue {
 5100   7088   
        match canonical_headers.get(&HOST) {
 5101   7089   
            Some(header) => header.clone(),
 5102   7090   
            None => {
 5103   7091   
                let port = uri.port();
 5104   7092   
                let scheme = uri.scheme();
 5105   7093   
                let authority = uri
 5106   7094   
                    .authority()
 5107   7095   
                    .expect("request uri authority must be set for signing")
 5108   7096   
                    .as_str();
 5109   7097   
                let host = uri
 5110   7098   
                    .host()
 5111   7099   
                    .expect("request uri host must be set for signing");
 5112   7100   
 5113   7101   
                // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
 5114   7102   
                // Host header when signing since RFC 2616 indicates that the default port should not be
 5115   7103   
                // sent in the Host header (and Hyper strips default ports if they are present)
 5116   7104   
@@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
 5117   7105   
            service,
 5118   7106   
            hashed_creq,
 5119   7107   
            signature_version: SignatureVersion::V4a,
 5120   7108   
        }
 5121   7109   
    }
 5122   7110   
}
 5123   7111   
 5124   7112   
impl fmt::Display for StringToSign<'_> {
 5125   7113   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 5126   7114   
        write!(
 5127   7115   
            f,
 5128   7116   
            "{}\n{}\n{}\n{}",
 5129   7117   
            self.algorithm,
 5130   7118   
            format_date_time(self.time),
 5131   7119   
            match self.signature_version {
 5132   7120   
                SignatureVersion::V4 => self.scope.to_string(),
 5133   7121   
                SignatureVersion::V4a => self.scope.v4a_display(),
 5134   7122   
            },
 5135   7123   
            self.hashed_creq
 5136   7124   
        )
 5137   7125   
    }
 5138   7126   
}
 5139   7127   
 5140   7128   
#[cfg(test)]
 5141   7129   
mod tests {
 5142   7130   
    use crate::date_time::test_parsers::parse_date_time;
 5143   7131   
    use crate::http_request::canonical_request::{
 5144   7132   
        normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
 5145   7133   
    };
 5146   7134   
    use crate::http_request::test;
        7135  +
    use crate::http_request::test::SigningSuiteTest;
 5147   7136   
    use crate::http_request::{
 5148   7137   
        PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
 5149   7138   
        SigningParams, SigningSettings,
 5150   7139   
    };
 5151   7140   
    use crate::sign::v4;
 5152   7141   
    use crate::sign::v4::sha256_hex_string;
 5153   7142   
    use aws_credential_types::Credentials;
 5154   7143   
    use aws_smithy_http::query_writer::QueryWriter;
 5155   7144   
    use aws_smithy_runtime_api::client::identity::Identity;
 5156   7145   
    use http0::{HeaderValue, Uri};
 5157   7146   
    use pretty_assertions::assert_eq;
 5158   7147   
    use proptest::{prelude::*, proptest};
 5159   7148   
    use std::borrow::Cow;
 5160   7149   
    use std::time::Duration;
 5161   7150   
 5162   7151   
    fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
 5163   7152   
        v4::signing_params::Builder::default()
 5164   7153   
            .identity(identity)
 5165   7154   
            .region("test-region")
 5166   7155   
            .name("testservicename")
 5167   7156   
            .time(parse_date_time("20210511T154045Z").unwrap())
 5168   7157   
            .settings(settings)
 5169   7158   
            .build()
 5170   7159   
            .unwrap()
 5171   7160   
            .into()
 5172   7161   
    }
 5173   7162   
 5174   7163   
    #[test]
 5175   7164   
    fn test_repeated_header() {
 5176         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7165  +
        let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7166  +
        let mut req = test.request();
 5177   7167   
        req.headers.push((
 5178   7168   
            "x-amz-object-attributes".to_string(),
 5179   7169   
            "Checksum".to_string(),
 5180   7170   
        ));
 5181   7171   
        req.headers.push((
 5182   7172   
            "x-amz-object-attributes".to_string(),
 5183   7173   
            "ObjectSize".to_string(),
 5184   7174   
        ));
 5185   7175   
        let req = SignableRequest::from(&req);
 5186   7176   
        let settings = SigningSettings {
 5187   7177   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5188   7178   
            session_token_mode: SessionTokenMode::Exclude,
 5189   7179   
            ..Default::default()
 5190   7180   
        };
 5191   7181   
        let identity = Credentials::for_tests().into();
 5192   7182   
        let signing_params = signing_params(&identity, settings);
 5193   7183   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5194   7184   
 5195   7185   
        assert_eq!(
 5196   7186   
            creq.values.signed_headers().to_string(),
 5197   7187   
            "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
 5198   7188   
        );
 5199   7189   
        assert_eq!(
 5200   7190   
            creq.header_values_for("x-amz-object-attributes"),
 5201   7191   
            "Checksum,ObjectSize",
 5202   7192   
        );
 5203   7193   
    }
 5204   7194   
 5205   7195   
    #[test]
 5206   7196   
    fn test_host_header_properly_handles_ports() {
 5207   7197   
        fn host_header_test_setup(endpoint: String) -> String {
 5208         -
            let mut req = test::v4::test_request("get-vanilla");
        7198  +
            let test = SigningSuiteTest::v4("get-vanilla");
        7199  +
            let mut req = test.request();
 5209   7200   
            req.uri = endpoint;
 5210   7201   
            let req = SignableRequest::from(&req);
 5211   7202   
            let settings = SigningSettings {
 5212   7203   
                payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5213   7204   
                session_token_mode: SessionTokenMode::Exclude,
 5214   7205   
                ..Default::default()
 5215   7206   
            };
 5216   7207   
            let identity = Credentials::for_tests().into();
 5217   7208   
            let signing_params = signing_params(&identity, settings);
 5218   7209   
            let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5219   7210   
            creq.header_values_for("host")
 5220   7211   
        }
 5221   7212   
 5222   7213   
        // HTTP request with 80 port should not be signed with that port
 5223   7214   
        let http_80_host_header = host_header_test_setup("http://localhost:80".into());
 5224   7215   
        assert_eq!(http_80_host_header, "localhost",);
 5225   7216   
 5226   7217   
        // HTTP request with non-80 port should be signed with that port
 5227   7218   
        let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
 5228   7219   
        assert_eq!(http_1234_host_header, "localhost:1234",);
 5229   7220   
 5230   7221   
        // HTTPS request with 443 port should not be signed with that port
 5231   7222   
        let https_443_host_header = host_header_test_setup("https://localhost:443".into());
 5232   7223   
        assert_eq!(https_443_host_header, "localhost",);
 5233   7224   
 5234   7225   
        // HTTPS request with non-443 port should be signed with that port
 5235   7226   
        let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
 5236   7227   
        assert_eq!(https_1234_host_header, "localhost:1234",);
 5237   7228   
    }
 5238   7229   
 5239   7230   
    #[test]
 5240   7231   
    fn test_set_xamz_sha_256() {
 5241         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7232  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7233  +
        let req = test.request();
 5242   7234   
        let req = SignableRequest::from(&req);
 5243   7235   
        let settings = SigningSettings {
 5244   7236   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5245   7237   
            session_token_mode: SessionTokenMode::Exclude,
 5246   7238   
            ..Default::default()
 5247   7239   
        };
 5248   7240   
        let identity = Credentials::for_tests().into();
 5249   7241   
        let mut signing_params = signing_params(&identity, settings);
 5250   7242   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5251   7243   
        assert_eq!(
 5252   7244   
            creq.values.content_sha256(),
 5253   7245   
            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 5254   7246   
        );
 5255   7247   
        // assert that the sha256 header was added
 5256   7248   
        assert_eq!(
 5257   7249   
            creq.values.signed_headers().as_str(),
 5258   7250   
            "host;x-amz-content-sha256;x-amz-date"
 5259   7251   
        );
 5260   7252   
 5261   7253   
        signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
 5262   7254   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5263   7255   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5264   7256   
    }
 5265   7257   
 5266   7258   
    #[test]
 5267   7259   
    fn test_unsigned_payload() {
 5268         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7260  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7261  +
        let mut req = test.request();
 5269   7262   
        req.set_body(SignableBody::UnsignedPayload);
 5270   7263   
        let req: SignableRequest<'_> = SignableRequest::from(&req);
 5271   7264   
 5272   7265   
        let settings = SigningSettings {
 5273   7266   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5274   7267   
            ..Default::default()
 5275   7268   
        };
 5276   7269   
        let identity = Credentials::for_tests().into();
 5277   7270   
        let signing_params = signing_params(&identity, settings);
 5278   7271   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5279   7272   
        assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
 5280   7273   
        assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
 5281   7274   
    }
 5282   7275   
 5283   7276   
    #[test]
 5284   7277   
    fn test_precomputed_payload() {
 5285   7278   
        let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
 5286         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7279  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7280  +
        let mut req = test.request();
 5287   7281   
        req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
 5288   7282   
        let req = SignableRequest::from(&req);
 5289   7283   
        let settings = SigningSettings {
 5290   7284   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5291   7285   
            ..Default::default()
 5292   7286   
        };
 5293   7287   
        let identity = Credentials::for_tests().into();
 5294   7288   
        let signing_params = signing_params(&identity, settings);
 5295   7289   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5296   7290   
        assert_eq!(creq.values.content_sha256(), payload_hash);
 5297   7291   
        assert!(creq.to_string().ends_with(payload_hash));
 5298   7292   
    }
 5299   7293   
 5300   7294   
    #[test]
 5301   7295   
    fn test_generate_scope() {
 5302   7296   
        let expected = "20150830/us-east-1/iam/aws4_request\n";
 5303   7297   
        let scope = SigningScope {
 5304   7298   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5305   7299   
            region: "us-east-1",
 5306   7300   
            service: "iam",
 5307   7301   
        };
 5308   7302   
        assert_eq!(format!("{}\n", scope), expected);
 5309   7303   
    }
 5310   7304   
 5311   7305   
    #[test]
 5312   7306   
    fn test_string_to_sign() {
 5313   7307   
        let time = parse_date_time("20150830T123600Z").unwrap();
 5314         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
 5315         -
        let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
        7308  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7309  +
        let creq = test.canonical_request(SignatureLocation::Headers);
        7310  +
        let expected_sts = test.string_to_sign(SignatureLocation::Headers);
 5316   7311   
        let encoded = sha256_hex_string(creq.as_bytes());
 5317   7312   
 5318   7313   
        let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
 5319   7314   
        assert_eq!(expected_sts, actual.to_string());
 5320   7315   
    }
 5321   7316   
 5322   7317   
    #[test]
 5323   7318   
    fn test_digest_of_canonical_request() {
 5324         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
        7319  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7320  +
        let creq = test.canonical_request(SignatureLocation::Headers);
 5325   7321   
        let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
 5326   7322   
        let actual = sha256_hex_string(creq.as_bytes());
 5327   7323   
        assert_eq!(expected, actual);
 5328   7324   
    }
 5329   7325   
 5330   7326   
    #[test]
 5331   7327   
    fn test_double_url_encode_path() {
 5332         -
        let req = test::v4::test_request("double-encode-path");
        7328  +
        let test = SigningSuiteTest::v4("double-encode-path");
        7329  +
        let req = test.request();
 5333   7330   
        let req = SignableRequest::from(&req);
 5334   7331   
        let identity = Credentials::for_tests().into();
 5335   7332   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5336   7333   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5337   7334   
 5338         -
        let expected = test::v4::test_canonical_request("double-encode-path");
        7335  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5339   7336   
        let actual = format!("{}", creq);
 5340   7337   
        assert_eq!(actual, expected);
 5341   7338   
    }
 5342   7339   
 5343   7340   
    #[test]
 5344   7341   
    fn test_double_url_encode() {
 5345         -
        let req = test::v4::test_request("double-url-encode");
        7342  +
        let test = SigningSuiteTest::v4("double-url-encode");
        7343  +
        let req = test.request();
 5346   7344   
        let req = SignableRequest::from(&req);
 5347   7345   
        let identity = Credentials::for_tests().into();
 5348   7346   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5349   7347   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5350         -
 5351         -
        let expected = test::v4::test_canonical_request("double-url-encode");
        7348  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5352   7349   
        let actual = format!("{}", creq);
 5353   7350   
        assert_eq!(actual, expected);
 5354   7351   
    }
 5355   7352   
 5356   7353   
    #[test]
 5357   7354   
    fn test_tilde_in_uri() {
 5358   7355   
        let req = http0::Request::builder()
 5359   7356   
            .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
 5360   7357   
        let req = SignableRequest::from(&req);
 5361   7358   
        let identity = Credentials::for_tests().into();
 5362   7359   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5363   7360   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5364   7361   
        assert_eq!(
 5365   7362   
            Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
 5366   7363   
            creq.params.as_deref(),
 5367   7364   
        );
 5368   7365   
    }
 5369   7366   
 5370   7367   
    #[test]
 5371   7368   
    fn test_signing_urls_with_percent_encoded_query_strings() {
 5372   7369   
        let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
 5373   7370   
        let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
 5374   7371   
 5375   7372   
        let mut query_writer = QueryWriter::new(&uri);
 5376   7373   
        query_writer.insert("list-type", "2");
 5377   7374   
        query_writer.insert("prefix", &all_printable_ascii_chars);
 5378   7375   
 5379   7376   
        let req = http0::Request::builder()
 5380   7377   
            .uri(query_writer.build_uri())
 5381   7378   
            .body("")
 5382   7379   
            .unwrap()
 5383   7380   
            .into();
 5384   7381   
        let req = SignableRequest::from(&req);
 5385   7382   
        let identity = Credentials::for_tests().into();
 5386   7383   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5387   7384   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5388   7385   
 5389   7386   
        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~";
 5390   7387   
        let actual = creq.params.unwrap();
 5391   7388   
        assert_eq!(expected, actual);
 5392   7389   
    }
 5393   7390   
 5394   7391   
    #[test]
 5395   7392   
    fn test_omit_session_token() {
 5396         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7393  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7394  +
        let req = test.request();
 5397   7395   
        let req = SignableRequest::from(&req);
 5398   7396   
        let settings = SigningSettings {
 5399   7397   
            session_token_mode: SessionTokenMode::Include,
 5400   7398   
            ..Default::default()
 5401   7399   
        };
 5402   7400   
        let identity = Credentials::for_tests_with_session_token().into();
 5403   7401   
        let mut signing_params = signing_params(&identity, settings);
 5404   7402   
 5405   7403   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5406   7404   
        assert_eq!(
 5407   7405   
            creq.values.signed_headers().as_str(),
 5408   7406   
            "host;x-amz-date;x-amz-security-token"
 5409   7407   
        );
 5410   7408   
        assert_eq!(
 5411   7409   
            creq.headers.get("x-amz-security-token").unwrap(),
 5412   7410   
            "notarealsessiontoken"
 5413   7411   
        );
 5414   7412   
 5415   7413   
        signing_params.set_session_token_mode(SessionTokenMode::Exclude);
 5416   7414   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5417   7415   
        assert_eq!(
 5418   7416   
            creq.headers.get("x-amz-security-token").unwrap(),
 5419   7417   
            "notarealsessiontoken"
 5420   7418   
        );
 5421   7419   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5422   7420   
    }
 5423   7421   
 5424   7422   
    // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
 5425   7423   
    #[test]
 5426   7424   
    fn non_presigning_header_exclusion() {
 5427   7425   
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
 5428   7426   
index c4bbbee..363fc2c 100644
 5429         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
        7427  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 5430   7428   
@@ -6,60 +6,62 @@
 5431   7429   
use super::error::SigningError;
 5432   7430   
use super::{PayloadChecksumKind, SignatureLocation};
 5433   7431   
use crate::http_request::canonical_request::header;
 5434   7432   
use crate::http_request::canonical_request::param;
 5435   7433   
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5436   7434   
use crate::http_request::error::CanonicalRequestError;
 5437   7435   
use crate::http_request::SigningParams;
 5438   7436   
use crate::sign::v4;
 5439   7437   
#[cfg(feature = "sigv4a")]
 5440   7438   
use crate::sign::v4a;
 5441   7439   
use crate::{SignatureVersion, SigningOutput};
 5442   7440   
use http0::Uri;
 5443   7441   
use std::borrow::Cow;
 5444   7442   
use std::fmt::{Debug, Formatter};
 5445   7443   
use std::str;
 5446   7444   
 5447   7445   
const LOG_SIGNABLE_BODY: &str = "LOG_SIGNABLE_BODY";
 5448   7446   
 5449   7447   
/// Represents all of the information necessary to sign an HTTP request.
 5450   7448   
#[derive(Debug)]
 5451   7449   
#[non_exhaustive]
 5452   7450   
pub struct SignableRequest<'a> {
 5453   7451   
    method: &'a str,
 5454   7452   
    uri: Uri,
 5455   7453   
    headers: Vec<(&'a str, &'a str)>,
 5456   7454   
    body: SignableBody<'a>,
 5457   7455   
}
 5458   7456   
 5459   7457   
impl<'a> SignableRequest<'a> {
 5460   7458   
    /// Creates a new `SignableRequest`.
        7459  +
    ///
        7460  +
    /// NOTE: The `uri` is expected to already in encoded form.
 5461   7461   
    pub fn new(
 5462   7462   
        method: &'a str,
 5463   7463   
        uri: impl Into<Cow<'a, str>>,
 5464   7464   
        headers: impl Iterator<Item = (&'a str, &'a str)>,
 5465   7465   
        body: SignableBody<'a>,
 5466   7466   
    ) -> Result<Self, SigningError> {
 5467   7467   
        let uri = uri
 5468   7468   
            .into()
 5469   7469   
            .parse()
 5470   7470   
            .map_err(|e| SigningError::from(CanonicalRequestError::from(e)))?;
 5471   7471   
        let headers = headers.collect();
 5472   7472   
        Ok(Self {
 5473   7473   
            method,
 5474   7474   
            uri,
 5475   7475   
            headers,
 5476   7476   
            body,
 5477   7477   
        })
 5478   7478   
    }
 5479   7479   
 5480   7480   
    /// Returns the signable URI
 5481   7481   
    pub(crate) fn uri(&self) -> &Uri {
 5482   7482   
        &self.uri
 5483   7483   
    }
 5484   7484   
 5485   7485   
    /// Returns the signable HTTP method
 5486   7486   
    pub(crate) fn method(&self) -> &str {
 5487   7487   
        self.method
 5488   7488   
    }
 5489   7489   
 5490   7490   
    /// Returns the request headers
 5491   7491   
@@ -478,436 +480,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 5492   7492   
        sensitive,
 5493   7493   
    });
 5494   7494   
}
 5495   7495   
 5496   7496   
// add signature to authorization header
 5497   7497   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 5498   7498   
fn build_authorization_header(
 5499   7499   
    access_key: &str,
 5500   7500   
    creq: &CanonicalRequest<'_>,
 5501   7501   
    sts: StringToSign<'_>,
 5502   7502   
    signature: &str,
 5503   7503   
    signature_version: SignatureVersion,
 5504   7504   
) -> String {
 5505   7505   
    let scope = match signature_version {
 5506   7506   
        SignatureVersion::V4 => sts.scope.to_string(),
 5507   7507   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 5508   7508   
    };
 5509   7509   
    format!(
 5510   7510   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 5511   7511   
        sts.algorithm,
 5512   7512   
        access_key,
 5513   7513   
        scope,
 5514   7514   
        creq.values.signed_headers().as_str(),
 5515   7515   
        signature
 5516   7516   
    )
 5517   7517   
}
 5518   7518   
#[cfg(test)]
 5519   7519   
mod tests {
 5520   7520   
    use crate::date_time::test_parsers::parse_date_time;
 5521   7521   
    use crate::http_request::sign::{add_header, SignableRequest};
        7522  +
    use crate::http_request::test::SigningSuiteTest;
 5522   7523   
    use crate::http_request::{
 5523         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        7524  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 5524   7525   
        SigningSettings,
 5525   7526   
    };
 5526   7527   
    use crate::sign::v4;
 5527   7528   
    use aws_credential_types::Credentials;
 5528   7529   
    use http0::{HeaderValue, Request};
 5529   7530   
    use pretty_assertions::assert_eq;
 5530   7531   
    use proptest::proptest;
 5531   7532   
    use std::borrow::Cow;
 5532   7533   
    use std::iter;
 5533         -
    use std::time::Duration;
 5534   7534   
 5535   7535   
    macro_rules! assert_req_eq {
 5536   7536   
        (http: $expected:expr, $actual:expr) => {
 5537   7537   
            let mut expected = ($expected).map(|_b|"body");
 5538   7538   
            let mut actual = ($actual).map(|_b|"body");
 5539   7539   
            make_headers_comparable(&mut expected);
 5540   7540   
            make_headers_comparable(&mut actual);
 5541   7541   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 5542   7542   
        };
 5543   7543   
        ($expected:tt, $actual:tt) => {
 5544   7544   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 5545   7545   
        };
 5546   7546   
    }
 5547   7547   
 5548   7548   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 5549   7549   
        for (_name, value) in request.headers_mut() {
 5550   7550   
            value.set_sensitive(false);
 5551   7551   
        }
 5552   7552   
    }
 5553   7553   
 5554         -
    #[test]
 5555         -
    fn test_sign_vanilla_with_headers() {
 5556         -
        let settings = SigningSettings::default();
 5557         -
        let identity = &Credentials::for_tests().into();
 5558         -
        let params = v4::SigningParams {
 5559         -
            identity,
 5560         -
            region: "us-east-1",
 5561         -
            name: "service",
 5562         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5563         -
            settings,
 5564         -
        }
 5565         -
        .into();
 5566         -
 5567         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5568         -
        let signable = SignableRequest::from(&original);
 5569         -
        let out = sign(signable, &params).unwrap();
 5570         -
        assert_eq!(
 5571         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 5572         -
            out.signature
 5573         -
        );
 5574         -
 5575         -
        let mut signed = original.as_http_request();
 5576         -
        out.output.apply_to_request_http0x(&mut signed);
 5577         -
 5578         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 5579         -
        assert_req_eq!(expected, signed);
 5580         -
    }
 5581         -
        7554  +
    // Sigv4A suite tests
 5582   7555   
    #[cfg(feature = "sigv4a")]
 5583         -
    mod sigv4a_tests {
 5584         -
        use super::*;
 5585         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5586         -
        use crate::http_request::{sign, test, SigningParams};
 5587         -
        use crate::sign::v4a;
 5588         -
        use p256::ecdsa::signature::{Signature, Verifier};
 5589         -
        use p256::ecdsa::{DerSignature, SigningKey};
 5590         -
        use pretty_assertions::assert_eq;
 5591         -
 5592         -
        fn new_v4a_signing_params_from_context(
 5593         -
            test_context: &'_ test::v4a::TestContext,
 5594         -
            signature_location: SignatureLocation,
 5595         -
        ) -> SigningParams<'_> {
 5596         -
            let mut params = v4a::SigningParams::from(test_context);
 5597         -
            params.settings.signature_location = signature_location;
 5598         -
 5599         -
            params.into()
 5600         -
        }
 5601         -
 5602         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 5603         -
            let tc = test::v4a::test_context(test_name);
 5604         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 5605         -
 5606         -
            let req = test::v4a::test_request(test_name);
 5607         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 5608         -
            let signable_req = SignableRequest::from(&req);
 5609         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        7556  +
    mod v4a_suite {
        7557  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 5610   7558   
 5611         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
 5612         -
 5613         -
            let expected_string_to_sign =
 5614         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 5615         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 5616         -
            let actual_string_to_sign = StringToSign::new_v4a(
 5617         -
                *params.time(),
 5618         -
                params.region_set().unwrap(),
 5619         -
                params.name(),
 5620         -
                hashed_creq,
 5621         -
            )
 5622         -
            .to_string();
 5623         -
 5624         -
            assert_eq!(
 5625         -
                expected_string_to_sign, actual_string_to_sign,
 5626         -
                "'string to sign' didn't match"
 5627         -
            );
 5628         -
 5629         -
            let out = sign(signable_req, &params).unwrap();
 5630         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 5631         -
            out.output
 5632         -
                .apply_to_request_http0x(&mut req.as_http_request());
 5633         -
 5634         -
            let creds = params.credentials().unwrap();
 5635         -
            let signing_key =
 5636         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 5637         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 5638         -
            let sig = sig
 5639         -
                .try_into()
 5640         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 5641         -
 5642         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 5643         -
            let peer_public_key = signing_key.verifying_key();
 5644         -
            let sts = actual_string_to_sign.as_bytes();
 5645         -
            peer_public_key.verify(sts, &sig).unwrap();
        7559  +
        #[test]
        7560  +
        fn test_get_header_key_duplicate() {
        7561  +
            run_test_suite_v4a("get-header-key-duplicate")
 5646   7562   
        }
 5647   7563   
 5648   7564   
        #[test]
 5649         -
        fn test_get_header_key_duplicate() {
 5650         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        7565  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7566  +
        fn test_get_header_value_multiline() {
        7567  +
            run_test_suite_v4a("get-header-value-multiline")
 5651   7568   
        }
 5652   7569   
 5653   7570   
        #[test]
 5654   7571   
        fn test_get_header_value_order() {
 5655         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        7572  +
            run_test_suite_v4a("get-header-value-order")
 5656   7573   
        }
 5657   7574   
 5658   7575   
        #[test]
 5659   7576   
        fn test_get_header_value_trim() {
 5660         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        7577  +
            run_test_suite_v4a("get-header-value-trim");
 5661   7578   
        }
 5662   7579   
 5663   7580   
        #[test]
 5664   7581   
        fn test_get_relative_normalized() {
 5665         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        7582  +
            run_test_suite_v4a("get-relative-normalized");
 5666   7583   
        }
 5667   7584   
 5668   7585   
        #[test]
 5669   7586   
        fn test_get_relative_relative_normalized() {
 5670         -
            run_v4a_test_suite(
 5671         -
                "get-relative-relative-normalized",
 5672         -
                SignatureLocation::Headers,
 5673         -
            );
        7587  +
            run_test_suite_v4a("get-relative-relative-normalized");
 5674   7588   
        }
 5675   7589   
 5676   7590   
        #[test]
 5677   7591   
        fn test_get_relative_relative_unnormalized() {
 5678         -
            run_v4a_test_suite(
 5679         -
                "get-relative-relative-unnormalized",
 5680         -
                SignatureLocation::Headers,
 5681         -
            );
        7592  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 5682   7593   
        }
 5683   7594   
 5684   7595   
        #[test]
 5685   7596   
        fn test_get_relative_unnormalized() {
 5686         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        7597  +
            run_test_suite_v4a("get-relative-unnormalized");
 5687   7598   
        }
 5688   7599   
 5689   7600   
        #[test]
 5690   7601   
        fn test_get_slash_dot_slash_normalized() {
 5691         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        7602  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 5692   7603   
        }
 5693   7604   
 5694   7605   
        #[test]
 5695   7606   
        fn test_get_slash_dot_slash_unnormalized() {
 5696         -
            run_v4a_test_suite(
 5697         -
                "get-slash-dot-slash-unnormalized",
 5698         -
                SignatureLocation::Headers,
 5699         -
            );
        7607  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 5700   7608   
        }
 5701   7609   
 5702   7610   
        #[test]
 5703   7611   
        fn test_get_slash_normalized() {
 5704         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        7612  +
            run_test_suite_v4a("get-slash-normalized");
 5705   7613   
        }
 5706   7614   
 5707   7615   
        #[test]
 5708   7616   
        fn test_get_slash_pointless_dot_normalized() {
 5709         -
            run_v4a_test_suite(
 5710         -
                "get-slash-pointless-dot-normalized",
 5711         -
                SignatureLocation::Headers,
 5712         -
            );
        7617  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 5713   7618   
        }
 5714   7619   
 5715   7620   
        #[test]
 5716   7621   
        fn test_get_slash_pointless_dot_unnormalized() {
 5717         -
            run_v4a_test_suite(
 5718         -
                "get-slash-pointless-dot-unnormalized",
 5719         -
                SignatureLocation::Headers,
 5720         -
            );
        7622  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 5721   7623   
        }
 5722   7624   
 5723   7625   
        #[test]
 5724   7626   
        fn test_get_slash_unnormalized() {
 5725         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        7627  +
            run_test_suite_v4a("get-slash-unnormalized");
 5726   7628   
        }
 5727   7629   
 5728   7630   
        #[test]
 5729   7631   
        fn test_get_slashes_normalized() {
 5730         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        7632  +
            run_test_suite_v4a("get-slashes-normalized");
 5731   7633   
        }
 5732   7634   
 5733   7635   
        #[test]
 5734   7636   
        fn test_get_slashes_unnormalized() {
 5735         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        7637  +
            run_test_suite_v4a("get-slashes-unnormalized");
        7638  +
        }
        7639  +
        7640  +
        #[test]
        7641  +
        #[ignore = "relies on single encode of path segments"]
        7642  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7643  +
        // skipped until we add control over double_uri_encode in context.json
        7644  +
        fn test_get_space_normalized() {
        7645  +
            run_test_suite_v4a("get-space-normalized");
        7646  +
        }
        7647  +
        7648  +
        #[test]
        7649  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7650  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7651  +
        fn test_get_space_unnormalized() {
        7652  +
            run_test_suite_v4a("get-space-unnormalized");
 5736   7653   
        }
 5737   7654   
 5738   7655   
        #[test]
 5739   7656   
        fn test_get_unreserved() {
 5740         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        7657  +
            run_test_suite_v4a("get-unreserved");
        7658  +
        }
        7659  +
        7660  +
        #[test]
        7661  +
        #[ignore = "httparse fails on invalid uri character"]
        7662  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7663  +
        fn test_get_utf8() {
        7664  +
            run_test_suite_v4a("get-utf8");
 5741   7665   
        }
 5742   7666   
 5743   7667   
        #[test]
 5744   7668   
        fn test_get_vanilla() {
 5745         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        7669  +
            run_test_suite_v4a("get-vanilla");
 5746   7670   
        }
 5747   7671   
 5748   7672   
        #[test]
 5749   7673   
        fn test_get_vanilla_empty_query_key() {
 5750         -
            run_v4a_test_suite(
 5751         -
                "get-vanilla-empty-query-key",
 5752         -
                SignatureLocation::QueryParams,
 5753         -
            );
        7674  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 5754   7675   
        }
 5755   7676   
 5756   7677   
        #[test]
 5757   7678   
        fn test_get_vanilla_query() {
 5758         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        7679  +
            run_test_suite_v4a("get-vanilla-query");
        7680  +
        }
        7681  +
        7682  +
        #[test]
        7683  +
        fn test_get_vanilla_query_order_encoded() {
        7684  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 5759   7685   
        }
 5760   7686   
 5761   7687   
        #[test]
 5762   7688   
        fn test_get_vanilla_query_order_key_case() {
 5763         -
            run_v4a_test_suite(
 5764         -
                "get-vanilla-query-order-key-case",
 5765         -
                SignatureLocation::QueryParams,
 5766         -
            );
        7689  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 5767   7690   
        }
 5768   7691   
 5769   7692   
        #[test]
 5770   7693   
        fn test_get_vanilla_query_unreserved() {
 5771         -
            run_v4a_test_suite(
 5772         -
                "get-vanilla-query-unreserved",
 5773         -
                SignatureLocation::QueryParams,
 5774         -
            );
        7694  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        7695  +
        }
        7696  +
        7697  +
        #[test]
        7698  +
        #[ignore = "httparse fails on invalid uri character"]
        7699  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7700  +
        fn test_get_vanilla_utf8_query() {
        7701  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 5775   7702   
        }
 5776   7703   
 5777   7704   
        #[test]
 5778   7705   
        fn test_get_vanilla_with_session_token() {
 5779         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        7706  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 5780   7707   
        }
 5781   7708   
 5782   7709   
        #[test]
 5783   7710   
        fn test_post_header_key_case() {
 5784         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        7711  +
            run_test_suite_v4a("post-header-key-case");
 5785   7712   
        }
 5786   7713   
 5787   7714   
        #[test]
 5788   7715   
        fn test_post_header_key_sort() {
 5789         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        7716  +
            run_test_suite_v4a("post-header-key-sort");
 5790   7717   
        }
 5791   7718   
 5792   7719   
        #[test]
 5793   7720   
        fn test_post_header_value_case() {
 5794         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        7721  +
            run_test_suite_v4a("post-header-value-case");
 5795   7722   
        }
 5796   7723   
 5797   7724   
        #[test]
 5798   7725   
        fn test_post_sts_header_after() {
 5799         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        7726  +
            run_test_suite_v4a("post-sts-header-after");
 5800   7727   
        }
 5801   7728   
 5802   7729   
        #[test]
 5803   7730   
        fn test_post_sts_header_before() {
 5804         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        7731  +
            run_test_suite_v4a("post-sts-header-before");
 5805   7732   
        }
 5806   7733   
 5807   7734   
        #[test]
 5808   7735   
        fn test_post_vanilla() {
 5809         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        7736  +
            run_test_suite_v4a("post-vanilla");
 5810   7737   
        }
 5811   7738   
 5812   7739   
        #[test]
 5813   7740   
        fn test_post_vanilla_empty_query_value() {
 5814         -
            run_v4a_test_suite(
 5815         -
                "post-vanilla-empty-query-value",
 5816         -
                SignatureLocation::QueryParams,
 5817         -
            );
        7741  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 5818   7742   
        }
 5819   7743   
 5820   7744   
        #[test]
 5821   7745   
        fn test_post_vanilla_query() {
 5822         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        7746  +
            run_test_suite_v4a("post-vanilla-query");
 5823   7747   
        }
 5824   7748   
 5825   7749   
        #[test]
 5826   7750   
        fn test_post_x_www_form_urlencoded() {
 5827         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        7751  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 5828   7752   
        }
 5829   7753   
 5830   7754   
        #[test]
 5831   7755   
        fn test_post_x_www_form_urlencoded_parameters() {
 5832         -
            run_v4a_test_suite(
 5833         -
                "post-x-www-form-urlencoded-parameters",
 5834         -
                SignatureLocation::QueryParams,
 5835         -
            );
        7756  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 5836   7757   
        }
 5837   7758   
    }
 5838   7759   
 5839   7760   
    #[test]
 5840   7761   
    fn test_sign_url_escape() {
 5841         -
        let test = "double-encode-path";
        7762  +
        let test = SigningSuiteTest::v4("double-encode-path");
 5842   7763   
        let settings = SigningSettings::default();
 5843   7764   
        let identity = &Credentials::for_tests().into();
 5844   7765   
        let params = v4::SigningParams {
 5845   7766   
            identity,
 5846   7767   
            region: "us-east-1",
 5847   7768   
            name: "service",
 5848   7769   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5849   7770   
            settings,
 5850   7771   
        }
 5851   7772   
        .into();
 5852   7773   
 5853         -
        let original = test::v4::test_request(test);
        7774  +
        let original = test.request();
 5854   7775   
        let signable = SignableRequest::from(&original);
 5855   7776   
        let out = sign(signable, &params).unwrap();
 5856   7777   
        assert_eq!(
 5857   7778   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 5858   7779   
            out.signature
 5859   7780   
        );
 5860   7781   
 5861   7782   
        let mut signed = original.as_http_request();
 5862   7783   
        out.output.apply_to_request_http0x(&mut signed);
 5863   7784   
 5864         -
        let expected = test::v4::test_signed_request(test);
 5865         -
        assert_req_eq!(expected, signed);
 5866         -
    }
 5867         -
 5868         -
    #[test]
 5869         -
    fn test_sign_vanilla_with_query_params() {
 5870         -
        let settings = SigningSettings {
 5871         -
            signature_location: SignatureLocation::QueryParams,
 5872         -
            expires_in: Some(Duration::from_secs(35)),
 5873         -
            ..Default::default()
 5874         -
        };
 5875         -
        let identity = &Credentials::for_tests().into();
 5876         -
        let params = v4::SigningParams {
 5877         -
            identity,
 5878         -
            region: "us-east-1",
 5879         -
            name: "service",
 5880         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5881         -
            settings,
 5882         -
        }
 5883         -
        .into();
 5884         -
 5885         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5886         -
        let signable = SignableRequest::from(&original);
 5887         -
        let out = sign(signable, &params).unwrap();
 5888         -
        assert_eq!(
 5889         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 5890         -
            out.signature
 5891         -
        );
 5892         -
 5893         -
        let mut signed = original.as_http_request();
 5894         -
        out.output.apply_to_request_http0x(&mut signed);
 5895         -
 5896         -
        let expected =
 5897         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        7785  +
        let expected = test.signed_request(SignatureLocation::Headers);
 5898   7786   
        assert_req_eq!(expected, signed);
 5899   7787   
    }
 5900   7788   
 5901   7789   
    #[test]
 5902   7790   
    fn test_sign_headers_utf8() {
 5903   7791   
        let settings = SigningSettings::default();
 5904   7792   
        let identity = &Credentials::for_tests().into();
 5905   7793   
        let params = v4::SigningParams {
 5906   7794   
            identity,
 5907   7795   
            region: "us-east-1",
 5908   7796   
            name: "service",
 5909   7797   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5910   7798   
            settings,
 5911   7799   
        }
 5912   7800   
        .into();
 5913   7801   
 5914   7802   
        let original = http0::Request::builder()
 5915   7803   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 5916   7804   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 5917   7805   
            .body("")
 5918   7806   
            .unwrap()
 5919   7807   
            .into();
 5920   7808   
        let signable = SignableRequest::from(&original);
 5921   7809   
        let out = sign(signable, &params).unwrap();
 5922   7810   
        assert_eq!(
 5923   7811   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 5924   7812   
            out.signature
 5925   7813   
        );
 5926   7814   
 5927   7815   
        let mut signed = original.as_http_request();
 5928   7816   
@@ -1138,31 +1028,236 @@ mod tests {
 5929   7817   
        let mut request = http::Request::builder()
 5930   7818   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 5931   7819   
            .body("")
 5932   7820   
            .unwrap();
 5933   7821   
 5934   7822   
        instructions.apply_to_request_http1x(&mut request);
 5935   7823   
 5936   7824   
        assert_eq!(
 5937   7825   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 5938   7826   
            request.uri().path_and_query().unwrap().to_string()
 5939   7827   
        );
 5940   7828   
    }
 5941   7829   
 5942   7830   
    #[test]
 5943   7831   
    fn test_debug_signable_body() {
 5944   7832   
        let sut = SignableBody::Bytes(b"hello signable body");
 5945   7833   
        assert_eq!(
 5946   7834   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 5947   7835   
            format!("{sut:?}")
 5948   7836   
        );
 5949   7837   
 5950   7838   
        let sut = SignableBody::UnsignedPayload;
 5951   7839   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 5952   7840   
 5953   7841   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 5954   7842   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 5955   7843   
 5956   7844   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 5957   7845   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 5958   7846   
    }
        7847  +
        7848  +
    // v4 test suite
        7849  +
    mod v4_suite {
        7850  +
        use crate::http_request::test::run_test_suite_v4;
        7851  +
        7852  +
        #[test]
        7853  +
        fn test_get_header_key_duplicate() {
        7854  +
            run_test_suite_v4("get-header-key-duplicate");
        7855  +
        }
        7856  +
        7857  +
        #[test]
        7858  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7859  +
        fn test_get_header_value_multiline() {
        7860  +
            run_test_suite_v4("get-header-value-multiline");
        7861  +
        }
        7862  +
        7863  +
        #[test]
        7864  +
        fn test_get_header_value_order() {
        7865  +
            run_test_suite_v4("get-header-value-order");
        7866  +
        }
        7867  +
        7868  +
        #[test]
        7869  +
        fn test_get_header_value_trim() {
        7870  +
            run_test_suite_v4("get-header-value-trim");
        7871  +
        }
        7872  +
        7873  +
        #[test]
        7874  +
        fn test_get_relative_normalized() {
        7875  +
            run_test_suite_v4("get-relative-normalized");
        7876  +
        }
        7877  +
        7878  +
        #[test]
        7879  +
        fn test_get_relative_relative_normalized() {
        7880  +
            run_test_suite_v4("get-relative-relative-normalized");
        7881  +
        }
        7882  +
        7883  +
        #[test]
        7884  +
        fn test_get_relative_relative_unnormalized() {
        7885  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        7886  +
        }
        7887  +
        7888  +
        #[test]
        7889  +
        fn test_get_relative_unnormalized() {
        7890  +
            run_test_suite_v4("get-relative-unnormalized");
        7891  +
        }
        7892  +
        7893  +
        #[test]
        7894  +
        fn test_get_slash_dot_slash_normalized() {
        7895  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        7896  +
        }
        7897  +
        7898  +
        #[test]
        7899  +
        fn test_get_slash_dot_slash_unnormalized() {
        7900  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        7901  +
        }
        7902  +
        7903  +
        #[test]
        7904  +
        fn test_get_slash_normalized() {
        7905  +
            run_test_suite_v4("get-slash-normalized");
        7906  +
        }
        7907  +
        7908  +
        #[test]
        7909  +
        fn test_get_slash_pointless_dot_normalized() {
        7910  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        7911  +
        }
        7912  +
        7913  +
        #[test]
        7914  +
        fn test_get_slash_pointless_dot_unnormalized() {
        7915  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        7916  +
        }
        7917  +
        7918  +
        #[test]
        7919  +
        fn test_get_slash_unnormalized() {
        7920  +
            run_test_suite_v4("get-slash-unnormalized");
        7921  +
        }
        7922  +
        7923  +
        #[test]
        7924  +
        fn test_get_slashes_normalized() {
        7925  +
            run_test_suite_v4("get-slashes-normalized");
        7926  +
        }
        7927  +
        7928  +
        #[test]
        7929  +
        fn test_get_slashes_unnormalized() {
        7930  +
            run_test_suite_v4("get-slashes-unnormalized");
        7931  +
        }
        7932  +
        7933  +
        #[test]
        7934  +
        #[ignore = "relies on single encode of path segments"]
        7935  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7936  +
        // skipped until we add control over double_uri_encode in context.json
        7937  +
        fn test_get_space_normalized() {
        7938  +
            run_test_suite_v4("get-space-normalized");
        7939  +
        }
        7940  +
        7941  +
        #[test]
        7942  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7943  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7944  +
        fn test_get_space_unnormalized() {
        7945  +
            run_test_suite_v4("get-space-unnormalized");
        7946  +
        }
        7947  +
        7948  +
        #[test]
        7949  +
        fn test_get_unreserved() {
        7950  +
            run_test_suite_v4("get-unreserved");
        7951  +
        }
        7952  +
        7953  +
        #[test]
        7954  +
        #[ignore = "httparse fails on invalid uri character"]
        7955  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7956  +
        fn test_get_utf8() {
        7957  +
            run_test_suite_v4("get-utf8");
        7958  +
        }
        7959  +
        7960  +
        #[test]
        7961  +
        fn test_get_vanilla() {
        7962  +
            run_test_suite_v4("get-vanilla");
        7963  +
        }
        7964  +
        7965  +
        #[test]
        7966  +
        fn test_get_vanilla_empty_query_key() {
        7967  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        7968  +
        }
        7969  +
        7970  +
        #[test]
        7971  +
        fn test_get_vanilla_query() {
        7972  +
            run_test_suite_v4("get-vanilla-query");
        7973  +
        }
        7974  +
        7975  +
        #[test]
        7976  +
        fn test_get_vanilla_query_order_encoded() {
        7977  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        7978  +
        }
        7979  +
        7980  +
        #[test]
        7981  +
        fn test_get_vanilla_query_order_key_case() {
        7982  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        7983  +
        }
        7984  +
        7985  +
        #[test]
        7986  +
        fn test_get_vanilla_query_unreserved() {
        7987  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        7988  +
        }
        7989  +
        7990  +
        #[test]
        7991  +
        #[ignore = "httparse fails on invalid uri character"]
        7992  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7993  +
        fn test_get_vanilla_utf8_query() {
        7994  +
            run_test_suite_v4("get-vanilla-utf8-query");
        7995  +
        }
        7996  +
        7997  +
        #[test]
        7998  +
        fn test_get_vanilla_with_session_token() {
        7999  +
            run_test_suite_v4("get-vanilla-with-session-token");
        8000  +
        }
        8001  +
        8002  +
        #[test]
        8003  +
        fn test_post_header_key_case() {
        8004  +
            run_test_suite_v4("post-header-key-case");
        8005  +
        }
        8006  +
        8007  +
        #[test]
        8008  +
        fn test_post_header_key_sort() {
        8009  +
            run_test_suite_v4("post-header-key-sort");
        8010  +
        }
        8011  +
        8012  +
        #[test]
        8013  +
        fn test_post_header_value_case() {
        8014  +
            run_test_suite_v4("post-header-value-case");
        8015  +
        }
        8016  +
        8017  +
        #[test]
        8018  +
        fn test_post_sts_header_after() {
        8019  +
            run_test_suite_v4("post-sts-header-after");
        8020  +
        }
        8021  +
        8022  +
        #[test]
        8023  +
        fn test_post_sts_header_before() {
        8024  +
            run_test_suite_v4("post-sts-header-before");
        8025  +
        }
        8026  +
        8027  +
        #[test]
        8028  +
        fn test_post_vanilla() {
        8029  +
            run_test_suite_v4("post-vanilla");
        8030  +
        }
        8031  +
        8032  +
        #[test]
        8033  +
        fn test_post_vanilla_empty_query_value() {
        8034  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        8035  +
        }
        8036  +
        8037  +
        #[test]
        8038  +
        fn test_post_vanilla_query() {
        8039  +
            run_test_suite_v4("post-vanilla-query");
        8040  +
        }
        8041  +
        8042  +
        #[test]
        8043  +
        fn test_post_x_www_form_urlencoded() {
        8044  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        8045  +
        }
        8046  +
        8047  +
        #[test]
        8048  +
        fn test_post_x_www_form_urlencoded_parameters() {
        8049  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        8050  +
        }
        8051  +
    }
 5959   8052   
}
 5960   8053   
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
 5961   8054   
index be6c496..86eec20 100644
 5962         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        8055  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 5963   8056   
@@ -1,242 +1,453 @@
 5964   8057   
/*
 5965   8058   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 5966   8059   
 * SPDX-License-Identifier: Apache-2.0
 5967   8060   
 */
 5968   8061   
 5969   8062   
//! Functions shared between the tests of several modules.
 5970   8063   
 5971         -
use crate::http_request::{SignableBody, SignableRequest};
        8064  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        8065  +
use crate::http_request::{
        8066  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        8067  +
    SigningSettings,
        8068  +
};
        8069  +
use aws_credential_types::Credentials;
        8070  +
use aws_smithy_runtime_api::client::identity::Identity;
 5972   8071   
use http0::{Method, Uri};
        8072  +
use std::borrow::Cow;
 5973   8073   
use std::error::Error as StdError;
        8074  +
use std::time::{Duration, SystemTime};
        8075  +
use time::format_description::well_known::Rfc3339;
        8076  +
use time::OffsetDateTime;
        8077  +
        8078  +
/// Common test suite collection
        8079  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        8080  +
enum Collection {
        8081  +
    V4,
        8082  +
    V4A,
        8083  +
}
 5974   8084   
 5975         -
pub(crate) mod v4 {
 5976         -
    use super::*;
        8085  +
/// A test from the common CRT test suite
        8086  +
#[derive(Debug, Clone)]
        8087  +
pub(crate) struct SigningSuiteTest {
        8088  +
    test_name: &'static str,
        8089  +
    collection: Collection,
        8090  +
}
 5977   8091   
 5978         -
    fn path(name: &str, ext: &str) -> String {
 5979         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        8092  +
impl SigningSuiteTest {
        8093  +
    /// Create a new test from the V4 test suite
        8094  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        8095  +
        Self {
        8096  +
            test_name,
        8097  +
            collection: Collection::V4,
 5980   8098   
        }
 5981         -
 5982         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 5983         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 5984         -
        read(&path(name, "creq")).trim().to_string()
 5985   8099   
    }
 5986   8100   
 5987         -
    pub(crate) fn test_sts(name: &str) -> String {
 5988         -
        read(&path(name, "sts"))
        8101  +
    /// Create a new test from the V4a test suite
        8102  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        8103  +
        Self {
        8104  +
            test_name,
        8105  +
            collection: Collection::V4A,
 5989   8106   
        }
 5990         -
 5991         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 5992         -
        test_parsed_request(name, "req")
 5993   8107   
    }
 5994   8108   
 5995         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 5996         -
        test_parsed_request(name, "sreq")
        8109  +
    /// Get the path to a file in this test suite directory
        8110  +
    fn path(&self, filename: &str) -> String {
        8111  +
        let dir = match self.collection {
        8112  +
            Collection::V4 => "v4",
        8113  +
            Collection::V4A => "v4a",
        8114  +
        };
        8115  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 5997   8116   
    }
 5998   8117   
 5999         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 6000         -
        test_parsed_request(name, "qpsreq")
        8118  +
    /// Get the HTTP request for the test
        8119  +
    pub(crate) fn request(&self) -> TestRequest {
        8120  +
        test_parsed_request(&self.path("request.txt"))
 6001   8121   
    }
 6002   8122   
 6003         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 6004         -
        let path = path(name, ext);
 6005         -
        match parse_request(read(&path).as_bytes()) {
 6006         -
            Ok(parsed) => parsed,
 6007         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        8123  +
    /// Get the signed HTTP request for the test
        8124  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        8125  +
        match signature_location {
        8126  +
            SignatureLocation::QueryParams => {
        8127  +
                test_parsed_request(&self.path("query-signed-request.txt"))
 6008   8128   
            }
        8129  +
            SignatureLocation::Headers => {
        8130  +
                test_parsed_request(&self.path("header-signed-request.txt"))
 6009   8131   
            }
 6010         -
 6011         -
    #[test]
 6012         -
    fn test_parse() {
 6013         -
        test_request("post-header-key-case");
 6014   8132   
        }
 6015         -
 6016         -
    #[test]
 6017         -
    fn test_read_query_params() {
 6018         -
        test_request("get-vanilla-query-order-key-case");
 6019   8133   
    }
 6020         -
}
 6021         -
 6022         -
#[cfg(feature = "sigv4a")]
 6023         -
pub(crate) mod v4a {
 6024         -
    use super::*;
 6025         -
    use crate::http_request::{
 6026         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 6027         -
    };
 6028         -
    use aws_credential_types::Credentials;
 6029         -
    use aws_smithy_runtime_api::client::identity::Identity;
 6030         -
    use serde_derive::Deserialize;
 6031         -
    use std::time::{Duration, SystemTime};
 6032         -
    use time::format_description::well_known::Rfc3339;
 6033         -
    use time::OffsetDateTime;
 6034   8134   
 6035         -
    fn path(test_name: &str, definition_name: &str) -> String {
 6036         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        8135  +
    /// Get the canonical request for the test
        8136  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        8137  +
        match signature_location {
        8138  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        8139  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
 6037   8140   
        }
 6038         -
 6039         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6040         -
        test_parsed_request(&path(name, "request"))
 6041   8141   
    }
 6042   8142   
 6043         -
    pub(crate) fn test_canonical_request(
 6044         -
        name: &str,
 6045         -
        signature_location: SignatureLocation,
 6046         -
    ) -> String {
        8143  +
    /// Get the string to sign for the test
        8144  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
 6047   8145   
        match signature_location {
 6048         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 6049         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        8146  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        8147  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 6050   8148   
        }
 6051   8149   
    }
 6052   8150   
 6053         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
        8151  +
    /// Get the signature for the test
        8152  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
 6054   8153   
        match signature_location {
 6055         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 6056         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        8154  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        8155  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        8156  +
        }
 6057   8157   
    }
        8158  +
        8159  +
    /// Get the test context for the test
        8160  +
    pub(crate) fn context(&self) -> TestContext {
        8161  +
        let context = read(&self.path("context.json"));
        8162  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        8163  +
        tc_builder.build()
 6058   8164   
    }
        8165  +
}
 6059   8166   
 6060         -
    fn test_parsed_request(path: &str) -> TestRequest {
        8167  +
fn test_parsed_request(path: &str) -> TestRequest {
 6061   8168   
    match parse_request(read(path).as_bytes()) {
 6062   8169   
        Ok(parsed) => parsed,
 6063   8170   
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 6064   8171   
    }
 6065         -
    }
        8172  +
}
 6066   8173   
 6067         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 6068         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 6069         -
        let context = read(&path);
 6070         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 6071         -
        tc_builder.build()
 6072         -
    }
        8174  +
fn new_v4_signing_params_from_context(
        8175  +
    test_context: &'_ TestContext,
        8176  +
    signature_location: SignatureLocation,
        8177  +
) -> crate::http_request::SigningParams<'_> {
        8178  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        8179  +
    params.settings.signature_location = signature_location;
        8180  +
    params.into()
        8181  +
}
        8182  +
        8183  +
/// Run the given test from the v4 suite for both header and query
        8184  +
/// signature locations
        8185  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        8186  +
    run_v4_test(test_name, SignatureLocation::Headers);
        8187  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        8188  +
}
        8189  +
        8190  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        8191  +
    assert_eq!(expected.scheme(), actual.scheme());
        8192  +
    assert_eq!(expected.authority(), actual.authority());
        8193  +
    assert_eq!(expected.path(), actual.path());
        8194  +
        8195  +
    // query params may be out of order
        8196  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8197  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        8198  +
    expected_params.sort();
        8199  +
        8200  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8201  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        8202  +
    actual_params.sort();
        8203  +
        8204  +
    assert_eq!(expected_params, actual_params);
        8205  +
}
 6073   8206   
 6074         -
    pub(crate) struct TestContext {
        8207  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        8208  +
    let expected = expected.as_http_request();
        8209  +
    let actual = actual;
        8210  +
    assert_eq!(expected.method(), actual.method());
        8211  +
    assert_eq!(
        8212  +
        expected.headers().len(),
        8213  +
        actual.headers().len(),
        8214  +
        "extra or missing headers"
        8215  +
    );
        8216  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        8217  +
    assert_uri_eq(expected.uri(), actual.uri());
        8218  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        8219  +
}
        8220  +
        8221  +
/// Run the given test from the v4 suite for the given signature location
        8222  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        8223  +
    let test = SigningSuiteTest::v4(test_name);
        8224  +
    let tc = test.context();
        8225  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        8226  +
        8227  +
    let req = test.request();
        8228  +
    let expected_creq = test.canonical_request(signature_location);
        8229  +
    let signable_req = SignableRequest::from(&req);
        8230  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8231  +
        8232  +
    // check canonical request
        8233  +
    assert_eq!(
        8234  +
        expected_creq,
        8235  +
        actual_creq.to_string(),
        8236  +
        "canonical request didn't match (signature location: {signature_location:?})"
        8237  +
    );
        8238  +
        8239  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        8240  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8241  +
    let actual_string_to_sign = StringToSign::new_v4(
        8242  +
        *params.time(),
        8243  +
        params.region().unwrap(),
        8244  +
        params.name(),
        8245  +
        hashed_creq,
        8246  +
    )
        8247  +
    .to_string();
        8248  +
        8249  +
    // check string to sign
        8250  +
    assert_eq!(
        8251  +
        expected_string_to_sign, actual_string_to_sign,
        8252  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        8253  +
    );
        8254  +
        8255  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        8256  +
    let mut signed = req.as_http_request();
        8257  +
    out.output.apply_to_request_http0x(&mut signed);
        8258  +
        8259  +
    // check signature
        8260  +
    assert_eq!(
        8261  +
        test.signature(signature_location),
        8262  +
        out.signature,
        8263  +
        "signature didn't match (signature location: {signature_location:?})"
        8264  +
    );
        8265  +
        8266  +
    let expected = test.signed_request(signature_location);
        8267  +
    assert_requests_eq(expected, signed);
        8268  +
}
        8269  +
        8270  +
/// Test suite context.json
        8271  +
pub(crate) struct TestContext {
 6075   8272   
    pub(crate) identity: Identity,
 6076   8273   
    pub(crate) expiration_in_seconds: u64,
 6077   8274   
    pub(crate) normalize: bool,
 6078   8275   
    pub(crate) region: String,
 6079   8276   
    pub(crate) service: String,
 6080   8277   
    pub(crate) timestamp: String,
 6081   8278   
    pub(crate) omit_session_token: bool,
 6082   8279   
    pub(crate) sign_body: bool,
 6083         -
    }
 6084         -
 6085         -
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 6086         -
        fn from(tc: &'a TestContext) -> Self {
 6087         -
            crate::sign::v4a::SigningParams {
 6088         -
                identity: &tc.identity,
 6089         -
                region_set: &tc.region,
 6090         -
                name: &tc.service,
 6091         -
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 6092         -
                    .unwrap()
 6093         -
                    .into(),
 6094         -
                settings: SigningSettings {
 6095         -
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6096         -
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 6097         -
                    uri_path_normalization_mode: tc.normalize.into(),
 6098         -
                    session_token_mode: if tc.omit_session_token {
 6099         -
                        SessionTokenMode::Exclude
 6100         -
                    } else {
 6101         -
                        SessionTokenMode::Include
 6102         -
                    },
 6103         -
                    payload_checksum_kind: if tc.sign_body {
 6104         -
                        PayloadChecksumKind::XAmzSha256
 6105         -
                    } else {
 6106         -
                        PayloadChecksumKind::NoHeader
 6107         -
                    },
 6108         -
                    ..Default::default()
 6109         -
                },
 6110         -
            }
 6111         -
        }
 6112         -
    }
        8280  +
}
 6113   8281   
 6114         -
    // Serde has limitations requiring this odd workaround.
 6115         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 6116         -
    fn return_true() -> bool {
        8282  +
// Serde has limitations requiring this odd workaround.
        8283  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        8284  +
fn return_true() -> bool {
 6117   8285   
    true
 6118         -
    }
        8286  +
}
 6119   8287   
 6120         -
    #[derive(Deserialize)]
 6121         -
    pub(crate) struct TestContextBuilder {
        8288  +
#[derive(serde_derive::Deserialize)]
        8289  +
pub(crate) struct TestContextBuilder {
 6122   8290   
    credentials: TestContextCreds,
 6123   8291   
    expiration_in_seconds: u64,
 6124   8292   
    normalize: bool,
 6125   8293   
    region: String,
 6126   8294   
    service: String,
 6127   8295   
    timestamp: String,
 6128   8296   
    #[serde(default)]
 6129   8297   
    omit_session_token: bool,
 6130   8298   
    #[serde(default = "return_true")]
 6131   8299   
    sign_body: bool,
 6132         -
    }
        8300  +
}
 6133   8301   
 6134         -
    impl TestContextBuilder {
        8302  +
impl TestContextBuilder {
 6135   8303   
    pub(crate) fn build(self) -> TestContext {
 6136   8304   
        let identity = Identity::new(
 6137   8305   
            Credentials::from_keys(
 6138   8306   
                &self.credentials.access_key_id,
 6139   8307   
                &self.credentials.secret_access_key,
 6140   8308   
                self.credentials.token.clone(),
 6141   8309   
            ),
 6142   8310   
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 6143   8311   
        );
 6144   8312   
 6145   8313   
        TestContext {
 6146   8314   
            identity,
 6147   8315   
            expiration_in_seconds: self.expiration_in_seconds,
 6148   8316   
            normalize: self.normalize,
 6149   8317   
            region: self.region,
 6150   8318   
            service: self.service,
 6151   8319   
            timestamp: self.timestamp,
 6152   8320   
            omit_session_token: self.omit_session_token,
 6153   8321   
            sign_body: self.sign_body,
 6154   8322   
        }
 6155   8323   
    }
 6156         -
    }
        8324  +
}
 6157   8325   
 6158         -
    #[derive(Deserialize)]
 6159         -
    pub(crate) struct TestContextCreds {
        8326  +
#[derive(serde_derive::Deserialize)]
        8327  +
pub(crate) struct TestContextCreds {
 6160   8328   
    access_key_id: String,
 6161   8329   
    secret_access_key: String,
 6162   8330   
    token: Option<String>,
        8331  +
}
        8332  +
        8333  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        8334  +
    fn from(tc: &'a TestContext) -> Self {
        8335  +
        crate::sign::v4::SigningParams {
        8336  +
            identity: &tc.identity,
        8337  +
            region: &tc.region,
        8338  +
            name: &tc.service,
        8339  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8340  +
                .unwrap()
        8341  +
                .into(),
        8342  +
            settings: SigningSettings {
        8343  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8344  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8345  +
                uri_path_normalization_mode: tc.normalize.into(),
        8346  +
                session_token_mode: if tc.omit_session_token {
        8347  +
                    SessionTokenMode::Exclude
        8348  +
                } else {
        8349  +
                    SessionTokenMode::Include
        8350  +
                },
        8351  +
                payload_checksum_kind: if tc.sign_body {
        8352  +
                    PayloadChecksumKind::XAmzSha256
        8353  +
                } else {
        8354  +
                    PayloadChecksumKind::NoHeader
        8355  +
                },
        8356  +
                ..Default::default()
        8357  +
            },
        8358  +
        }
        8359  +
    }
        8360  +
}
        8361  +
        8362  +
#[cfg(feature = "sigv4a")]
        8363  +
pub(crate) mod v4a {
        8364  +
    use super::*;
        8365  +
    use crate::http_request::{
        8366  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        8367  +
    };
        8368  +
    use crate::sign::v4a;
        8369  +
    use p256::ecdsa::signature::{Signature, Verifier};
        8370  +
    use p256::ecdsa::{DerSignature, SigningKey};
        8371  +
    use std::time::Duration;
        8372  +
    use time::format_description::well_known::Rfc3339;
        8373  +
    use time::OffsetDateTime;
        8374  +
        8375  +
    fn new_v4a_signing_params_from_context(
        8376  +
        test_context: &'_ TestContext,
        8377  +
        signature_location: SignatureLocation,
        8378  +
    ) -> crate::http_request::SigningParams<'_> {
        8379  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        8380  +
        params.settings.signature_location = signature_location;
        8381  +
        params.into()
        8382  +
    }
        8383  +
        8384  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        8385  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        8386  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
        8387  +
    }
        8388  +
        8389  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        8390  +
        let test = SigningSuiteTest::v4a(test_name);
        8391  +
        let tc = test.context();
        8392  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        8393  +
        8394  +
        let req = test.request();
        8395  +
        let expected_creq = test.canonical_request(signature_location);
        8396  +
        let signable_req = SignableRequest::from(&req);
        8397  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8398  +
        8399  +
        assert_eq!(
        8400  +
            expected_creq,
        8401  +
            actual_creq.to_string(),
        8402  +
            "canonical request didn't match (signature location: {signature_location:?})"
        8403  +
        );
        8404  +
        8405  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        8406  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8407  +
        let actual_string_to_sign = StringToSign::new_v4a(
        8408  +
            *params.time(),
        8409  +
            params.region_set().unwrap(),
        8410  +
            params.name(),
        8411  +
            hashed_creq,
        8412  +
        )
        8413  +
        .to_string();
        8414  +
        8415  +
        assert_eq!(
        8416  +
            expected_string_to_sign, actual_string_to_sign,
        8417  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        8418  +
        );
        8419  +
        8420  +
        let out = sign(signable_req, &params).unwrap();
        8421  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        8422  +
        out.output
        8423  +
            .apply_to_request_http0x(&mut req.as_http_request());
        8424  +
        8425  +
        let creds = params.credentials().unwrap();
        8426  +
        let signing_key =
        8427  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        8428  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        8429  +
        let sig = sig
        8430  +
            .try_into()
        8431  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        8432  +
        8433  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        8434  +
        let peer_public_key = signing_key.verifying_key();
        8435  +
        let sts = actual_string_to_sign.as_bytes();
        8436  +
        peer_public_key.verify(sts, &sig).unwrap();
        8437  +
        // TODO(sigv4a) - use public.key.json as verifying key?
        8438  +
    }
        8439  +
        8440  +
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
        8441  +
        fn from(tc: &'a TestContext) -> Self {
        8442  +
            crate::sign::v4a::SigningParams {
        8443  +
                identity: &tc.identity,
        8444  +
                region_set: &tc.region,
        8445  +
                name: &tc.service,
        8446  +
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8447  +
                    .unwrap()
        8448  +
                    .into(),
        8449  +
                settings: SigningSettings {
        8450  +
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8451  +
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8452  +
                    uri_path_normalization_mode: tc.normalize.into(),
        8453  +
                    session_token_mode: if tc.omit_session_token {
        8454  +
                        SessionTokenMode::Exclude
        8455  +
                    } else {
        8456  +
                        SessionTokenMode::Include
        8457  +
                    },
        8458  +
                    payload_checksum_kind: if tc.sign_body {
        8459  +
                        PayloadChecksumKind::XAmzSha256
        8460  +
                    } else {
        8461  +
                        PayloadChecksumKind::NoHeader
        8462  +
                    },
        8463  +
                    ..Default::default()
        8464  +
                },
        8465  +
            }
        8466  +
        }
 6163   8467   
    }
 6164   8468   
 6165   8469   
    #[test]
 6166   8470   
    fn test_parse() {
 6167         -
        let req = test_request("post-header-key-case");
        8471  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 6168   8472   
        assert_eq!(req.method, "POST");
 6169   8473   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6170   8474   
        assert!(req.headers.is_empty());
 6171   8475   
    }
 6172   8476   
 6173   8477   
    #[test]
 6174   8478   
    fn test_read_query_params() {
 6175         -
        let req = test_request("get-header-value-trim");
        8479  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 6176   8480   
        assert_eq!(req.method, "GET");
 6177   8481   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6178   8482   
        assert!(!req.headers.is_empty());
 6179   8483   
    }
 6180   8484   
}
 6181   8485   
 6182   8486   
fn read(path: &str) -> String {
 6183   8487   
    println!("Loading `{}` for test case...", path);
 6184   8488   
    let v = {
 6185   8489   
        match std::fs::read_to_string(path) {
 6186   8490   
            // This replacement is necessary for tests to pass on Windows, as reading the
 6187   8491   
            // test snapshots from the file system results in CRLF line endings being inserted.
 6188   8492   
            Ok(value) => value.replace("\r\n", "\n"),
 6189   8493   
            Err(err) => {
 6190   8494   
                panic!("failed to load test case `{}`: {}", path, err);
 6191   8495   
            }
 6192   8496   
        }
 6193   8497   
    };
 6194   8498   
 6195   8499   
    v.trim().to_string()
 6196   8500   
}
 6197   8501   
 6198   8502   
pub(crate) struct TestRequest {
 6199   8503   
    pub(crate) uri: String,
 6200   8504   
    pub(crate) method: String,
 6201   8505   
    pub(crate) headers: Vec<(String, String)>,
 6202   8506   
    pub(crate) body: TestSignedBody,
 6203   8507   
}
 6204   8508   
 6205   8509   
pub(crate) enum TestSignedBody {
 6206   8510   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 6207   8511   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 6208   8512   
                    )
 6209   8513   
                })
 6210   8514   
                .collect::<Vec<_>>(),
 6211   8515   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 6212   8516   
        }
 6213   8517   
    }
 6214   8518   
}
 6215   8519   
 6216   8520   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 6217   8521   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 6218   8522   
        SignableRequest::new(
 6219   8523   
            &request.method,
 6220   8524   
            &request.uri,
 6221   8525   
            request
 6222   8526   
                .headers
 6223   8527   
                .iter()
 6224   8528   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 6225   8529   
            request.body.as_signable_body(),
 6226   8530   
        )
 6227   8531   
        .expect("URI MUST be valid")
 6228   8532   
    }
 6229   8533   
}
 6230   8534   
 6231   8535   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 6232   8536   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 6233   8537   
    // httparse 1.5 requires two trailing newlines to head the header section.
 6234   8538   
    let mut with_newline = Vec::from(s);
 6235   8539   
    with_newline.push(b'\n');
 6236   8540   
    let mut req = httparse::Request::new(&mut headers);
 6237         -
    let _ = req.parse(&with_newline).unwrap();
        8541  +
    let status = req.parse(&with_newline).unwrap();
        8542  +
        8543  +
    let body = if status.is_complete() {
        8544  +
        let body_offset = status.unwrap();
        8545  +
        // ignore the newline we added, take from original
        8546  +
        &s[body_offset..]
        8547  +
    } else {
        8548  +
        &[]
        8549  +
    };
 6238   8550   
 6239   8551   
    let mut uri_builder = Uri::builder().scheme("https");
 6240   8552   
    if let Some(path) = req.path {
 6241   8553   
        uri_builder = uri_builder.path_and_query(path);
 6242   8554   
    }
 6243   8555   
 6244   8556   
    let mut headers = vec![];
 6245   8557   
    for header in req.headers {
 6246   8558   
        let name = header.name.to_lowercase();
 6247   8559   
        if name == "host" {
 6248   8560   
            uri_builder = uri_builder.authority(header.value);
 6249   8561   
        } else if !name.is_empty() {
 6250   8562   
            headers.push((
 6251   8563   
                header.name.to_string(),
 6252   8564   
                std::str::from_utf8(header.value)?.to_string(),
 6253   8565   
            ));
 6254   8566   
        }
 6255   8567   
    }
 6256   8568   
 6257   8569   
    Ok(TestRequest {
 6258   8570   
        uri: uri_builder.build()?.to_string(),
 6259   8571   
        method: req.method.unwrap().to_string(),
 6260   8572   
        headers,
 6261         -
        body: TestSignedBody::Bytes(vec![]),
        8573  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 6262   8574   
    })
 6263   8575   
}
 6264   8576   
 6265   8577   
#[test]
 6266   8578   
fn test_parse_headers() {
 6267   8579   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 6268   8580   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 6269   8581   
    assert_eq!(
 6270   8582   
        httparse::parse_headers(buf, &mut headers),
 6271   8583   
        Ok(httparse::Status::Complete((
 6272   8584   
            56,
 6273   8585   
            &[
 6274   8586   
                httparse::Header {
 6275   8587   
                    name: "Host",
 6276   8588   
                    value: b"example.amazonaws.com",
 6277   8589   
                },
 6278   8590   
                httparse::Header {
 6279   8591   
                    name: "X-Amz-Date",
 6280   8592   
                    value: b"20150830T123600Z",
 6281   8593   
                }
 6282   8594   
            ][..]
 6283   8595   
        )))
 6284   8596   
    );
 6285   8597   
}
 6286   8598   
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
 6287   8599   
index a208453..fc00249 100644
 6288         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        8600  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 6289   8601   
@@ -168,52 +168,54 @@ pub mod signing_params {
 6290   8602   
        );
 6291   8603   
 6292   8604   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 6293   8605   
        /// a required argument was not given.
 6294   8606   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 6295   8607   
            Ok(SigningParams {
 6296   8608   
                identity: self
 6297   8609   
                    .identity
 6298   8610   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 6299   8611   
                region: self
 6300   8612   
                    .region
 6301   8613   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 6302   8614   
                name: self
 6303   8615   
                    .name
 6304   8616   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 6305   8617   
                time: self
 6306   8618   
                    .time
 6307   8619   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 6308   8620   
                settings: self
 6309   8621   
                    .settings
 6310   8622   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 6311   8623   
            })
 6312   8624   
        }
 6313   8625   
    }
 6314   8626   
}
 6315   8627   
 6316   8628   
#[cfg(test)]
 6317   8629   
mod tests {
 6318   8630   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 6319   8631   
    use crate::date_time::test_parsers::parse_date_time;
 6320         -
    use crate::http_request::test;
 6321   8632   
 6322   8633   
    #[test]
 6323   8634   
    fn test_signature_calculation() {
 6324   8635   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 6325         -
        let creq = test::v4::test_canonical_request("iam");
        8636  +
        let creq = r#"AWS4-HMAC-SHA256
        8637  +
20150830T123600Z
        8638  +
20150830/us-east-1/iam/aws4_request
        8639  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 6326   8640   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6327   8641   
 6328   8642   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 6329   8643   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 6330   8644   
 6331   8645   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 6332   8646   
        assert_eq!(expected, &signature);
 6333   8647   
    }
 6334   8648   
 6335   8649   
    #[test]
 6336   8650   
    fn sign_payload_empty_string() {
 6337   8651   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 6338   8652   
        let actual = sha256_hex_string([]);
 6339   8653   
        assert_eq!(expected, actual);
 6340   8654   
    }
 6341   8655   
}
 6342   8656   
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
 6343   8657   
index ce78c38..8c2f591 100644
 6344         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        8658  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 6345   8659   
@@ -1,43 +1,43 @@
 6346   8660   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6347   8661   
[package]
 6348   8662   
name = "aws-smithy-checksums"
 6349   8663   
version = "0.63.5"
 6350   8664   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 6351   8665   
description = "Checksum calculation and verification callbacks"
 6352   8666   
edition = "2021"
 6353   8667   
license = "Apache-2.0"
 6354   8668   
repository = "https://github.com/smithy-lang/smithy-rs"
 6355   8669   
[package.metadata.docs.rs]
 6356   8670   
all-features = true
 6357   8671   
targets = ["x86_64-unknown-linux-gnu"]
 6358   8672   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6359   8673   
rustdoc-args = ["--cfg", "docsrs"]
 6360   8674   
 6361   8675   
[dependencies]
 6362   8676   
bytes = "1.10.0"
 6363   8677   
crc-fast = "1.3.0"
 6364   8678   
hex = "0.4.3"
 6365   8679   
http = "0.2.9"
 6366   8680   
http-body = "0.4.5"
 6367   8681   
md-5 = "0.10"
 6368   8682   
pin-project-lite = "0.2.14"
 6369   8683   
sha1 = "0.10"
 6370   8684   
sha2 = "0.10"
 6371   8685   
tracing = "0.1.40"
 6372   8686   
 6373   8687   
[dependencies.aws-smithy-http]
 6374   8688   
path = "../aws-smithy-http"
 6375         -
version = "0.62.2"
        8689  +
version = "0.62.3"
 6376   8690   
 6377   8691   
[dependencies.aws-smithy-types]
 6378   8692   
path = "../aws-smithy-types"
 6379   8693   
version = "1.3.2"
 6380   8694   
 6381   8695   
[dev-dependencies]
 6382   8696   
bytes-utils = "0.1.2"
 6383   8697   
pretty_assertions = "1.3"
 6384   8698   
tracing-test = "0.2.1"
 6385   8699   
 6386   8700   
[dev-dependencies.tokio]
 6387   8701   
version = "1.23.1"
 6388   8702   
features = ["macros", "rt"]
 6389   8703   
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
 6390   8704   
index 970c99e..d3c7a49 100644
 6391         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        8705  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 6392   8706   
@@ -1,34 +1,34 @@
 6393   8707   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6394   8708   
[package]
 6395   8709   
name = "aws-smithy-http"
 6396         -
version = "0.62.2"
        8710  +
version = "0.62.3"
 6397   8711   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6398   8712   
description = "Smithy HTTP logic for smithy-rs."
 6399   8713   
edition = "2021"
 6400   8714   
license = "Apache-2.0"
 6401   8715   
repository = "https://github.com/smithy-lang/smithy-rs"
 6402   8716   
[package.metadata.docs.rs]
 6403   8717   
all-features = true
 6404   8718   
targets = ["x86_64-unknown-linux-gnu"]
 6405   8719   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6406   8720   
rustdoc-args = ["--cfg", "docsrs"]
 6407   8721   
 6408   8722   
[features]
 6409   8723   
event-stream = ["aws-smithy-eventstream"]
 6410   8724   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 6411   8725   
 6412   8726   
[dependencies]
 6413   8727   
bytes = "1.10.0"
 6414   8728   
bytes-utils = "0.1"
 6415   8729   
percent-encoding = "2.3.1"
 6416   8730   
pin-project-lite = "0.2.14"
 6417   8731   
pin-utils = "0.1.0"
 6418   8732   
tracing = "0.1.40"
 6419   8733   
futures-core = "0.3.31"
 6420   8734   
 6421   8735   
[dependencies.aws-smithy-eventstream]
 6422   8736   
path = "../aws-smithy-eventstream"
 6423   8737   
optional = true
 6424   8738   
version = "0.60.10"
 6425   8739   
 6426   8740   
[dependencies.aws-smithy-runtime-api]
 6427   8741   
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
 6428   8742   
index 508f7a2..361545e 100644
 6429         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        8743  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 6430   8744   
@@ -1,27 +1,27 @@
 6431   8745   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6432   8746   
[[bin]]
 6433   8747   
name = "read_many_from_str"
 6434   8748   
path = "fuzz_targets/read_many_from_str.rs"
 6435   8749   
test = false
 6436   8750   
doc = false
 6437   8751   
 6438   8752   
[package]
 6439   8753   
name = "aws-smithy-http-fuzz"
 6440   8754   
version = "0.0.0"
 6441   8755   
authors = ["Automatically generated"]
 6442   8756   
publish = false
 6443   8757   
edition = "2021"
 6444   8758   
 6445   8759   
[package.metadata]
 6446   8760   
cargo-fuzz = true
 6447   8761   
 6448   8762   
[dependencies]
 6449   8763   
libfuzzer-sys = "=0.4.7"
 6450   8764   
http = "0.2.3"
 6451   8765   
 6452   8766   
[dependencies.aws-smithy-http]
 6453   8767   
path = ".."
 6454         -
version = "0.62.2"
        8768  +
version = "0.62.3"
 6455   8769   
 6456   8770   
[workspace]
 6457   8771   
members = ["."]
 6458   8772   
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
 6459   8773   
index fef41d0..7694da6 100644
 6460         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        8774  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 6461   8775   
@@ -25,68 +25,73 @@ impl QueryWriter {
 6462   8776   
    pub fn new(uri: &Uri) -> Self {
 6463   8777   
        let new_path_and_query = uri
 6464   8778   
            .path_and_query()
 6465   8779   
            .map(|pq| pq.to_string())
 6466   8780   
            .unwrap_or_default();
 6467   8781   
        let prefix = if uri.query().is_none() {
 6468   8782   
            Some('?')
 6469   8783   
        } else if !uri.query().unwrap_or_default().is_empty() {
 6470   8784   
            Some('&')
 6471   8785   
        } else {
 6472   8786   
            None
 6473   8787   
        };
 6474   8788   
        QueryWriter {
 6475   8789   
            base_uri: uri.clone(),
 6476   8790   
            new_path_and_query,
 6477   8791   
            prefix,
 6478   8792   
        }
 6479   8793   
    }
 6480   8794   
 6481   8795   
    /// Clears all query parameters.
 6482   8796   
    pub fn clear_params(&mut self) {
 6483   8797   
        if let Some(index) = self.new_path_and_query.find('?') {
 6484   8798   
            self.new_path_and_query.truncate(index);
 6485   8799   
            self.prefix = Some('?');
 6486   8800   
        }
 6487   8801   
    }
 6488   8802   
 6489   8803   
    /// Inserts a new query parameter. The key and value are percent encoded
 6490   8804   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 6491   8805   
    pub fn insert(&mut self, k: &str, v: &str) {
        8806  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        8807  +
    }
        8808  +
        8809  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        8810  +
    /// as is.
        8811  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 6492   8812   
        if let Some(prefix) = self.prefix {
 6493   8813   
            self.new_path_and_query.push(prefix);
 6494   8814   
        }
 6495   8815   
        self.prefix = Some('&');
 6496         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        8816  +
        self.new_path_and_query.push_str(encoded_k);
 6497   8817   
        self.new_path_and_query.push('=');
 6498         -
 6499         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
        8818  +
        self.new_path_and_query.push_str(encoded_v)
 6500   8819   
    }
 6501   8820   
 6502   8821   
    /// Returns just the built query string.
 6503   8822   
    pub fn build_query(self) -> String {
 6504   8823   
        self.build_uri().query().unwrap_or_default().to_string()
 6505   8824   
    }
 6506   8825   
 6507   8826   
    /// Returns a full [`Uri`] with the query string updated.
 6508   8827   
    pub fn build_uri(self) -> Uri {
 6509   8828   
        let mut parts = self.base_uri.into_parts();
 6510   8829   
        parts.path_and_query = Some(
 6511   8830   
            self.new_path_and_query
 6512   8831   
                .parse()
 6513   8832   
                .expect("adding query should not invalidate URI"),
 6514   8833   
        );
 6515   8834   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 6516   8835   
    }
 6517   8836   
}
 6518   8837   
 6519   8838   
#[cfg(test)]
 6520   8839   
mod test {
 6521   8840   
    use super::QueryWriter;
 6522   8841   
    use http_02x::Uri;
 6523   8842   
 6524   8843   
    #[test]
 6525   8844   
    fn empty_uri() {
 6526   8845   
        let uri = Uri::from_static("http://www.example.com");
 6527   8846   
        let mut query_writer = QueryWriter::new(&uri);
 6528   8847   
        query_writer.insert("key", "val%ue");
 6529   8848   
        query_writer.insert("another", "value");
 6530   8849   
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
 6531   8850   
index f108978..df7a9fe 100644
 6532         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
        8851  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 6533   8852   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 6534   8853   
 6535   8854   
[package.metadata.smithy-rs-release-tooling]
 6536   8855   
stable = true
 6537   8856   
[package.metadata.cargo-udeps.ignore]
 6538   8857   
normal = ["aws-smithy-http"]
 6539   8858   
 6540   8859   
[features]
 6541   8860   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 6542   8861   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 6543   8862   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 6544   8863   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 6545   8864   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 6546   8865   
rt-tokio = ["tokio/rt"]
 6547   8866   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 6548   8867   
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"]
 6549   8868   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 6550   8869   
 6551   8870   
[dependencies]
 6552   8871   
bytes = "1.10.0"
 6553   8872   
fastrand = "2.3.0"
 6554   8873   
pin-project-lite = "0.2.14"
 6555   8874   
pin-utils = "0.1.0"
 6556   8875   
tracing = "0.1.40"
 6557   8876   
 6558   8877   
[dependencies.aws-smithy-async]
 6559   8878   
path = "../aws-smithy-async"
 6560   8879   
version = "1.2.5"
 6561   8880   
 6562   8881   
[dependencies.aws-smithy-http]
 6563   8882   
path = "../aws-smithy-http"
 6564         -
version = "0.62.2"
        8883  +
version = "0.62.3"
 6565   8884   
 6566   8885   
[dependencies.aws-smithy-observability]
 6567   8886   
path = "../aws-smithy-observability"
 6568   8887   
version = "0.1.3"
 6569   8888   
 6570   8889   
[dependencies.aws-smithy-runtime-api]
 6571   8890   
path = "../aws-smithy-runtime-api"
 6572   8891   
version = "1.8.5"
 6573   8892   
 6574   8893   
[dependencies.aws-smithy-types]
 6575   8894   
path = "../aws-smithy-types"
 6576   8895   
features = ["http-body-0-4-x"]
 6577   8896   
version = "1.3.2"
 6578   8897   
 6579   8898   
[dependencies.aws-smithy-http-client]
 6580   8899   
path = "../aws-smithy-http-client"
 6581   8900   
optional = true
 6582   8901   
version = "1.0.6"
 6583   8902   
 6584   8903   
[dependencies.http-02x]
 6585   8904   
package = "http"
 6586   8905   
version = "0.2.9"
 6587   8906   
 6588   8907   
[dependencies.http-1x]
 6589   8908   
package = "http"
 6590   8909   
version = "1"
 6591   8910   
 6592   8911   
[dependencies.http-body-04x]
 6593   8912   
package = "http-body"
 6594   8913   
version = "0.4.5"
 6595   8914   
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
 6596   8915   
index 4e050c6..f58eb1c 100644
 6597         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
        8916  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 6598   8917   
@@ -1,33 +1,33 @@
 6599   8918   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6600   8919   
[package]
 6601   8920   
name = "aws-smithy-wasm"
 6602   8921   
version = "0.1.4"
 6603   8922   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 6604   8923   
description = "Smithy WebAssembly configuration for smithy-rs."
 6605   8924   
edition = "2021"
 6606   8925   
license = "Apache-2.0"
 6607   8926   
repository = "https://github.com/awslabs/smithy-rs"
 6608   8927   
[package.metadata.docs.rs]
 6609   8928   
all-features = true
 6610   8929   
targets = ["x86_64-unknown-linux-gnu"]
 6611   8930   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6612   8931   
rustdoc-args = ["--cfg", "docsrs"]
 6613   8932   
 6614   8933   
[dependencies]
 6615   8934   
bytes = "1.10.0"
 6616   8935   
http = "1.0.0"
 6617   8936   
tracing = "0.1.40"
 6618   8937   
wasi = "0.12.1"
 6619   8938   
 6620   8939   
[dependencies.aws-smithy-runtime-api]
 6621   8940   
path = "../aws-smithy-runtime-api"
 6622   8941   
features = ["http-1x"]
 6623   8942   
version = "1.8.5"
 6624   8943   
 6625   8944   
[dependencies.aws-smithy-http]
 6626   8945   
path = "../aws-smithy-http"
 6627         -
version = "0.62.2"
        8946  +
version = "0.62.3"
 6628   8947   
 6629   8948   
[dependencies.aws-smithy-types]
 6630   8949   
path = "../aws-smithy-types"
 6631   8950   
version = "1.3.2"
 6632   8951   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6633   8952   
index a880648..139e808 100644
 6634         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
        8953  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6635   8954   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 6636   8955   
edition = "2021"
 6637   8956   
license = "Apache-2.0"
 6638   8957   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6639   8958   
rust-version = "1.86.0"
 6640   8959   
readme = "README.md"
 6641   8960   
[package.metadata.smithy]
 6642   8961   
codegen-version = "ci"
 6643   8962   
[package.metadata.docs.rs]
 6644   8963   
all-features = true
 6645   8964   
targets = ["x86_64-unknown-linux-gnu"]
 6646   8965   
[dependencies.aws-credential-types]
 6647   8966   
path = "../aws-credential-types"
 6648   8967   
version = "1.2.4"
 6649   8968   
 6650   8969   
[dependencies.aws-runtime]
 6651   8970   
path = "../aws-runtime"
 6652   8971   
features = ["event-stream"]
 6653   8972   
version = "1.5.9"
 6654   8973   
 6655   8974   
[dependencies.aws-smithy-async]
 6656   8975   
path = "../aws-smithy-async"
 6657   8976   
version = "1.2.5"
 6658   8977   
 6659   8978   
[dependencies.aws-smithy-eventstream]
 6660   8979   
path = "../aws-smithy-eventstream"
 6661   8980   
version = "0.60.10"
 6662   8981   
 6663   8982   
[dependencies.aws-smithy-http]
 6664   8983   
path = "../aws-smithy-http"
 6665   8984   
features = ["event-stream"]
 6666         -
version = "0.62.2"
        8985  +
version = "0.62.3"
 6667   8986   
 6668   8987   
[dependencies.aws-smithy-json]
 6669   8988   
path = "../aws-smithy-json"
 6670   8989   
version = "0.61.4"
 6671   8990   
 6672   8991   
[dependencies.aws-smithy-runtime]
 6673   8992   
path = "../aws-smithy-runtime"
 6674   8993   
features = ["client"]
 6675   8994   
version = "1.8.5"
 6676   8995   
 6677   8996   
[dependencies.aws-smithy-runtime-api]
 6678   8997   
path = "../aws-smithy-runtime-api"
 6679   8998   
features = ["client", "http-02x"]
 6680   8999   
version = "1.8.5"
 6681   9000   
 6682   9001   
[dependencies.aws-smithy-types]
 6683   9002   
path = "../aws-smithy-types"
 6684   9003   
version = "1.3.2"
 6685   9004   
 6686   9005   
[dependencies.aws-types]
 6687   9006   
path = "../aws-types"
 6688   9007   
version = "1.3.8"
 6689   9008   
 6690   9009   
[dependencies.bytes]
 6691   9010   
version = "1.4.0"
 6692   9011   
 6693   9012   
[dependencies.fastrand]
 6694   9013   
version = "2.0.0"
 6695   9014   
 6696   9015   
[dependencies.http]
 6697   9016   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6698   9017   
index 415ecc9..667d12b 100644
 6699         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
        9018  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6700   9019   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 6701   9020   
edition = "2021"
 6702   9021   
license = "Apache-2.0"
 6703   9022   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6704   9023   
rust-version = "1.86.0"
 6705   9024   
readme = "README.md"
 6706   9025   
[package.metadata.smithy]
 6707   9026   
codegen-version = "ci"
 6708   9027   
[package.metadata.docs.rs]
 6709   9028   
all-features = true
 6710   9029   
targets = ["x86_64-unknown-linux-gnu"]
 6711   9030   
[dependencies.aws-credential-types]
 6712   9031   
path = "../aws-credential-types"
 6713   9032   
version = "1.2.4"
 6714   9033   
 6715   9034   
[dependencies.aws-runtime]
 6716   9035   
path = "../aws-runtime"
 6717   9036   
features = ["event-stream"]
 6718   9037   
version = "1.5.9"
 6719   9038   
 6720   9039   
[dependencies.aws-smithy-async]
 6721   9040   
path = "../aws-smithy-async"
 6722   9041   
version = "1.2.5"
 6723   9042   
 6724   9043   
[dependencies.aws-smithy-eventstream]
 6725   9044   
path = "../aws-smithy-eventstream"
 6726   9045   
version = "0.60.10"
 6727   9046   
 6728   9047   
[dependencies.aws-smithy-http]
 6729   9048   
path = "../aws-smithy-http"
 6730   9049   
features = ["event-stream"]
 6731         -
version = "0.62.2"
        9050  +
version = "0.62.3"
 6732   9051   
 6733   9052   
[dependencies.aws-smithy-json]
 6734   9053   
path = "../aws-smithy-json"
 6735   9054   
version = "0.61.4"
 6736   9055   
 6737   9056   
[dependencies.aws-smithy-runtime]
 6738   9057   
path = "../aws-smithy-runtime"
 6739   9058   
features = ["client"]
 6740   9059   
version = "1.8.5"
 6741   9060   
 6742   9061   
[dependencies.aws-smithy-runtime-api]
 6743   9062   
path = "../aws-smithy-runtime-api"
 6744   9063   
features = ["client", "http-02x"]
 6745   9064   
version = "1.8.5"
 6746   9065   
 6747   9066   
[dependencies.aws-smithy-types]
 6748   9067   
path = "../aws-smithy-types"
 6749   9068   
version = "1.3.2"
 6750   9069   
 6751   9070   
[dependencies.aws-types]
 6752   9071   
path = "../aws-types"
 6753   9072   
version = "1.3.8"
 6754   9073   
 6755   9074   
[dependencies.bytes]
 6756   9075   
version = "1.4.0"
 6757   9076   
 6758   9077   
[dependencies.fastrand]
 6759   9078   
version = "2.0.0"
 6760   9079   
 6761   9080   
[dependencies.http]
 6762   9081   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6763   9082   
index 8871cab..ed88de6 100644
 6764         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
        9083  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6765   9084   
@@ -1,61 +1,61 @@
 6766   9085   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6767   9086   
[package]
 6768   9087   
name = "aws-sdk-codecatalyst"
 6769   9088   
version = "0.0.0-local"
 6770   9089   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6771   9090   
description = "AWS SDK for Amazon CodeCatalyst"
 6772   9091   
edition = "2021"
 6773   9092   
license = "Apache-2.0"
 6774   9093   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6775   9094   
rust-version = "1.86.0"
 6776   9095   
readme = "README.md"
 6777   9096   
[package.metadata.smithy]
 6778   9097   
codegen-version = "ci"
 6779   9098   
[package.metadata.docs.rs]
 6780   9099   
all-features = true
 6781   9100   
targets = ["x86_64-unknown-linux-gnu"]
 6782   9101   
[dependencies.aws-credential-types]
 6783   9102   
path = "../aws-credential-types"
 6784   9103   
version = "1.2.4"
 6785   9104   
 6786   9105   
[dependencies.aws-runtime]
 6787   9106   
path = "../aws-runtime"
 6788   9107   
version = "1.5.9"
 6789   9108   
 6790   9109   
[dependencies.aws-smithy-async]
 6791   9110   
path = "../aws-smithy-async"
 6792   9111   
version = "1.2.5"
 6793   9112   
 6794   9113   
[dependencies.aws-smithy-http]
 6795   9114   
path = "../aws-smithy-http"
 6796         -
version = "0.62.2"
        9115  +
version = "0.62.3"
 6797   9116   
 6798   9117   
[dependencies.aws-smithy-json]
 6799   9118   
path = "../aws-smithy-json"
 6800   9119   
version = "0.61.4"
 6801   9120   
 6802   9121   
[dependencies.aws-smithy-runtime]
 6803   9122   
path = "../aws-smithy-runtime"
 6804   9123   
features = ["client", "http-auth"]
 6805   9124   
version = "1.8.5"
 6806   9125   
 6807   9126   
[dependencies.aws-smithy-runtime-api]
 6808   9127   
path = "../aws-smithy-runtime-api"
 6809   9128   
features = ["client", "http-02x", "http-auth"]
 6810   9129   
version = "1.8.5"
 6811   9130   
 6812   9131   
[dependencies.aws-smithy-types]
 6813   9132   
path = "../aws-smithy-types"
 6814   9133   
version = "1.3.2"
 6815   9134   
 6816   9135   
[dependencies.aws-types]
 6817   9136   
path = "../aws-types"
 6818   9137   
version = "1.3.8"
 6819   9138   
 6820   9139   
[dependencies.bytes]
 6821   9140   
version = "1.4.0"
 6822   9141   
 6823   9142   
[dependencies.fastrand]
 6824   9143   
version = "2.0.0"
 6825   9144   
 6826   9145   
[dependencies.http]
 6827   9146   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6828   9147   
index 89573ff..05238af 100644
 6829         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
        9148  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6830   9149   
@@ -1,61 +1,61 @@
 6831   9150   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6832   9151   
[package]
 6833   9152   
name = "aws-sdk-config"
 6834   9153   
version = "0.0.0-local"
 6835   9154   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6836   9155   
description = "AWS SDK for AWS Config"
 6837   9156   
edition = "2021"
 6838   9157   
license = "Apache-2.0"
 6839   9158   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6840   9159   
rust-version = "1.86.0"
 6841   9160   
readme = "README.md"
 6842   9161   
[package.metadata.smithy]
 6843   9162   
codegen-version = "ci"
 6844   9163   
[package.metadata.docs.rs]
 6845   9164   
all-features = true
 6846   9165   
targets = ["x86_64-unknown-linux-gnu"]
 6847   9166   
[dependencies.aws-credential-types]
 6848   9167   
path = "../aws-credential-types"
 6849   9168   
version = "1.2.4"
 6850   9169   
 6851   9170   
[dependencies.aws-runtime]
 6852   9171   
path = "../aws-runtime"
 6853   9172   
version = "1.5.9"
 6854   9173   
 6855   9174   
[dependencies.aws-smithy-async]
 6856   9175   
path = "../aws-smithy-async"
 6857   9176   
version = "1.2.5"
 6858   9177   
 6859   9178   
[dependencies.aws-smithy-http]
 6860   9179   
path = "../aws-smithy-http"
 6861         -
version = "0.62.2"
        9180  +
version = "0.62.3"
 6862   9181   
 6863   9182   
[dependencies.aws-smithy-json]
 6864   9183   
path = "../aws-smithy-json"
 6865   9184   
version = "0.61.4"
 6866   9185   
 6867   9186   
[dependencies.aws-smithy-runtime]
 6868   9187   
path = "../aws-smithy-runtime"
 6869   9188   
features = ["client"]
 6870   9189   
version = "1.8.5"
 6871   9190   
 6872   9191   
[dependencies.aws-smithy-runtime-api]
 6873   9192   
path = "../aws-smithy-runtime-api"
 6874   9193   
features = ["client", "http-02x"]
 6875   9194   
version = "1.8.5"
 6876   9195   
 6877   9196   
[dependencies.aws-smithy-types]
 6878   9197   
path = "../aws-smithy-types"
 6879   9198   
version = "1.3.2"
 6880   9199   
 6881   9200   
[dependencies.aws-types]
 6882   9201   
path = "../aws-types"
 6883   9202   
version = "1.3.8"
 6884   9203   
 6885   9204   
[dependencies.bytes]
 6886   9205   
version = "1.4.0"
 6887   9206   
 6888   9207   
[dependencies.fastrand]
 6889   9208   
version = "2.0.0"
 6890   9209   
 6891   9210   
[dependencies.http]
 6892   9211   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 6893   9212   
index d397c58..2c1062b 100644
 6894         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
        9213  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 6895   9214   
@@ -1,61 +1,61 @@
 6896   9215   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6897   9216   
[package]
 6898   9217   
name = "aws-sdk-dynamodb"
 6899   9218   
version = "0.0.0-local"
 6900   9219   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6901   9220   
description = "AWS SDK for Amazon DynamoDB"
 6902   9221   
edition = "2021"
 6903   9222   
license = "Apache-2.0"
 6904   9223   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6905   9224   
rust-version = "1.86.0"
 6906   9225   
readme = "README.md"
 6907   9226   
[package.metadata.smithy]
 6908   9227   
codegen-version = "ci"
 6909   9228   
[package.metadata.docs.rs]
 6910   9229   
all-features = true
 6911   9230   
targets = ["x86_64-unknown-linux-gnu"]
 6912   9231   
[dependencies.aws-credential-types]
 6913   9232   
path = "../aws-credential-types"
 6914   9233   
version = "1.2.4"
 6915   9234   
 6916   9235   
[dependencies.aws-runtime]
 6917   9236   
path = "../aws-runtime"
 6918   9237   
version = "1.5.9"
 6919   9238   
 6920   9239   
[dependencies.aws-smithy-async]
 6921   9240   
path = "../aws-smithy-async"
 6922   9241   
version = "1.2.5"
 6923   9242   
 6924   9243   
[dependencies.aws-smithy-http]
 6925   9244   
path = "../aws-smithy-http"
 6926         -
version = "0.62.2"
        9245  +
version = "0.62.3"
 6927   9246   
 6928   9247   
[dependencies.aws-smithy-json]
 6929   9248   
path = "../aws-smithy-json"
 6930   9249   
version = "0.61.4"
 6931   9250   
 6932   9251   
[dependencies.aws-smithy-runtime]
 6933   9252   
path = "../aws-smithy-runtime"
 6934   9253   
features = ["client"]
 6935   9254   
version = "1.8.5"
 6936   9255   
 6937   9256   
[dependencies.aws-smithy-runtime-api]
 6938   9257   
path = "../aws-smithy-runtime-api"
 6939   9258   
features = ["client", "http-02x"]
 6940   9259   
version = "1.8.5"
 6941   9260   
 6942   9261   
[dependencies.aws-smithy-types]
 6943   9262   
path = "../aws-smithy-types"
 6944   9263   
version = "1.3.2"
 6945   9264   
 6946   9265   
[dependencies.aws-types]
 6947   9266   
path = "../aws-types"
 6948   9267   
version = "1.3.8"
 6949   9268   
 6950   9269   
[dependencies.bytes]
 6951   9270   
version = "1.4.0"
 6952   9271   
 6953   9272   
[dependencies.fastrand]
 6954   9273   
version = "2.0.0"
 6955   9274   
 6956   9275   
[dependencies.http]
 6957   9276   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 6958   9277   
index c0ba315..46168af 100644
 6959         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
        9278  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 6960   9279   
@@ -1,61 +1,61 @@
 6961   9280   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6962   9281   
[package]
 6963   9282   
name = "aws-sdk-ec2"
 6964   9283   
version = "0.0.0-local"
 6965   9284   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6966   9285   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 6967   9286   
edition = "2021"
 6968   9287   
license = "Apache-2.0"
 6969   9288   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6970   9289   
rust-version = "1.86.0"
 6971   9290   
readme = "README.md"
 6972   9291   
[package.metadata.smithy]
 6973   9292   
codegen-version = "ci"
 6974   9293   
[package.metadata.docs.rs]
 6975   9294   
all-features = true
 6976   9295   
targets = ["x86_64-unknown-linux-gnu"]
 6977   9296   
[dependencies.aws-credential-types]
 6978   9297   
path = "../aws-credential-types"
 6979   9298   
version = "1.2.4"
 6980   9299   
 6981   9300   
[dependencies.aws-runtime]
 6982   9301   
path = "../aws-runtime"
 6983   9302   
version = "1.5.9"
 6984   9303   
 6985   9304   
[dependencies.aws-smithy-async]
 6986   9305   
path = "../aws-smithy-async"
 6987   9306   
version = "1.2.5"
 6988   9307   
 6989   9308   
[dependencies.aws-smithy-http]
 6990   9309   
path = "../aws-smithy-http"
 6991         -
version = "0.62.2"
        9310  +
version = "0.62.3"
 6992   9311   
 6993   9312   
[dependencies.aws-smithy-json]
 6994   9313   
path = "../aws-smithy-json"
 6995   9314   
version = "0.61.4"
 6996   9315   
 6997   9316   
[dependencies.aws-smithy-query]
 6998   9317   
path = "../aws-smithy-query"
 6999   9318   
version = "0.60.7"
 7000   9319   
 7001   9320   
[dependencies.aws-smithy-runtime]
 7002   9321   
path = "../aws-smithy-runtime"
 7003   9322   
features = ["client"]
 7004   9323   
version = "1.8.5"
 7005   9324   
 7006   9325   
[dependencies.aws-smithy-runtime-api]
 7007   9326   
path = "../aws-smithy-runtime-api"
 7008   9327   
features = ["client", "http-02x"]
 7009   9328   
version = "1.8.5"
 7010   9329   
 7011   9330   
[dependencies.aws-smithy-types]
 7012   9331   
path = "../aws-smithy-types"
 7013   9332   
version = "1.3.2"
 7014   9333   
 7015   9334   
[dependencies.aws-smithy-xml]
 7016   9335   
path = "../aws-smithy-xml"
 7017   9336   
version = "0.60.10"
 7018   9337   
 7019   9338   
[dependencies.aws-types]
 7020   9339   
path = "../aws-types"
 7021   9340   
version = "1.3.8"
 7022   9341   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7023   9342   
index 4474d17..095d40e 100644
 7024         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
        9343  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7025   9344   
@@ -1,61 +1,61 @@
 7026   9345   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7027   9346   
[package]
 7028   9347   
name = "aws-sdk-ecs"
 7029   9348   
version = "0.0.0-local"
 7030   9349   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7031   9350   
description = "AWS SDK for Amazon EC2 Container Service"
 7032   9351   
edition = "2021"
 7033   9352   
license = "Apache-2.0"
 7034   9353   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7035   9354   
rust-version = "1.86.0"
 7036   9355   
readme = "README.md"
 7037   9356   
[package.metadata.smithy]
 7038   9357   
codegen-version = "ci"
 7039   9358   
[package.metadata.docs.rs]
 7040   9359   
all-features = true
 7041   9360   
targets = ["x86_64-unknown-linux-gnu"]
 7042   9361   
[dependencies.aws-credential-types]
 7043   9362   
path = "../aws-credential-types"
 7044   9363   
version = "1.2.4"
 7045   9364   
 7046   9365   
[dependencies.aws-runtime]
 7047   9366   
path = "../aws-runtime"
 7048   9367   
version = "1.5.9"
 7049   9368   
 7050   9369   
[dependencies.aws-smithy-async]
 7051   9370   
path = "../aws-smithy-async"
 7052   9371   
version = "1.2.5"
 7053   9372   
 7054   9373   
[dependencies.aws-smithy-http]
 7055   9374   
path = "../aws-smithy-http"
 7056         -
version = "0.62.2"
        9375  +
version = "0.62.3"
 7057   9376   
 7058   9377   
[dependencies.aws-smithy-json]
 7059   9378   
path = "../aws-smithy-json"
 7060   9379   
version = "0.61.4"
 7061   9380   
 7062   9381   
[dependencies.aws-smithy-runtime]
 7063   9382   
path = "../aws-smithy-runtime"
 7064   9383   
features = ["client"]
 7065   9384   
version = "1.8.5"
 7066   9385   
 7067   9386   
[dependencies.aws-smithy-runtime-api]
 7068   9387   
path = "../aws-smithy-runtime-api"
 7069   9388   
features = ["client", "http-02x"]
 7070   9389   
version = "1.8.5"
 7071   9390   
 7072   9391   
[dependencies.aws-smithy-types]
 7073   9392   
path = "../aws-smithy-types"
 7074   9393   
version = "1.3.2"
 7075   9394   
 7076   9395   
[dependencies.aws-types]
 7077   9396   
path = "../aws-types"
 7078   9397   
version = "1.3.8"
 7079   9398   
 7080   9399   
[dependencies.bytes]
 7081   9400   
version = "1.4.0"
 7082   9401   
 7083   9402   
[dependencies.fastrand]
 7084   9403   
version = "2.0.0"
 7085   9404   
 7086   9405   
[dependencies.http]
 7087   9406   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7088   9407   
index 15b1d77..16d7d89 100644
 7089         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
        9408  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7090   9409   
@@ -1,65 +1,65 @@
 7091   9410   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7092   9411   
[package]
 7093   9412   
name = "aws-sdk-glacier"
 7094   9413   
version = "0.0.0-local"
 7095   9414   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7096   9415   
description = "AWS SDK for Amazon Glacier"
 7097   9416   
edition = "2021"
 7098   9417   
license = "Apache-2.0"
 7099   9418   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7100   9419   
rust-version = "1.86.0"
 7101   9420   
readme = "README.md"
 7102   9421   
[package.metadata.smithy]
 7103   9422   
codegen-version = "ci"
 7104   9423   
[package.metadata.docs.rs]
 7105   9424   
all-features = true
 7106   9425   
targets = ["x86_64-unknown-linux-gnu"]
 7107   9426   
[dependencies.aws-credential-types]
 7108   9427   
path = "../aws-credential-types"
 7109   9428   
version = "1.2.4"
 7110   9429   
 7111   9430   
[dependencies.aws-runtime]
 7112   9431   
path = "../aws-runtime"
 7113   9432   
version = "1.5.9"
 7114   9433   
 7115   9434   
[dependencies.aws-sigv4]
 7116   9435   
path = "../aws-sigv4"
 7117         -
version = "1.3.3"
        9436  +
version = "1.3.4"
 7118   9437   
 7119   9438   
[dependencies.aws-smithy-async]
 7120   9439   
path = "../aws-smithy-async"
 7121   9440   
version = "1.2.5"
 7122   9441   
 7123   9442   
[dependencies.aws-smithy-http]
 7124   9443   
path = "../aws-smithy-http"
 7125         -
version = "0.62.2"
        9444  +
version = "0.62.3"
 7126   9445   
 7127   9446   
[dependencies.aws-smithy-json]
 7128   9447   
path = "../aws-smithy-json"
 7129   9448   
version = "0.61.4"
 7130   9449   
 7131   9450   
[dependencies.aws-smithy-runtime]
 7132   9451   
path = "../aws-smithy-runtime"
 7133   9452   
features = ["client"]
 7134   9453   
version = "1.8.5"
 7135   9454   
 7136   9455   
[dependencies.aws-smithy-runtime-api]
 7137   9456   
path = "../aws-smithy-runtime-api"
 7138   9457   
features = ["client", "http-02x"]
 7139   9458   
version = "1.8.5"
 7140   9459   
 7141   9460   
[dependencies.aws-smithy-types]
 7142   9461   
path = "../aws-smithy-types"
 7143   9462   
version = "1.3.2"
 7144   9463   
 7145   9464   
[dependencies.aws-types]
 7146   9465   
path = "../aws-types"
 7147   9466   
version = "1.3.8"
 7148   9467   
 7149   9468   
[dependencies.bytes]
 7150   9469   
version = "1.4.0"
 7151   9470   
 7152   9471   
[dependencies.fastrand]
 7153   9472   
version = "2.0.0"
 7154   9473   
 7155   9474   
[dependencies.hex]
 7156   9475   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7157   9476   
index d718a3a..65e6f24 100644
 7158         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
        9477  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7159   9478   
@@ -1,61 +1,61 @@
 7160   9479   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7161   9480   
[package]
 7162   9481   
name = "aws-sdk-iam"
 7163   9482   
version = "0.0.0-local"
 7164   9483   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7165   9484   
description = "AWS SDK for AWS Identity and Access Management"
 7166   9485   
edition = "2021"
 7167   9486   
license = "Apache-2.0"
 7168   9487   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7169   9488   
rust-version = "1.86.0"
 7170   9489   
readme = "README.md"
 7171   9490   
[package.metadata.smithy]
 7172   9491   
codegen-version = "ci"
 7173   9492   
[package.metadata.docs.rs]
 7174   9493   
all-features = true
 7175   9494   
targets = ["x86_64-unknown-linux-gnu"]
 7176   9495   
[dependencies.aws-credential-types]
 7177   9496   
path = "../aws-credential-types"
 7178   9497   
version = "1.2.4"
 7179   9498   
 7180   9499   
[dependencies.aws-runtime]
 7181   9500   
path = "../aws-runtime"
 7182   9501   
version = "1.5.9"
 7183   9502   
 7184   9503   
[dependencies.aws-smithy-async]
 7185   9504   
path = "../aws-smithy-async"
 7186   9505   
version = "1.2.5"
 7187   9506   
 7188   9507   
[dependencies.aws-smithy-http]
 7189   9508   
path = "../aws-smithy-http"
 7190         -
version = "0.62.2"
        9509  +
version = "0.62.3"
 7191   9510   
 7192   9511   
[dependencies.aws-smithy-json]
 7193   9512   
path = "../aws-smithy-json"
 7194   9513   
version = "0.61.4"
 7195   9514   
 7196   9515   
[dependencies.aws-smithy-query]
 7197   9516   
path = "../aws-smithy-query"
 7198   9517   
version = "0.60.7"
 7199   9518   
 7200   9519   
[dependencies.aws-smithy-runtime]
 7201   9520   
path = "../aws-smithy-runtime"
 7202   9521   
features = ["client"]
 7203   9522   
version = "1.8.5"
 7204   9523   
 7205   9524   
[dependencies.aws-smithy-runtime-api]
 7206   9525   
path = "../aws-smithy-runtime-api"
 7207   9526   
features = ["client", "http-02x"]
 7208   9527   
version = "1.8.5"
 7209   9528   
 7210   9529   
[dependencies.aws-smithy-types]
 7211   9530   
path = "../aws-smithy-types"
 7212   9531   
version = "1.3.2"
 7213   9532   
 7214   9533   
[dependencies.aws-smithy-xml]
 7215   9534   
path = "../aws-smithy-xml"
 7216   9535   
version = "0.60.10"
 7217   9536   
 7218   9537   
[dependencies.aws-types]
 7219   9538   
path = "../aws-types"
 7220   9539   
version = "1.3.8"
 7221   9540   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7222   9541   
index 0ed4302..3d828a5 100644
 7223         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
        9542  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7224   9543   
@@ -1,61 +1,61 @@
 7225   9544   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7226   9545   
[package]
 7227   9546   
name = "aws-sdk-kms"
 7228   9547   
version = "0.0.0-local"
 7229   9548   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7230   9549   
description = "AWS SDK for AWS Key Management Service"
 7231   9550   
edition = "2021"
 7232   9551   
license = "Apache-2.0"
 7233   9552   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7234   9553   
rust-version = "1.86.0"
 7235   9554   
readme = "README.md"
 7236   9555   
[package.metadata.smithy]
 7237   9556   
codegen-version = "ci"
 7238   9557   
[package.metadata.docs.rs]
 7239   9558   
all-features = true
 7240   9559   
targets = ["x86_64-unknown-linux-gnu"]
 7241   9560   
[dependencies.aws-credential-types]
 7242   9561   
path = "../aws-credential-types"
 7243   9562   
version = "1.2.4"
 7244   9563   
 7245   9564   
[dependencies.aws-runtime]
 7246   9565   
path = "../aws-runtime"
 7247   9566   
version = "1.5.9"
 7248   9567   
 7249   9568   
[dependencies.aws-smithy-async]
 7250   9569   
path = "../aws-smithy-async"
 7251   9570   
version = "1.2.5"
 7252   9571   
 7253   9572   
[dependencies.aws-smithy-http]
 7254   9573   
path = "../aws-smithy-http"
 7255         -
version = "0.62.2"
        9574  +
version = "0.62.3"
 7256   9575   
 7257   9576   
[dependencies.aws-smithy-json]
 7258   9577   
path = "../aws-smithy-json"
 7259   9578   
version = "0.61.4"
 7260   9579   
 7261   9580   
[dependencies.aws-smithy-runtime]
 7262   9581   
path = "../aws-smithy-runtime"
 7263   9582   
features = ["client"]
 7264   9583   
version = "1.8.5"
 7265   9584   
 7266   9585   
[dependencies.aws-smithy-runtime-api]
 7267   9586   
path = "../aws-smithy-runtime-api"
 7268   9587   
features = ["client", "http-02x"]
 7269   9588   
version = "1.8.5"
 7270   9589   
 7271   9590   
[dependencies.aws-smithy-types]
 7272   9591   
path = "../aws-smithy-types"
 7273   9592   
version = "1.3.2"
 7274   9593   
 7275   9594   
[dependencies.aws-types]
 7276   9595   
path = "../aws-types"
 7277   9596   
version = "1.3.8"
 7278   9597   
 7279   9598   
[dependencies.bytes]
 7280   9599   
version = "1.4.0"
 7281   9600   
 7282   9601   
[dependencies.fastrand]
 7283   9602   
version = "2.0.0"
 7284   9603   
 7285   9604   
[dependencies.http]
 7286   9605   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7287   9606   
index 6518dfc..6b94752 100644
 7288         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
        9607  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7289   9608   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 7290   9609   
edition = "2021"
 7291   9610   
license = "Apache-2.0"
 7292   9611   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7293   9612   
rust-version = "1.86.0"
 7294   9613   
readme = "README.md"
 7295   9614   
[package.metadata.smithy]
 7296   9615   
codegen-version = "ci"
 7297   9616   
[package.metadata.docs.rs]
 7298   9617   
all-features = true
 7299   9618   
targets = ["x86_64-unknown-linux-gnu"]
 7300   9619   
[dependencies.aws-credential-types]
 7301   9620   
path = "../aws-credential-types"
 7302   9621   
version = "1.2.4"
 7303   9622   
 7304   9623   
[dependencies.aws-runtime]
 7305   9624   
path = "../aws-runtime"
 7306   9625   
features = ["event-stream"]
 7307   9626   
version = "1.5.9"
 7308   9627   
 7309   9628   
[dependencies.aws-smithy-async]
 7310   9629   
path = "../aws-smithy-async"
 7311   9630   
version = "1.2.5"
 7312   9631   
 7313   9632   
[dependencies.aws-smithy-eventstream]
 7314   9633   
path = "../aws-smithy-eventstream"
 7315   9634   
version = "0.60.10"
 7316   9635   
 7317   9636   
[dependencies.aws-smithy-http]
 7318   9637   
path = "../aws-smithy-http"
 7319   9638   
features = ["event-stream"]
 7320         -
version = "0.62.2"
        9639  +
version = "0.62.3"
 7321   9640   
 7322   9641   
[dependencies.aws-smithy-json]
 7323   9642   
path = "../aws-smithy-json"
 7324   9643   
version = "0.61.4"
 7325   9644   
 7326   9645   
[dependencies.aws-smithy-runtime]
 7327   9646   
path = "../aws-smithy-runtime"
 7328   9647   
features = ["client"]
 7329   9648   
version = "1.8.5"
 7330   9649   
 7331   9650   
[dependencies.aws-smithy-runtime-api]
 7332   9651   
path = "../aws-smithy-runtime-api"
 7333   9652   
features = ["client", "http-02x"]
 7334   9653   
version = "1.8.5"
 7335   9654   
 7336   9655   
[dependencies.aws-smithy-types]
 7337   9656   
path = "../aws-smithy-types"
 7338   9657   
version = "1.3.2"
 7339   9658   
 7340   9659   
[dependencies.aws-types]
 7341   9660   
path = "../aws-types"
 7342   9661   
version = "1.3.8"
 7343   9662   
 7344   9663   
[dependencies.bytes]
 7345   9664   
version = "1.4.0"
 7346   9665   
 7347   9666   
[dependencies.fastrand]
 7348   9667   
version = "2.0.0"
 7349   9668   
 7350   9669   
[dependencies.http]
 7351   9670   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7352   9671   
index dabb0e0..34cbc15 100644
 7353         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
        9672  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7354   9673   
@@ -1,65 +1,65 @@
 7355   9674   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7356   9675   
[package]
 7357   9676   
name = "aws-sdk-polly"
 7358   9677   
version = "0.0.0-local"
 7359   9678   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7360   9679   
description = "AWS SDK for Amazon Polly"
 7361   9680   
edition = "2021"
 7362   9681   
license = "Apache-2.0"
 7363   9682   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7364   9683   
rust-version = "1.86.0"
 7365   9684   
readme = "README.md"
 7366   9685   
[package.metadata.smithy]
 7367   9686   
codegen-version = "ci"
 7368   9687   
[package.metadata.docs.rs]
 7369   9688   
all-features = true
 7370   9689   
targets = ["x86_64-unknown-linux-gnu"]
 7371   9690   
[dependencies.aws-credential-types]
 7372   9691   
path = "../aws-credential-types"
 7373   9692   
version = "1.2.4"
 7374   9693   
 7375   9694   
[dependencies.aws-runtime]
 7376   9695   
path = "../aws-runtime"
 7377   9696   
version = "1.5.9"
 7378   9697   
 7379   9698   
[dependencies.aws-sigv4]
 7380   9699   
path = "../aws-sigv4"
 7381         -
version = "1.3.3"
        9700  +
version = "1.3.4"
 7382   9701   
 7383   9702   
[dependencies.aws-smithy-async]
 7384   9703   
path = "../aws-smithy-async"
 7385   9704   
version = "1.2.5"
 7386   9705   
 7387   9706   
[dependencies.aws-smithy-http]
 7388   9707   
path = "../aws-smithy-http"
 7389         -
version = "0.62.2"
        9708  +
version = "0.62.3"
 7390   9709   
 7391   9710   
[dependencies.aws-smithy-json]
 7392   9711   
path = "../aws-smithy-json"
 7393   9712   
version = "0.61.4"
 7394   9713   
 7395   9714   
[dependencies.aws-smithy-runtime]
 7396   9715   
path = "../aws-smithy-runtime"
 7397   9716   
features = ["client"]
 7398   9717   
version = "1.8.5"
 7399   9718   
 7400   9719   
[dependencies.aws-smithy-runtime-api]
 7401   9720   
path = "../aws-smithy-runtime-api"
 7402   9721   
features = ["client", "http-02x"]
 7403   9722   
version = "1.8.5"
 7404   9723   
 7405   9724   
[dependencies.aws-smithy-types]
 7406   9725   
path = "../aws-smithy-types"
 7407   9726   
version = "1.3.2"
 7408   9727   
 7409   9728   
[dependencies.aws-types]
 7410   9729   
path = "../aws-types"
 7411   9730   
version = "1.3.8"
 7412   9731   
 7413   9732   
[dependencies.bytes]
 7414   9733   
version = "1.4.0"
 7415   9734   
 7416   9735   
[dependencies.fastrand]
 7417   9736   
version = "2.0.0"
 7418   9737   
 7419   9738   
[dependencies.http]
 7420   9739   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7421   9740   
index a884716..f3d8713 100644
 7422         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
        9741  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7423   9742   
@@ -1,61 +1,61 @@
 7424   9743   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7425   9744   
[package]
 7426   9745   
name = "aws-sdk-qldbsession"
 7427   9746   
version = "0.0.0-local"
 7428   9747   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7429   9748   
description = "AWS SDK for Amazon QLDB Session"
 7430   9749   
edition = "2021"
 7431   9750   
license = "Apache-2.0"
 7432   9751   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7433   9752   
rust-version = "1.86.0"
 7434   9753   
readme = "README.md"
 7435   9754   
[package.metadata.smithy]
 7436   9755   
codegen-version = "ci"
 7437   9756   
[package.metadata.docs.rs]
 7438   9757   
all-features = true
 7439   9758   
targets = ["x86_64-unknown-linux-gnu"]
 7440   9759   
[dependencies.aws-credential-types]
 7441   9760   
path = "../aws-credential-types"
 7442   9761   
version = "1.2.4"
 7443   9762   
 7444   9763   
[dependencies.aws-runtime]
 7445   9764   
path = "../aws-runtime"
 7446   9765   
version = "1.5.9"
 7447   9766   
 7448   9767   
[dependencies.aws-smithy-async]
 7449   9768   
path = "../aws-smithy-async"
 7450   9769   
version = "1.2.5"
 7451   9770   
 7452   9771   
[dependencies.aws-smithy-http]
 7453   9772   
path = "../aws-smithy-http"
 7454         -
version = "0.62.2"
        9773  +
version = "0.62.3"
 7455   9774   
 7456   9775   
[dependencies.aws-smithy-json]
 7457   9776   
path = "../aws-smithy-json"
 7458   9777   
version = "0.61.4"
 7459   9778   
 7460   9779   
[dependencies.aws-smithy-runtime]
 7461   9780   
path = "../aws-smithy-runtime"
 7462   9781   
features = ["client"]
 7463   9782   
version = "1.8.5"
 7464   9783   
 7465   9784   
[dependencies.aws-smithy-runtime-api]
 7466   9785   
path = "../aws-smithy-runtime-api"
 7467   9786   
features = ["client", "http-02x"]
 7468   9787   
version = "1.8.5"
 7469   9788   
 7470   9789   
[dependencies.aws-smithy-types]
 7471   9790   
path = "../aws-smithy-types"
 7472   9791   
version = "1.3.2"
 7473   9792   
 7474   9793   
[dependencies.aws-types]
 7475   9794   
path = "../aws-types"
 7476   9795   
version = "1.3.8"
 7477   9796   
 7478   9797   
[dependencies.bytes]
 7479   9798   
version = "1.4.0"
 7480   9799   
 7481   9800   
[dependencies.fastrand]
 7482   9801   
version = "2.0.0"
 7483   9802   
 7484   9803   
[dependencies.http]
 7485   9804   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7486   9805   
index 32a7dc9..a2c752d 100644
 7487         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
        9806  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7488   9807   
@@ -1,61 +1,61 @@
 7489   9808   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7490   9809   
[package]
 7491   9810   
name = "aws-sdk-route53"
 7492   9811   
version = "0.0.0-local"
 7493   9812   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7494   9813   
description = "AWS SDK for Amazon Route 53"
 7495   9814   
edition = "2021"
 7496   9815   
license = "Apache-2.0"
 7497   9816   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7498   9817   
rust-version = "1.86.0"
 7499   9818   
readme = "README.md"
 7500   9819   
[package.metadata.smithy]
 7501   9820   
codegen-version = "ci"
 7502   9821   
[package.metadata.docs.rs]
 7503   9822   
all-features = true
 7504   9823   
targets = ["x86_64-unknown-linux-gnu"]
 7505   9824   
[dependencies.aws-credential-types]
 7506   9825   
path = "../aws-credential-types"
 7507   9826   
version = "1.2.4"
 7508   9827   
 7509   9828   
[dependencies.aws-runtime]
 7510   9829   
path = "../aws-runtime"
 7511   9830   
version = "1.5.9"
 7512   9831   
 7513   9832   
[dependencies.aws-smithy-async]
 7514   9833   
path = "../aws-smithy-async"
 7515   9834   
version = "1.2.5"
 7516   9835   
 7517   9836   
[dependencies.aws-smithy-http]
 7518   9837   
path = "../aws-smithy-http"
 7519         -
version = "0.62.2"
        9838  +
version = "0.62.3"
 7520   9839   
 7521   9840   
[dependencies.aws-smithy-json]
 7522   9841   
path = "../aws-smithy-json"
 7523   9842   
version = "0.61.4"
 7524   9843   
 7525   9844   
[dependencies.aws-smithy-runtime]
 7526   9845   
path = "../aws-smithy-runtime"
 7527   9846   
features = ["client"]
 7528   9847   
version = "1.8.5"
 7529   9848   
 7530   9849   
[dependencies.aws-smithy-runtime-api]
 7531   9850   
path = "../aws-smithy-runtime-api"
 7532   9851   
features = ["client", "http-02x"]
 7533   9852   
version = "1.8.5"
 7534   9853   
 7535   9854   
[dependencies.aws-smithy-types]
 7536   9855   
path = "../aws-smithy-types"
 7537   9856   
version = "1.3.2"
 7538   9857   
 7539   9858   
[dependencies.aws-smithy-xml]
 7540   9859   
path = "../aws-smithy-xml"
 7541   9860   
version = "0.60.10"
 7542   9861   
 7543   9862   
[dependencies.aws-types]
 7544   9863   
path = "../aws-types"
 7545   9864   
version = "1.3.8"
 7546   9865   
 7547   9866   
[dependencies.fastrand]
 7548   9867   
version = "2.0.0"
 7549   9868   
 7550   9869   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7551   9870   
index f65e261..2f6bec0 100644
 7552         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
        9871  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7553   9872   
@@ -1,75 +1,75 @@
 7554   9873   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7555   9874   
[package]
 7556   9875   
name = "aws-sdk-s3"
 7557   9876   
version = "0.0.0-local"
 7558   9877   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7559   9878   
description = "AWS SDK for Amazon Simple Storage Service"
 7560   9879   
edition = "2021"
 7561   9880   
license = "Apache-2.0"
 7562   9881   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7563   9882   
rust-version = "1.86.0"
 7564   9883   
readme = "README.md"
 7565   9884   
[package.metadata.smithy]
 7566   9885   
codegen-version = "ci"
 7567   9886   
[package.metadata.docs.rs]
 7568   9887   
all-features = true
 7569   9888   
targets = ["x86_64-unknown-linux-gnu"]
 7570   9889   
[dependencies.aws-credential-types]
 7571   9890   
path = "../aws-credential-types"
 7572   9891   
version = "1.2.4"
 7573   9892   
 7574   9893   
[dependencies.aws-runtime]
 7575   9894   
path = "../aws-runtime"
 7576   9895   
features = ["event-stream", "http-02x"]
 7577   9896   
version = "1.5.9"
 7578   9897   
 7579   9898   
[dependencies.aws-sigv4]
 7580   9899   
path = "../aws-sigv4"
 7581         -
version = "1.3.3"
        9900  +
version = "1.3.4"
 7582   9901   
 7583   9902   
[dependencies.aws-smithy-async]
 7584   9903   
path = "../aws-smithy-async"
 7585   9904   
version = "1.2.5"
 7586   9905   
 7587   9906   
[dependencies.aws-smithy-checksums]
 7588   9907   
path = "../aws-smithy-checksums"
 7589   9908   
version = "0.63.5"
 7590   9909   
 7591   9910   
[dependencies.aws-smithy-eventstream]
 7592   9911   
path = "../aws-smithy-eventstream"
 7593   9912   
version = "0.60.10"
 7594   9913   
 7595   9914   
[dependencies.aws-smithy-http]
 7596   9915   
path = "../aws-smithy-http"
 7597   9916   
features = ["event-stream"]
 7598         -
version = "0.62.2"
        9917  +
version = "0.62.3"
 7599   9918   
 7600   9919   
[dependencies.aws-smithy-json]
 7601   9920   
path = "../aws-smithy-json"
 7602   9921   
version = "0.61.4"
 7603   9922   
 7604   9923   
[dependencies.aws-smithy-runtime]
 7605   9924   
path = "../aws-smithy-runtime"
 7606   9925   
features = ["client"]
 7607   9926   
version = "1.8.5"
 7608   9927   
 7609   9928   
[dependencies.aws-smithy-runtime-api]
 7610   9929   
path = "../aws-smithy-runtime-api"
 7611   9930   
features = ["client", "http-02x"]
 7612   9931   
version = "1.8.5"
 7613   9932   
 7614   9933   
[dependencies.aws-smithy-types]
 7615   9934   
path = "../aws-smithy-types"
 7616   9935   
version = "1.3.2"
 7617   9936   
 7618   9937   
[dependencies.aws-smithy-xml]
 7619   9938   
path = "../aws-smithy-xml"
 7620   9939   
version = "0.60.10"
 7621   9940   
 7622   9941   
[dependencies.aws-types]
 7623   9942   
path = "../aws-types"
 7624   9943   
version = "1.3.8"
 7625   9944   
 7626   9945   
[dependencies.bytes]
 7627   9946   
version = "1.4.0"
 7628   9947   
 7629   9948   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7630   9949   
index b4d1cdd..861c0cc 100644
 7631         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
        9950  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7632   9951   
@@ -1,61 +1,61 @@
 7633   9952   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7634   9953   
[package]
 7635   9954   
name = "aws-sdk-s3control"
 7636   9955   
version = "0.0.0-local"
 7637   9956   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7638   9957   
description = "AWS SDK for AWS S3 Control"
 7639   9958   
edition = "2021"
 7640   9959   
license = "Apache-2.0"
 7641   9960   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7642   9961   
rust-version = "1.86.0"
 7643   9962   
readme = "README.md"
 7644   9963   
[package.metadata.smithy]
 7645   9964   
codegen-version = "ci"
 7646   9965   
[package.metadata.docs.rs]
 7647   9966   
all-features = true
 7648   9967   
targets = ["x86_64-unknown-linux-gnu"]
 7649   9968   
[dependencies.aws-credential-types]
 7650   9969   
path = "../aws-credential-types"
 7651   9970   
version = "1.2.4"
 7652   9971   
 7653   9972   
[dependencies.aws-runtime]
 7654   9973   
path = "../aws-runtime"
 7655   9974   
version = "1.5.9"
 7656   9975   
 7657   9976   
[dependencies.aws-smithy-async]
 7658   9977   
path = "../aws-smithy-async"
 7659   9978   
version = "1.2.5"
 7660   9979   
 7661   9980   
[dependencies.aws-smithy-http]
 7662   9981   
path = "../aws-smithy-http"
 7663         -
version = "0.62.2"
        9982  +
version = "0.62.3"
 7664   9983   
 7665   9984   
[dependencies.aws-smithy-json]
 7666   9985   
path = "../aws-smithy-json"
 7667   9986   
version = "0.61.4"
 7668   9987   
 7669   9988   
[dependencies.aws-smithy-runtime]
 7670   9989   
path = "../aws-smithy-runtime"
 7671   9990   
features = ["client"]
 7672   9991   
version = "1.8.5"
 7673   9992   
 7674   9993   
[dependencies.aws-smithy-runtime-api]
 7675   9994   
path = "../aws-smithy-runtime-api"
 7676   9995   
features = ["client", "http-02x"]
 7677   9996   
version = "1.8.5"
 7678   9997   
 7679   9998   
[dependencies.aws-smithy-types]
 7680   9999   
path = "../aws-smithy-types"
 7681  10000   
version = "1.3.2"
 7682  10001   
 7683  10002   
[dependencies.aws-smithy-xml]
 7684  10003   
path = "../aws-smithy-xml"
 7685  10004   
version = "0.60.10"
 7686  10005   
 7687  10006   
[dependencies.aws-types]
 7688  10007   
path = "../aws-types"
 7689  10008   
version = "1.3.8"
 7690  10009   
 7691  10010   
[dependencies.fastrand]
 7692  10011   
version = "2.0.0"
 7693  10012   
 7694  10013   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7695  10014   
index 2cde182..fc367f4 100644
 7696         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
       10015  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7697  10016   
@@ -1,61 +1,61 @@
 7698  10017   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7699  10018   
[package]
 7700  10019   
name = "aws-sdk-sso"
 7701  10020   
version = "0.0.0-local"
 7702  10021   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7703  10022   
description = "AWS SDK for AWS Single Sign-On"
 7704  10023   
edition = "2021"
 7705  10024   
license = "Apache-2.0"
 7706  10025   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7707  10026   
rust-version = "1.86.0"
 7708  10027   
readme = "README.md"
 7709  10028   
[package.metadata.smithy]
 7710  10029   
codegen-version = "ci"
 7711  10030   
[package.metadata.docs.rs]
 7712  10031   
all-features = true
 7713  10032   
targets = ["x86_64-unknown-linux-gnu"]
 7714  10033   
[dependencies.aws-credential-types]
 7715  10034   
path = "../aws-credential-types"
 7716  10035   
version = "1.2.4"
 7717  10036   
 7718  10037   
[dependencies.aws-runtime]
 7719  10038   
path = "../aws-runtime"
 7720  10039   
version = "1.5.9"
 7721  10040   
 7722  10041   
[dependencies.aws-smithy-async]
 7723  10042   
path = "../aws-smithy-async"
 7724  10043   
version = "1.2.5"
 7725  10044   
 7726  10045   
[dependencies.aws-smithy-http]
 7727  10046   
path = "../aws-smithy-http"
 7728         -
version = "0.62.2"
       10047  +
version = "0.62.3"
 7729  10048   
 7730  10049   
[dependencies.aws-smithy-json]
 7731  10050   
path = "../aws-smithy-json"
 7732  10051   
version = "0.61.4"
 7733  10052   
 7734  10053   
[dependencies.aws-smithy-runtime]
 7735  10054   
path = "../aws-smithy-runtime"
 7736  10055   
features = ["client"]
 7737  10056   
version = "1.8.5"
 7738  10057   
 7739  10058   
[dependencies.aws-smithy-runtime-api]
 7740  10059   
path = "../aws-smithy-runtime-api"
 7741  10060   
features = ["client", "http-02x"]
 7742  10061   
version = "1.8.5"
 7743  10062   
 7744  10063   
[dependencies.aws-smithy-types]
 7745  10064   
path = "../aws-smithy-types"
 7746  10065   
version = "1.3.2"
 7747  10066   
 7748  10067   
[dependencies.aws-types]
 7749  10068   
path = "../aws-types"
 7750  10069   
version = "1.3.8"
 7751  10070   
 7752  10071   
[dependencies.bytes]
 7753  10072   
version = "1.4.0"
 7754  10073   
 7755  10074   
[dependencies.fastrand]
 7756  10075   
version = "2.0.0"
 7757  10076   
 7758  10077   
[dependencies.http]
 7759  10078   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7760  10079   
index 7a34c16..588d0bd 100644
 7761         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       10080  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7762  10081   
@@ -1,61 +1,61 @@
 7763  10082   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7764  10083   
[package]
 7765  10084   
name = "aws-sdk-ssooidc"
 7766  10085   
version = "0.0.0-local"
 7767  10086   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7768  10087   
description = "AWS SDK for AWS SSO OIDC"
 7769  10088   
edition = "2021"
 7770  10089   
license = "Apache-2.0"
 7771  10090   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7772  10091   
rust-version = "1.86.0"
 7773  10092   
readme = "README.md"
 7774  10093   
[package.metadata.smithy]
 7775  10094   
codegen-version = "ci"
 7776  10095   
[package.metadata.docs.rs]
 7777  10096   
all-features = true
 7778  10097   
targets = ["x86_64-unknown-linux-gnu"]
 7779  10098   
[dependencies.aws-credential-types]
 7780  10099   
path = "../aws-credential-types"
 7781  10100   
version = "1.2.4"
 7782  10101   
 7783  10102   
[dependencies.aws-runtime]
 7784  10103   
path = "../aws-runtime"
 7785  10104   
version = "1.5.9"
 7786  10105   
 7787  10106   
[dependencies.aws-smithy-async]
 7788  10107   
path = "../aws-smithy-async"
 7789  10108   
version = "1.2.5"
 7790  10109   
 7791  10110   
[dependencies.aws-smithy-http]
 7792  10111   
path = "../aws-smithy-http"
 7793         -
version = "0.62.2"
       10112  +
version = "0.62.3"
 7794  10113   
 7795  10114   
[dependencies.aws-smithy-json]
 7796  10115   
path = "../aws-smithy-json"
 7797  10116   
version = "0.61.4"
 7798  10117   
 7799  10118   
[dependencies.aws-smithy-runtime]
 7800  10119   
path = "../aws-smithy-runtime"
 7801  10120   
features = ["client"]
 7802  10121   
version = "1.8.5"
 7803  10122   
 7804  10123   
[dependencies.aws-smithy-runtime-api]
 7805  10124   
path = "../aws-smithy-runtime-api"
 7806  10125   
features = ["client", "http-02x"]
 7807  10126   
version = "1.8.5"
 7808  10127   
 7809  10128   
[dependencies.aws-smithy-types]
 7810  10129   
path = "../aws-smithy-types"
 7811  10130   
version = "1.3.2"
 7812  10131   
 7813  10132   
[dependencies.aws-types]
 7814  10133   
path = "../aws-types"
 7815  10134   
version = "1.3.8"
 7816  10135   
 7817  10136   
[dependencies.bytes]
 7818  10137   
version = "1.4.0"
 7819  10138   
 7820  10139   
[dependencies.fastrand]
 7821  10140   
version = "2.0.0"
 7822  10141   
 7823  10142   
[dependencies.http]
 7824  10143   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7825  10144   
index 895dfb3..f2ce34e 100644
 7826         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       10145  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7827  10146   
@@ -1,61 +1,61 @@
 7828  10147   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7829  10148   
[package]
 7830  10149   
name = "aws-sdk-sts"
 7831  10150   
version = "0.0.0-local"
 7832  10151   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7833  10152   
description = "AWS SDK for AWS Security Token Service"
 7834  10153   
edition = "2021"
 7835  10154   
license = "Apache-2.0"
 7836  10155   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7837  10156   
rust-version = "1.86.0"
 7838  10157   
readme = "README.md"
 7839  10158   
[package.metadata.smithy]
 7840  10159   
codegen-version = "ci"
 7841  10160   
[package.metadata.docs.rs]
 7842  10161   
all-features = true
 7843  10162   
targets = ["x86_64-unknown-linux-gnu"]
 7844  10163   
[dependencies.aws-credential-types]
 7845  10164   
path = "../aws-credential-types"
 7846  10165   
version = "1.2.4"
 7847  10166   
 7848  10167   
[dependencies.aws-runtime]
 7849  10168   
path = "../aws-runtime"
 7850  10169   
version = "1.5.9"
 7851  10170   
 7852  10171   
[dependencies.aws-smithy-async]
 7853  10172   
path = "../aws-smithy-async"
 7854  10173   
version = "1.2.5"
 7855  10174   
 7856  10175   
[dependencies.aws-smithy-http]
 7857  10176   
path = "../aws-smithy-http"
 7858         -
version = "0.62.2"
       10177  +
version = "0.62.3"
 7859  10178   
 7860  10179   
[dependencies.aws-smithy-json]
 7861  10180   
path = "../aws-smithy-json"
 7862  10181   
version = "0.61.4"
 7863  10182   
 7864  10183   
[dependencies.aws-smithy-query]
 7865  10184   
path = "../aws-smithy-query"
 7866  10185   
version = "0.60.7"
 7867  10186   
 7868  10187   
[dependencies.aws-smithy-runtime]
 7869  10188   
path = "../aws-smithy-runtime"
 7870  10189   
features = ["client"]
 7871  10190   
version = "1.8.5"
 7872  10191   
 7873  10192   
[dependencies.aws-smithy-runtime-api]
 7874  10193   
path = "../aws-smithy-runtime-api"
 7875  10194   
features = ["client", "http-02x"]
 7876  10195   
version = "1.8.5"
 7877  10196   
 7878  10197   
[dependencies.aws-smithy-types]
 7879  10198   
path = "../aws-smithy-types"
 7880  10199   
version = "1.3.2"
 7881  10200   
 7882  10201   
[dependencies.aws-smithy-xml]
 7883  10202   
path = "../aws-smithy-xml"
 7884  10203   
version = "0.60.10"
 7885  10204   
 7886  10205   
[dependencies.aws-types]
 7887  10206   
path = "../aws-types"
 7888  10207   
version = "1.3.8"
 7889  10208   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 7890  10209   
index d556561..91178b6 100644
 7891         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       10210  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 7892  10211   
@@ -1,61 +1,61 @@
 7893  10212   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7894  10213   
[package]
 7895  10214   
name = "aws-sdk-timestreamquery"
 7896  10215   
version = "0.0.0-local"
 7897  10216   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7898  10217   
description = "AWS SDK for Amazon Timestream Query"
 7899  10218   
edition = "2021"
 7900  10219   
license = "Apache-2.0"
 7901  10220   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7902  10221   
rust-version = "1.86.0"
 7903  10222   
readme = "README.md"
 7904  10223   
[package.metadata.smithy]
 7905  10224   
codegen-version = "ci"
 7906  10225   
[package.metadata.docs.rs]
 7907  10226   
all-features = true
 7908  10227   
targets = ["x86_64-unknown-linux-gnu"]
 7909  10228   
[dependencies.aws-credential-types]
 7910  10229   
path = "../aws-credential-types"
 7911  10230   
version = "1.2.4"
 7912  10231   
 7913  10232   
[dependencies.aws-runtime]
 7914  10233   
path = "../aws-runtime"
 7915  10234   
version = "1.5.9"
 7916  10235   
 7917  10236   
[dependencies.aws-smithy-async]
 7918  10237   
path = "../aws-smithy-async"
 7919  10238   
version = "1.2.5"
 7920  10239   
 7921  10240   
[dependencies.aws-smithy-http]
 7922  10241   
path = "../aws-smithy-http"
 7923         -
version = "0.62.2"
       10242  +
version = "0.62.3"
 7924  10243   
 7925  10244   
[dependencies.aws-smithy-json]
 7926  10245   
path = "../aws-smithy-json"
 7927  10246   
version = "0.61.4"
 7928  10247   
 7929  10248   
[dependencies.aws-smithy-runtime]
 7930  10249   
path = "../aws-smithy-runtime"
 7931  10250   
features = ["client"]
 7932  10251   
version = "1.8.5"
 7933  10252   
 7934  10253   
[dependencies.aws-smithy-runtime-api]
 7935  10254   
path = "../aws-smithy-runtime-api"
 7936  10255   
features = ["client", "http-02x"]
 7937  10256   
version = "1.8.5"
 7938  10257   
 7939  10258   
[dependencies.aws-smithy-types]
 7940  10259   
path = "../aws-smithy-types"
 7941  10260   
version = "1.3.2"
 7942  10261   
 7943  10262   
[dependencies.aws-types]
 7944  10263   
path = "../aws-types"
 7945  10264   
version = "1.3.8"
 7946  10265   
 7947  10266   
[dependencies.bytes]
 7948  10267   
version = "1.4.0"
 7949  10268   
 7950  10269   
[dependencies.fastrand]
 7951  10270   
version = "2.0.0"
 7952  10271   
 7953  10272   
[dependencies.http]
 7954  10273   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 7955  10274   
index 0c56e4c..95731e3 100644
 7956         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       10275  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 7957  10276   
@@ -1,61 +1,61 @@
 7958  10277   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7959  10278   
[package]
 7960  10279   
name = "aws-sdk-timestreamwrite"
 7961  10280   
version = "0.0.0-local"
 7962  10281   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7963  10282   
description = "AWS SDK for Amazon Timestream Write"
 7964  10283   
edition = "2021"
 7965  10284   
license = "Apache-2.0"
 7966  10285   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7967  10286   
rust-version = "1.86.0"
 7968  10287   
readme = "README.md"
 7969  10288   
[package.metadata.smithy]
 7970  10289   
codegen-version = "ci"
 7971  10290   
[package.metadata.docs.rs]
 7972  10291   
all-features = true
 7973  10292   
targets = ["x86_64-unknown-linux-gnu"]
 7974  10293   
[dependencies.aws-credential-types]
 7975  10294   
path = "../aws-credential-types"
 7976  10295   
version = "1.2.4"
 7977  10296   
 7978  10297   
[dependencies.aws-runtime]
 7979  10298   
path = "../aws-runtime"
 7980  10299   
version = "1.5.9"
 7981  10300   
 7982  10301   
[dependencies.aws-smithy-async]
 7983  10302   
path = "../aws-smithy-async"
 7984  10303   
version = "1.2.5"
 7985  10304   
 7986  10305   
[dependencies.aws-smithy-http]
 7987  10306   
path = "../aws-smithy-http"
 7988         -
version = "0.62.2"
       10307  +
version = "0.62.3"
 7989  10308   
 7990  10309   
[dependencies.aws-smithy-json]
 7991  10310   
path = "../aws-smithy-json"
 7992  10311   
version = "0.61.4"
 7993  10312   
 7994  10313   
[dependencies.aws-smithy-runtime]
 7995  10314   
path = "../aws-smithy-runtime"
 7996  10315   
features = ["client"]
 7997  10316   
version = "1.8.5"
 7998  10317   
 7999  10318   
[dependencies.aws-smithy-runtime-api]
 8000  10319   
path = "../aws-smithy-runtime-api"
 8001  10320   
features = ["client", "http-02x"]
 8002  10321   
version = "1.8.5"
 8003  10322   
 8004  10323   
[dependencies.aws-smithy-types]
 8005  10324   
path = "../aws-smithy-types"
 8006  10325   
version = "1.3.2"
 8007  10326   
 8008  10327   
[dependencies.aws-types]
 8009  10328   
path = "../aws-types"
 8010  10329   
version = "1.3.8"
 8011  10330   
 8012  10331   
[dependencies.bytes]
 8013  10332   
version = "1.4.0"
 8014  10333   
 8015  10334   
[dependencies.fastrand]
 8016  10335   
version = "2.0.0"
 8017  10336   
 8018  10337   
[dependencies.http]
 8019  10338   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8020  10339   
index 5b35037..9fb220a 100644
 8021         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       10340  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8022  10341   
@@ -1,71 +1,71 @@
 8023  10342   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8024  10343   
[package]
 8025  10344   
name = "aws-sdk-transcribestreaming"
 8026  10345   
version = "0.0.0-local"
 8027  10346   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8028  10347   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 8029  10348   
edition = "2021"
 8030  10349   
license = "Apache-2.0"
 8031  10350   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8032  10351   
rust-version = "1.86.0"
 8033  10352   
readme = "README.md"
 8034  10353   
[package.metadata.smithy]
 8035  10354   
codegen-version = "ci"
 8036  10355   
[package.metadata.docs.rs]
 8037  10356   
all-features = true
 8038  10357   
targets = ["x86_64-unknown-linux-gnu"]
 8039  10358   
[dependencies.aws-credential-types]
 8040  10359   
path = "../aws-credential-types"
 8041  10360   
version = "1.2.4"
 8042  10361   
 8043  10362   
[dependencies.aws-runtime]
 8044  10363   
path = "../aws-runtime"
 8045  10364   
features = ["event-stream"]
 8046  10365   
version = "1.5.9"
 8047  10366   
 8048  10367   
[dependencies.aws-sigv4]
 8049  10368   
path = "../aws-sigv4"
 8050         -
version = "1.3.3"
       10369  +
version = "1.3.4"
 8051  10370   
 8052  10371   
[dependencies.aws-smithy-async]
 8053  10372   
path = "../aws-smithy-async"
 8054  10373   
version = "1.2.5"
 8055  10374   
 8056  10375   
[dependencies.aws-smithy-eventstream]
 8057  10376   
path = "../aws-smithy-eventstream"
 8058  10377   
version = "0.60.10"
 8059  10378   
 8060  10379   
[dependencies.aws-smithy-http]
 8061  10380   
path = "../aws-smithy-http"
 8062  10381   
features = ["event-stream"]
 8063         -
version = "0.62.2"
       10382  +
version = "0.62.3"
 8064  10383   
 8065  10384   
[dependencies.aws-smithy-json]
 8066  10385   
path = "../aws-smithy-json"
 8067  10386   
version = "0.61.4"
 8068  10387   
 8069  10388   
[dependencies.aws-smithy-runtime]
 8070  10389   
path = "../aws-smithy-runtime"
 8071  10390   
features = ["client"]
 8072  10391   
version = "1.8.5"
 8073  10392