AWS SDK

AWS SDK

rev. 3964b40d6806bc3f52bd311e2c791030c3325f2c (ignoring whitespace)

Files changed:

tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sreq

@@ -1,0 +4,0 @@
    1         -
GET //example// HTTP/1.1
    2         -
Host:example.amazonaws.com
    3         -
X-Amz-Date:20150830T123600Z
    4         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84

tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.authz

@@ -1,0 +8103,10396 @@
    1         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
    2      0   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sreq
    3      1   
deleted file mode 100644
    4      2   
index eefa20c..0000000
    5         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sreq
           3  +
++ /dev/null
    6      4   
@@ -1,4 +0,0 @@
    7         -
GET /example space/ HTTP/1.1
    8         -
Host:example.amazonaws.com
    9         -
X-Amz-Date:20150830T123600Z
   10         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
   11      5   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/normalize-path.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/normalize-path.txt
   12      6   
deleted file mode 100644
   13      7   
index c2fcb27..0000000
   14         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/normalize-path.txt
           8  +
++ /dev/null
   15      9   
@@ -1,3 +0,0 @@
   16         -
A note about signing requests to Amazon S3:
   17         -

   18         -
In exception to this, you do not normalize URI paths for requests to Amazon S3. For example, if you have a bucket with an object named my-object//example//photo.user, use that path. Normalizing the path to my-object/example/photo.user will cause the request to fail. For more information, see Task 1: Create a Canonical Request in the Amazon Simple Storage Service API Reference: http://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html#canonical-request
              \
 No newline at end of file
   19     10   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.authz
   20     11   
deleted file mode 100644
   21     12   
index 89e572e..0000000
   22         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.authz
          13  +
++ /dev/null
   23     14   
@@ -1 +0,0 @@
   24         -
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
   25     15   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sreq
   26     16   
deleted file mode 100644
   27     17   
index fcf23ce..0000000
   28         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sreq
          18  +
++ /dev/null
   29     19   
@@ -1,4 +0,0 @@
   30         -
POST / HTTP/1.1
   31         -
Host:example.amazonaws.com
   32         -
X-Amz-Date:20150830T123600Z
   33         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
   34     20   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.authz
   35     21   
deleted file mode 100644
   36     22   
index a62589f..0000000
   37         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.authz
          23  +
++ /dev/null
   38     24   
@@ -1 +0,0 @@
   39         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
   40     25   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sreq
   41     26   
deleted file mode 100644
   42     27   
index b4b78a1..0000000
   43         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sreq
          28  +
++ /dev/null
   44     29   
@@ -1,5 +0,0 @@
   45         -
POST / HTTP/1.1
   46         -
Host:example.amazonaws.com
   47         -
My-Header1:value1
   48         -
X-Amz-Date:20150830T123600Z
   49         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
   50     30   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.authz
   51     31   
deleted file mode 100644
   52     32   
index d9e52a3..0000000
   53         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.authz
          33  +
++ /dev/null
   54     34   
@@ -1 +0,0 @@
   55         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
   56     35   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sreq
   57     36   
deleted file mode 100644
   58     37   
index 99c3210..0000000
   59         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sreq
          38  +
++ /dev/null
   60     39   
@@ -1,5 +0,0 @@
   61         -
POST / HTTP/1.1
   62         -
Host:example.amazonaws.com
   63         -
My-Header1:VALUE1
   64         -
X-Amz-Date:20150830T123600Z
   65         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
   66     40   
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.authz b/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
   67     41   
deleted file mode 100644
   68     42   
index 89e572e..0000000
   69         -
-- 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.authz
          43  +
++ /dev/null
   70     44   
@@ -1 +0,0 @@
   71         -
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
   72     45   
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
   73     46   
deleted file mode 100644
   74     47   
index 64aa046..0000000
   75         -
-- 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
          48  +
++ /dev/null
   76     49   
@@ -1 +0,0 @@
   77         -
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
   78     50   
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
   79     51   
deleted file mode 100644
   80     52   
index cc34282..0000000
   81         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/readme.txt
          53  +
++ /dev/null
   82     54   
@@ -1,15 +0,0 @@
   83         -
A note about using temporary security credentials:
   84         -

   85         -
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).
   86         -

   87         -
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.
   88         -

   89         -
The test suite has 2 examples:
   90         -

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

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

   95         -
The test suite uses this example value for X-Amz-Security-Token:
   96         -

   97         -
AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 No newline at end of file
   98     55   
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
   99     56   
deleted file mode 100644
  100     57   
index 44280cd..0000000
  101         -
-- 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
          58  +
++ /dev/null
  102     59   
@@ -1 +0,0 @@
  103         -
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
  104     60   
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
  105     61   
deleted file mode 100644
  106     62   
index 82af150..0000000
  107         -
-- 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
          63  +
++ /dev/null
  108     64   
@@ -1,4 +0,0 @@
  109         -
POST /?Param1=value1 HTTP/1.1
  110         -
Host:example.amazonaws.com
  111         -
X-Amz-Date:20150830T123600Z
  112         -
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
  113     65   
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
  114     66   
deleted file mode 100644
  115     67   
index 44280cd..0000000
  116         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz
          68  +
++ /dev/null
  117     69   
@@ -1 +0,0 @@
  118         -
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
  119     70   
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
  120     71   
deleted file mode 100644
  121     72   
index 82af150..0000000
  122         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq
          73  +
++ /dev/null
  123     74   
@@ -1,4 +0,0 @@
  124         -
POST /?Param1=value1 HTTP/1.1
  125         -
Host:example.amazonaws.com
  126         -
X-Amz-Date:20150830T123600Z
  127         -
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
  128     75   
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
  129     76   
deleted file mode 100644
  130     77   
index 89e572e..0000000
  131         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
          78  +
++ /dev/null
  132     79   
@@ -1 +0,0 @@
  133         -
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
  134     80   
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
  135     81   
deleted file mode 100644
  136     82   
index a5ada0d..0000000
  137         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq
          83  +
++ /dev/null
  138     84   
@@ -1,4 +0,0 @@
  139         -
POST / HTTP/1.1
  140         -
Host:example.amazonaws.com
  141         -
X-Amz-Date:20150830T123600Z
  142         -
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
  143     85   
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
  144     86   
deleted file mode 100644
  145     87   
index df90ca3..0000000
  146         -
-- 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
          88  +
++ /dev/null
  147     89   
@@ -1 +0,0 @@
  148         -
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
  149     90   
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
  150     91   
deleted file mode 100644
  151     92   
index 457b0d5..0000000
  152         -
-- 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
          93  +
++ /dev/null
  153     94   
@@ -1,9 +0,0 @@
  154         -
POST
  155         -
/
  156         -
Param1=value1
  157         -
content-type:application/x-www-form-urlencoded; charset=utf-8
  158         -
host:example.amazonaws.com
  159         -
x-amz-date:20150830T123600Z
  160         -
  161         -
content-type;host;x-amz-date
  162         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  163     95   
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
  164     96   
deleted file mode 100644
  165     97   
index b8ecb89..0000000
  166         -
-- 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
          98  +
++ /dev/null
  167     99   
@@ -1,7 +0,0 @@
  168         -
POST / HTTP/1.1
  169         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  170         -
Host:example.amazonaws.com
  171         -
X-Amz-Date:20150830T123600Z
  172         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393
  173         -
  174         -
Param1=value1
              \
 No newline at end of file
  175    100   
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
  176    101   
deleted file mode 100644
  177    102   
index 79077d2..0000000
  178         -
-- 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
         103  +
++ /dev/null
  179    104   
@@ -1 +0,0 @@
  180         -
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
  181    105   
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
  182    106   
deleted file mode 100644
  183    107   
index 7852617..0000000
  184         -
-- 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
         108  +
++ /dev/null
  185    109   
@@ -1,4 +0,0 @@
  186         -
POST / HTTP/1.1
  187         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  188         -
Host:example.amazonaws.com
  189         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
  190    110   
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
  191    111   
deleted file mode 100644
  192    112   
index 3e2e571..0000000
  193         -
-- 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
         113  +
++ /dev/null
  194    114   
@@ -1,4 +0,0 @@
  195         -
POST / HTTP/1.1
  196         -
Host:example.amazonaws.com
  197         -
X-Amz-Date:20150830T123600Z
  198         -
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
  199    115   
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
  200    116   
deleted file mode 100644
  201    117   
index 89ceae8..0000000
  202         -
-- 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
         118  +
++ /dev/null
  203    119   
@@ -1,4 +0,0 @@
  204         -
AWS4-HMAC-SHA256
  205         -
20150830T123600Z
  206         -
20150830/us-east-1/service/aws4_request
  207         -
6a42edc18395dd67cc71407d4307ff29ab1646b08c1a0107edb319e08e2bc584
              \
 No newline at end of file
  208    120   
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
  209    121   
deleted file mode 100755
  210    122   
index d645695..0000000
  211         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE
         123  +
++ /dev/null
  212    124   
@@ -1,202 +0,0 @@
  213         -
  214         -
                                 Apache License
  215         -
                           Version 2.0, January 2004
  216         -
                        http://www.apache.org/licenses/
  217         -
  218         -
   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  219         -
  220         -
   1. Definitions.
  221         -
  222         -
      "License" shall mean the terms and conditions for use, reproduction,
  223         -
      and distribution as defined by Sections 1 through 9 of this document.
  224         -
  225         -
      "Licensor" shall mean the copyright owner or entity authorized by
  226         -
      the copyright owner that is granting the License.
  227         -
  228         -
      "Legal Entity" shall mean the union of the acting entity and all
  229         -
      other entities that control, are controlled by, or are under common
  230         -
      control with that entity. For the purposes of this definition,
  231         -
      "control" means (i) the power, direct or indirect, to cause the
  232         -
      direction or management of such entity, whether by contract or
  233         -
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
  234         -
      outstanding shares, or (iii) beneficial ownership of such entity.
  235         -
  236         -
      "You" (or "Your") shall mean an individual or Legal Entity
  237         -
      exercising permissions granted by this License.
  238         -
  239         -
      "Source" form shall mean the preferred form for making modifications,
  240         -
      including but not limited to software source code, documentation
  241         -
      source, and configuration files.
  242         -
  243         -
      "Object" form shall mean any form resulting from mechanical
  244         -
      transformation or translation of a Source form, including but
  245         -
      not limited to compiled object code, generated documentation,
  246         -
      and conversions to other media types.
  247         -
  248         -
      "Work" shall mean the work of authorship, whether in Source or
  249         -
      Object form, made available under the License, as indicated by a
  250         -
      copyright notice that is included in or attached to the work
  251         -
      (an example is provided in the Appendix below).
  252         -
  253         -
      "Derivative Works" shall mean any work, whether in Source or Object
  254         -
      form, that is based on (or derived from) the Work and for which the
  255         -
      editorial revisions, annotations, elaborations, or other modifications
  256         -
      represent, as a whole, an original work of authorship. For the purposes
  257         -
      of this License, Derivative Works shall not include works that remain
  258         -
      separable from, or merely link (or bind by name) to the interfaces of,
  259         -
      the Work and Derivative Works thereof.
  260         -
  261         -
      "Contribution" shall mean any work of authorship, including
  262         -
      the original version of the Work and any modifications or additions
  263         -
      to that Work or Derivative Works thereof, that is intentionally
  264         -
      submitted to Licensor for inclusion in the Work by the copyright owner
  265         -
      or by an individual or Legal Entity authorized to submit on behalf of
  266         -
      the copyright owner. For the purposes of this definition, "submitted"
  267         -
      means any form of electronic, verbal, or written communication sent
  268         -
      to the Licensor or its representatives, including but not limited to
  269         -
      communication on electronic mailing lists, source code control systems,
  270         -
      and issue tracking systems that are managed by, or on behalf of, the
  271         -
      Licensor for the purpose of discussing and improving the Work, but
  272         -
      excluding communication that is conspicuously marked or otherwise
  273         -
      designated in writing by the copyright owner as "Not a Contribution."
  274         -
  275         -
      "Contributor" shall mean Licensor and any individual or Legal Entity
  276         -
      on behalf of whom a Contribution has been received by Licensor and
  277         -
      subsequently incorporated within the Work.
  278         -
  279         -
   2. Grant of Copyright License. Subject to the terms and conditions of
  280         -
      this License, each Contributor hereby grants to You a perpetual,
  281         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  282         -
      copyright license to reproduce, prepare Derivative Works of,
  283         -
      publicly display, publicly perform, sublicense, and distribute the
  284         -
      Work and such Derivative Works in Source or Object form.
  285         -
  286         -
   3. Grant of Patent License. Subject to the terms and conditions of
  287         -
      this License, each Contributor hereby grants to You a perpetual,
  288         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  289         -
      (except as stated in this section) patent license to make, have made,
  290         -
      use, offer to sell, sell, import, and otherwise transfer the Work,
  291         -
      where such license applies only to those patent claims licensable
  292         -
      by such Contributor that are necessarily infringed by their
  293         -
      Contribution(s) alone or by combination of their Contribution(s)
  294         -
      with the Work to which such Contribution(s) was submitted. If You
  295         -
      institute patent litigation against any entity (including a
  296         -
      cross-claim or counterclaim in a lawsuit) alleging that the Work
  297         -
      or a Contribution incorporated within the Work constitutes direct
  298         -
      or contributory patent infringement, then any patent licenses
  299         -
      granted to You under this License for that Work shall terminate
  300         -
      as of the date such litigation is filed.
  301         -
  302         -
   4. Redistribution. You may reproduce and distribute copies of the
  303         -
      Work or Derivative Works thereof in any medium, with or without
  304         -
      modifications, and in Source or Object form, provided that You
  305         -
      meet the following conditions:
  306         -
  307         -
      (a) You must give any other recipients of the Work or
  308         -
          Derivative Works a copy of this License; and
  309         -
  310         -
      (b) You must cause any modified files to carry prominent notices
  311         -
          stating that You changed the files; and
  312         -
  313         -
      (c) You must retain, in the Source form of any Derivative Works
  314         -
          that You distribute, all copyright, patent, trademark, and
  315         -
          attribution notices from the Source form of the Work,
  316         -
          excluding those notices that do not pertain to any part of
  317         -
          the Derivative Works; and
  318         -
  319         -
      (d) If the Work includes a "NOTICE" text file as part of its
  320         -
          distribution, then any Derivative Works that You distribute must
  321         -
          include a readable copy of the attribution notices contained
  322         -
          within such NOTICE file, excluding those notices that do not
  323         -
          pertain to any part of the Derivative Works, in at least one
  324         -
          of the following places: within a NOTICE text file distributed
  325         -
          as part of the Derivative Works; within the Source form or
  326         -
          documentation, if provided along with the Derivative Works; or,
  327         -
          within a display generated by the Derivative Works, if and
  328         -
          wherever such third-party notices normally appear. The contents
  329         -
          of the NOTICE file are for informational purposes only and
  330         -
          do not modify the License. You may add Your own attribution
  331         -
          notices within Derivative Works that You distribute, alongside
  332         -
          or as an addendum to the NOTICE text from the Work, provided
  333         -
          that such additional attribution notices cannot be construed
  334         -
          as modifying the License.
  335         -
  336         -
      You may add Your own copyright statement to Your modifications and
  337         -
      may provide additional or different license terms and conditions
  338         -
      for use, reproduction, or distribution of Your modifications, or
  339         -
      for any such Derivative Works as a whole, provided Your use,
  340         -
      reproduction, and distribution of the Work otherwise complies with
  341         -
      the conditions stated in this License.
  342         -
  343         -
   5. Submission of Contributions. Unless You explicitly state otherwise,
  344         -
      any Contribution intentionally submitted for inclusion in the Work
  345         -
      by You to the Licensor shall be under the terms and conditions of
  346         -
      this License, without any additional terms or conditions.
  347         -
      Notwithstanding the above, nothing herein shall supersede or modify
  348         -
      the terms of any separate license agreement you may have executed
  349         -
      with Licensor regarding such Contributions.
  350         -
  351         -
   6. Trademarks. This License does not grant permission to use the trade
  352         -
      names, trademarks, service marks, or product names of the Licensor,
  353         -
      except as required for reasonable and customary use in describing the
  354         -
      origin of the Work and reproducing the content of the NOTICE file.
  355         -
  356         -
   7. Disclaimer of Warranty. Unless required by applicable law or
  357         -
      agreed to in writing, Licensor provides the Work (and each
  358         -
      Contributor provides its Contributions) on an "AS IS" BASIS,
  359         -
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  360         -
      implied, including, without limitation, any warranties or conditions
  361         -
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  362         -
      PARTICULAR PURPOSE. You are solely responsible for determining the
  363         -
      appropriateness of using or redistributing the Work and assume any
  364         -
      risks associated with Your exercise of permissions under this License.
  365         -
  366         -
   8. Limitation of Liability. In no event and under no legal theory,
  367         -
      whether in tort (including negligence), contract, or otherwise,
  368         -
      unless required by applicable law (such as deliberate and grossly
  369         -
      negligent acts) or agreed to in writing, shall any Contributor be
  370         -
      liable to You for damages, including any direct, indirect, special,
  371         -
      incidental, or consequential damages of any character arising as a
  372         -
      result of this License or out of the use or inability to use the
  373         -
      Work (including but not limited to damages for loss of goodwill,
  374         -
      work stoppage, computer failure or malfunction, or any and all
  375         -
      other commercial damages or losses), even if such Contributor
  376         -
      has been advised of the possibility of such damages.
  377         -
  378         -
   9. Accepting Warranty or Additional Liability. While redistributing
  379         -
      the Work or Derivative Works thereof, You may choose to offer,
  380         -
      and charge a fee for, acceptance of support, warranty, indemnity,
  381         -
      or other liability obligations and/or rights consistent with this
  382         -
      License. However, in accepting such obligations, You may act only
  383         -
      on Your own behalf and on Your sole responsibility, not on behalf
  384         -
      of any other Contributor, and only if You agree to indemnify,
  385         -
      defend, and hold each Contributor harmless for any liability
  386         -
      incurred by, or claims asserted against, such Contributor by reason
  387         -
      of your accepting any such warranty or additional liability.
  388         -
  389         -
   END OF TERMS AND CONDITIONS
  390         -
  391         -
   APPENDIX: How to apply the Apache License to your work.
  392         -
  393         -
      To apply the Apache License to your work, attach the following
  394         -
      boilerplate notice, with the fields enclosed by brackets "[]"
  395         -
      replaced with your own identifying information. (Don't include
  396         -
      the brackets!)  The text should be enclosed in the appropriate
  397         -
      comment syntax for the file format. We also recommend that a
  398         -
      file or class name and description of purpose be included on the
  399         -
      same "printed page" as the copyright notice for easier
  400         -
      identification within third-party archives.
  401         -
  402         -
   Copyright [yyyy] [name of copyright owner]
  403         -
  404         -
   Licensed under the Apache License, Version 2.0 (the "License");
  405         -
   you may not use this file except in compliance with the License.
  406         -
   You may obtain a copy of the License at
  407         -
  408         -
       http://www.apache.org/licenses/LICENSE-2.0
  409         -
  410         -
   Unless required by applicable law or agreed to in writing, software
  411         -
   distributed under the License is distributed on an "AS IS" BASIS,
  412         -
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  413         -
   See the License for the specific language governing permissions and
  414         -
   limitations under the License.
  415    125   
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
  416    126   
deleted file mode 100755
  417    127   
index d85f69e..0000000
  418         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE
         128  +
++ /dev/null
  419    129   
@@ -1,2 +0,0 @@
  420         -
AWS Signature Version 4a Test Suite
  421         -
Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  422    130   
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
  423    131   
deleted file mode 100644
  424    132   
index c716622..0000000
  425         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md
         133  +
++ /dev/null
  426    134   
@@ -1,24 +0,0 @@
  427         -
Where did the files in this directory come from?
  428         -
================================================
  429         -
  430         -
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.
  431         -
  432         -
Signature Version 4A Test Suite
  433         -
------------------------------
  434         -
  435         -
To assist you in the development of an AWS client that supports Signature Version 4A, you can use the
  436         -
files in the test suite to ensure your code is performing each step of the signing process correctly.
  437         -
  438         -
Each test group contains several files that you can use to validate most of the tasks described in
  439         -
Signature Version 4A Signing Process. The following list describes the contents of each file.
  440         -
  441         -
- context.json - Credentials and signer options to use when signing test requests
  442         -
- request.txt - The web request to be signed.
  443         -
- header-canonical-request.txt - The resulting canonical request in header-signature mode.
  444         -
- header-string-to-sign.txt - The resulting string to sign in header-signature mode.
  445         -
- query-canonical-request.txt - The resulting canonical request in query-signature mode.
  446         -
- query-string-to-sign.txt - The resulting string to sign in header-query mode.
  447         -
  448         -
Sigv4A signature generation isn't deterministic, so generated signatures can't be tested against known good ones.
  449         -
Instead, tests generate a signature, derive a verification key from the signing key, and verify the signature and
  450         -
the string to sign. This mirrors what AWS services do when verifying Sigv4A-signed requests.
  451    135   
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
  452    136   
deleted file mode 100644
  453    137   
index 45771c7..0000000
  454         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json
         138  +
++ /dev/null
  455    139   
@@ -1,12 +0,0 @@
  456         -
{
  457         -
    "credentials": {
  458         -
        "access_key_id": "AKIDEXAMPLE",
  459         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  460         -
    },
  461         -
    "expiration_in_seconds": 3600,
  462         -
    "normalize": true,
  463         -
    "region": "us-east-1",
  464         -
    "service": "service",
  465         -
    "sign_body": false,
  466         -
    "timestamp": "2015-08-30T12:36:00Z"
  467         -
}
  468    140   
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
  469    141   
deleted file mode 100644
  470    142   
index 45771c7..0000000
  471         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json
         143  +
++ /dev/null
  472    144   
@@ -1,12 +0,0 @@
  473         -
{
  474         -
    "credentials": {
  475         -
        "access_key_id": "AKIDEXAMPLE",
  476         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  477         -
    },
  478         -
    "expiration_in_seconds": 3600,
  479         -
    "normalize": true,
  480         -
    "region": "us-east-1",
  481         -
    "service": "service",
  482         -
    "sign_body": false,
  483         -
    "timestamp": "2015-08-30T12:36:00Z"
  484         -
}
  485    145   
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
  486    146   
deleted file mode 100644
  487    147   
index 45771c7..0000000
  488         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json
         148  +
++ /dev/null
  489    149   
@@ -1,12 +0,0 @@
  490         -
{
  491         -
    "credentials": {
  492         -
        "access_key_id": "AKIDEXAMPLE",
  493         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  494         -
    },
  495         -
    "expiration_in_seconds": 3600,
  496         -
    "normalize": true,
  497         -
    "region": "us-east-1",
  498         -
    "service": "service",
  499         -
    "sign_body": false,
  500         -
    "timestamp": "2015-08-30T12:36:00Z"
  501         -
}
  502    150   
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
  503    151   
deleted file mode 100644
  504    152   
index 45771c7..0000000
  505         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json
         153  +
++ /dev/null
  506    154   
@@ -1,12 +0,0 @@
  507         -
{
  508         -
    "credentials": {
  509         -
        "access_key_id": "AKIDEXAMPLE",
  510         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  511         -
    },
  512         -
    "expiration_in_seconds": 3600,
  513         -
    "normalize": true,
  514         -
    "region": "us-east-1",
  515         -
    "service": "service",
  516         -
    "sign_body": false,
  517         -
    "timestamp": "2015-08-30T12:36:00Z"
  518         -
}
  519    155   
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
  520    156   
deleted file mode 100644
  521    157   
index afe367b..0000000
  522         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json
         158  +
++ /dev/null
  523    159   
@@ -1,12 +0,0 @@
  524         -
{
  525         -
    "credentials": {
  526         -
        "access_key_id": "AKIDEXAMPLE",
  527         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  528         -
    },
  529         -
    "expiration_in_seconds": 3600,
  530         -
    "normalize": false,
  531         -
    "region": "us-east-1",
  532         -
    "service": "service",
  533         -
    "sign_body": false,
  534         -
    "timestamp": "2015-08-30T12:36:00Z"
  535         -
}
  536    160   
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
  537    161   
deleted file mode 100644
  538    162   
index 45771c7..0000000
  539         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json
         163  +
++ /dev/null
  540    164   
@@ -1,12 +0,0 @@
  541         -
{
  542         -
    "credentials": {
  543         -
        "access_key_id": "AKIDEXAMPLE",
  544         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  545         -
    },
  546         -
    "expiration_in_seconds": 3600,
  547         -
    "normalize": true,
  548         -
    "region": "us-east-1",
  549         -
    "service": "service",
  550         -
    "sign_body": false,
  551         -
    "timestamp": "2015-08-30T12:36:00Z"
  552         -
}
  553    165   
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
  554    166   
deleted file mode 100644
  555    167   
index afe367b..0000000
  556         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json
         168  +
++ /dev/null
  557    169   
@@ -1,12 +0,0 @@
  558         -
{
  559         -
    "credentials": {
  560         -
        "access_key_id": "AKIDEXAMPLE",
  561         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  562         -
    },
  563         -
    "expiration_in_seconds": 3600,
  564         -
    "normalize": false,
  565         -
    "region": "us-east-1",
  566         -
    "service": "service",
  567         -
    "sign_body": false,
  568         -
    "timestamp": "2015-08-30T12:36:00Z"
  569         -
}
  570    170   
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
  571    171   
deleted file mode 100644
  572    172   
index 45771c7..0000000
  573         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json
         173  +
++ /dev/null
  574    174   
@@ -1,12 +0,0 @@
  575         -
{
  576         -
    "credentials": {
  577         -
        "access_key_id": "AKIDEXAMPLE",
  578         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  579         -
    },
  580         -
    "expiration_in_seconds": 3600,
  581         -
    "normalize": true,
  582         -
    "region": "us-east-1",
  583         -
    "service": "service",
  584         -
    "sign_body": false,
  585         -
    "timestamp": "2015-08-30T12:36:00Z"
  586         -
}
  587    175   
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
  588    176   
deleted file mode 100644
  589    177   
index 45771c7..0000000
  590         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json
         178  +
++ /dev/null
  591    179   
@@ -1,12 +0,0 @@
  592         -
{
  593         -
    "credentials": {
  594         -
        "access_key_id": "AKIDEXAMPLE",
  595         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  596         -
    },
  597         -
    "expiration_in_seconds": 3600,
  598         -
    "normalize": true,
  599         -
    "region": "us-east-1",
  600         -
    "service": "service",
  601         -
    "sign_body": false,
  602         -
    "timestamp": "2015-08-30T12:36:00Z"
  603         -
}
  604    180   
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
  605    181   
deleted file mode 100644
  606    182   
index 45771c7..0000000
  607         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json
         183  +
++ /dev/null
  608    184   
@@ -1,12 +0,0 @@
  609         -
{
  610         -
    "credentials": {
  611         -
        "access_key_id": "AKIDEXAMPLE",
  612         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  613         -
    },
  614         -
    "expiration_in_seconds": 3600,
  615         -
    "normalize": true,
  616         -
    "region": "us-east-1",
  617         -
    "service": "service",
  618         -
    "sign_body": false,
  619         -
    "timestamp": "2015-08-30T12:36:00Z"
  620         -
}
  621    185   
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
  622    186   
deleted file mode 100644
  623    187   
index 45771c7..0000000
  624         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json
         188  +
++ /dev/null
  625    189   
@@ -1,12 +0,0 @@
  626         -
{
  627         -
    "credentials": {
  628         -
        "access_key_id": "AKIDEXAMPLE",
  629         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  630         -
    },
  631         -
    "expiration_in_seconds": 3600,
  632         -
    "normalize": true,
  633         -
    "region": "us-east-1",
  634         -
    "service": "service",
  635         -
    "sign_body": false,
  636         -
    "timestamp": "2015-08-30T12:36:00Z"
  637         -
}
  638    190   
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
  639    191   
deleted file mode 100644
  640    192   
index 45771c7..0000000
  641         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json
         193  +
++ /dev/null
  642    194   
@@ -1,12 +0,0 @@
  643         -
{
  644         -
    "credentials": {
  645         -
        "access_key_id": "AKIDEXAMPLE",
  646         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  647         -
    },
  648         -
    "expiration_in_seconds": 3600,
  649         -
    "normalize": true,
  650         -
    "region": "us-east-1",
  651         -
    "service": "service",
  652         -
    "sign_body": false,
  653         -
    "timestamp": "2015-08-30T12:36:00Z"
  654         -
}
  655    195   
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
  656    196   
deleted file mode 100644
  657    197   
index 47e7128..0000000
  658         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt
         198  +
++ /dev/null
  659    199   
@@ -1,9 +0,0 @@
  660         -
GET
  661         -
/
  662         -
  663         -
host:example.amazonaws.com
  664         -
x-amz-date:20150830T123600Z
  665         -
x-amz-region-set:us-east-1
  666         -
  667         -
host;x-amz-date;x-amz-region-set
  668         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  669    200   
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
  670    201   
deleted file mode 100644
  671    202   
index 95d7219..0000000
  672         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt
         203  +
++ /dev/null
  673    204   
@@ -1,4 +0,0 @@
  674         -
AWS4-ECDSA-P256-SHA256
  675         -
20150830T123600Z
  676         -
20150830/service/aws4_request
  677         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  678    205   
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
  679    206   
deleted file mode 100644
  680    207   
index a34ea26..0000000
  681         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt
         208  +
++ /dev/null
  682    209   
@@ -1,7 +0,0 @@
  683         -
GET
  684         -
/
  685         -
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
  686         -
host:example.amazonaws.com
  687         -
  688         -
host
  689         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  690    210   
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
  691    211   
deleted file mode 100644
  692    212   
index 48f855c..0000000
  693         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt
         213  +
++ /dev/null
  694    214   
@@ -1,4 +0,0 @@
  695         -
AWS4-ECDSA-P256-SHA256
  696         -
20150830T123600Z
  697         -
20150830/service/aws4_request
  698         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  699    215   
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
  700    216   
deleted file mode 100644
  701    217   
index 45771c7..0000000
  702         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json
         218  +
++ /dev/null
  703    219   
@@ -1,12 +0,0 @@
  704         -
{
  705         -
    "credentials": {
  706         -
        "access_key_id": "AKIDEXAMPLE",
  707         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  708         -
    },
  709         -
    "expiration_in_seconds": 3600,
  710         -
    "normalize": true,
  711         -
    "region": "us-east-1",
  712         -
    "service": "service",
  713         -
    "sign_body": false,
  714         -
    "timestamp": "2015-08-30T12:36:00Z"
  715         -
}
  716    220   
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
  717    221   
deleted file mode 100644
  718    222   
index 47e7128..0000000
  719         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt
         223  +
++ /dev/null
  720    224   
@@ -1,9 +0,0 @@
  721         -
GET
  722         -
/
  723         -
  724         -
host:example.amazonaws.com
  725         -
x-amz-date:20150830T123600Z
  726         -
x-amz-region-set:us-east-1
  727         -
  728         -
host;x-amz-date;x-amz-region-set
  729         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  730    225   
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
  731    226   
deleted file mode 100644
  732    227   
index 95d7219..0000000
  733         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt
         228  +
++ /dev/null
  734    229   
@@ -1,4 +0,0 @@
  735         -
AWS4-ECDSA-P256-SHA256
  736         -
20150830T123600Z
  737         -
20150830/service/aws4_request
  738         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  739    230   
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
  740    231   
deleted file mode 100644
  741    232   
index a34ea26..0000000
  742         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt
         233  +
++ /dev/null
  743    234   
@@ -1,7 +0,0 @@
  744         -
GET
  745         -
/
  746         -
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
  747         -
host:example.amazonaws.com
  748         -
  749         -
host
  750         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  751    235   
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
  752    236   
deleted file mode 100644
  753    237   
index 48f855c..0000000
  754         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt
         238  +
++ /dev/null
  755    239   
@@ -1,4 +0,0 @@
  756         -
AWS4-ECDSA-P256-SHA256
  757         -
20150830T123600Z
  758         -
20150830/service/aws4_request
  759         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  760    240   
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
  761    241   
deleted file mode 100644
  762    242   
index 45771c7..0000000
  763         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json
         243  +
++ /dev/null
  764    244   
@@ -1,12 +0,0 @@
  765         -
{
  766         -
    "credentials": {
  767         -
        "access_key_id": "AKIDEXAMPLE",
  768         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  769         -
    },
  770         -
    "expiration_in_seconds": 3600,
  771         -
    "normalize": true,
  772         -
    "region": "us-east-1",
  773         -
    "service": "service",
  774         -
    "sign_body": false,
  775         -
    "timestamp": "2015-08-30T12:36:00Z"
  776         -
}
  777    245   
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
  778    246   
deleted file mode 100644
  779    247   
index 45771c7..0000000
  780         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json
         248  +
++ /dev/null
  781    249   
@@ -1,12 +0,0 @@
  782         -
{
  783         -
    "credentials": {
  784         -
        "access_key_id": "AKIDEXAMPLE",
  785         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  786         -
    },
  787         -
    "expiration_in_seconds": 3600,
  788         -
    "normalize": true,
  789         -
    "region": "us-east-1",
  790         -
    "service": "service",
  791         -
    "sign_body": false,
  792         -
    "timestamp": "2015-08-30T12:36:00Z"
  793         -
}
  794    250   
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
  795    251   
deleted file mode 100644
  796    252   
index 45771c7..0000000
  797         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json
         253  +
++ /dev/null
  798    254   
@@ -1,12 +0,0 @@
  799         -
{
  800         -
    "credentials": {
  801         -
        "access_key_id": "AKIDEXAMPLE",
  802         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  803         -
    },
  804         -
    "expiration_in_seconds": 3600,
  805         -
    "normalize": true,
  806         -
    "region": "us-east-1",
  807         -
    "service": "service",
  808         -
    "sign_body": false,
  809         -
    "timestamp": "2015-08-30T12:36:00Z"
  810         -
}
  811    255   
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
  812    256   
deleted file mode 100644
  813    257   
index 45771c7..0000000
  814         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json
         258  +
++ /dev/null
  815    259   
@@ -1,12 +0,0 @@
  816         -
{
  817         -
    "credentials": {
  818         -
        "access_key_id": "AKIDEXAMPLE",
  819         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  820         -
    },
  821         -
    "expiration_in_seconds": 3600,
  822         -
    "normalize": true,
  823         -
    "region": "us-east-1",
  824         -
    "service": "service",
  825         -
    "sign_body": false,
  826         -
    "timestamp": "2015-08-30T12:36:00Z"
  827         -
}
  828    260   
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
  829    261   
deleted file mode 100644
  830    262   
index 45771c7..0000000
  831         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json
         263  +
++ /dev/null
  832    264   
@@ -1,12 +0,0 @@
  833         -
{
  834         -
    "credentials": {
  835         -
        "access_key_id": "AKIDEXAMPLE",
  836         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  837         -
    },
  838         -
    "expiration_in_seconds": 3600,
  839         -
    "normalize": true,
  840         -
    "region": "us-east-1",
  841         -
    "service": "service",
  842         -
    "sign_body": false,
  843         -
    "timestamp": "2015-08-30T12:36:00Z"
  844         -
}
  845    265   
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
  846    266   
deleted file mode 100644
  847    267   
index 45771c7..0000000
  848         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json
         268  +
++ /dev/null
  849    269   
@@ -1,12 +0,0 @@
  850         -
{
  851         -
    "credentials": {
  852         -
        "access_key_id": "AKIDEXAMPLE",
  853         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  854         -
    },
  855         -
    "expiration_in_seconds": 3600,
  856         -
    "normalize": true,
  857         -
    "region": "us-east-1",
  858         -
    "service": "service",
  859         -
    "sign_body": false,
  860         -
    "timestamp": "2015-08-30T12:36:00Z"
  861         -
}
  862    270   
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
  863    271   
deleted file mode 100644
  864    272   
index b6fdecf..0000000
  865         -
-- 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
         273  +
++ /dev/null
  866    274   
@@ -1,4 +0,0 @@
  867         -
AWS4-ECDSA-P256-SHA256
  868         -
20150830T123600Z
  869         -
20150830/service/aws4_request
  870         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  871    275   
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
  872    276   
deleted file mode 100644
  873    277   
index a300bea..0000000
  874         -
-- 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
         278  +
++ /dev/null
  875    279   
@@ -1,4 +0,0 @@
  876         -
AWS4-ECDSA-P256-SHA256
  877         -
20150830T123600Z
  878         -
20150830/service/aws4_request
  879         -
ab426c74406d082ad98929df8969624e6ed5cb7f4e8501fbbe7d8c20e9c3b417
  880    280   
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
  881    281   
deleted file mode 100644
  882    282   
index b6fdecf..0000000
  883         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt
         283  +
++ /dev/null
  884    284   
@@ -1,4 +0,0 @@
  885         -
AWS4-ECDSA-P256-SHA256
  886         -
20150830T123600Z
  887         -
20150830/service/aws4_request
  888         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  889    285   
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
  890    286   
new file mode 100644
  891    287   
index 0000000..a674243
  892         -
-- /dev/null
         288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md
  893    289   
@@ -0,0 +1,7 @@
         290  +
# AWS SigV4 and SigV4A Signing Test Suite
         291  +
         292  +
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).
         293  +
         294  +
We added the following changes:
         295  +
         296  +
* 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
  894    297   
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
  895    298   
similarity index 100%
  896    299   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.creq
  897    300   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-canonical-request.txt
  898    301   
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
  899    302   
similarity index 100%
  900    303   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.sreq
  901    304   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-signed-request.txt
  902    305   
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
  903    306   
similarity index 100%
  904    307   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.req
  905    308   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/request.txt
  906    309   
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
  907    310   
similarity index 100%
  908    311   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq
  909    312   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-canonical-request.txt
  910    313   
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
  911    314   
similarity index 100%
  912    315   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq
  913    316   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-signed-request.txt
  914    317   
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
  915    318   
similarity index 100%
  916    319   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts
  917    320   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-string-to-sign.txt
  918    321   
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
  919    322   
similarity index 100%
  920    323   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req
  921    324   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/request.txt
  922    325   
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
  923    326   
similarity index 99%
  924    327   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
  925    328   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
  926    329   
index 45771c7..0468d80 100644
  927    330   
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
  928    331   
similarity index 100%
  929    332   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq
  930    333   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
  931    334   
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
  932    335   
new file mode 100644
  933    336   
index 0000000..7fc5d7a
  934         -
-- /dev/null
         337  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
  935    338   
@@ -0,0 +1 @@
         339  +
c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
              \
 No newline at end of file
  936    340   
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
  937    341   
new file mode 100644
  938    342   
index 0000000..36a1205
  939         -
-- /dev/null
         343  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
  940    344   
@@ -0,0 +1,8 @@
         345  +
GET / HTTP/1.1
         346  +
Host:example.amazonaws.com
         347  +
My-Header1:value2
         348  +
My-Header1:value2
         349  +
My-Header1:value1
         350  +
X-Amz-Date:20150830T123600Z
         351  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
         352  +
  941    353   
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
  942    354   
similarity index 100%
  943    355   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts
  944    356   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
  945    357   
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
  946    358   
new file mode 100644
  947    359   
index 0000000..f9f4190
  948         -
-- /dev/null
         360  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
  949    361   
@@ -0,0 +1,8 @@
         362  +
GET
         363  +
/
         364  +
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
         365  +
host:example.amazonaws.com
         366  +
my-header1:value2,value2,value1
         367  +
         368  +
host;my-header1
         369  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  950    370   
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
  951    371   
new file mode 100644
  952    372   
index 0000000..5d0d87f
  953         -
-- /dev/null
         373  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
  954    374   
@@ -0,0 +1 @@
         375  +
3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97
              \
 No newline at end of file
  955    376   
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
  956    377   
new file mode 100644
  957    378   
index 0000000..c1dfcf4
  958         -
-- /dev/null
         379  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
  959    380   
@@ -0,0 +1,6 @@
         381  +
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
         382  +
Host:example.amazonaws.com
         383  +
My-Header1:value2
         384  +
My-Header1:value2
         385  +
My-Header1:value1
         386  +
  960    387   
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
  961    388   
similarity index 53%
  962    389   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
  963    390   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
  964    391   
index 0a3350a..077c1bb 100644
  965         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
         392  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
  966    393   
@@ -1,4 +1,4 @@
  967    394   
AWS4-HMAC-SHA256
  968    395   
20150830T123600Z
  969    396   
20150830/us-east-1/service/aws4_request
  970         -
b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55
              \
 No newline at end of file
         397  +
fe8b58fb44117d598520befc07c144a5699c661a8db78f9ce4caee1655dec813
              \
 No newline at end of file
  971    398   
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
  972    399   
similarity index 100%
  973    400   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt
  974    401   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
  975    402   
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
  976    403   
similarity index 99%
  977    404   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
  978    405   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
  979    406   
index 45771c7..0468d80 100644
  980    407   
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
  981    408   
similarity index 82%
  982    409   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
  983    410   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
  984    411   
index 721a39f..8cb5476 100644
  985         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
         412  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
  986    413   
@@ -1,9 +1,9 @@
  987    414   
GET
  988    415   
/
  989    416   
  990    417   
host:example.amazonaws.com
  991         -
my-header1:value1,value2,value3
         418  +
my-header1:value1 value2 value3
  992    419   
x-amz-date:20150830T123600Z
  993    420   
  994    421   
host;my-header1;x-amz-date
  995    422   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  996    423   
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
  997    424   
new file mode 100644
  998    425   
index 0000000..e6ff7a9
  999         -
-- /dev/null
         426  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
 1000    427   
@@ -0,0 +1 @@
         428  +
cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
              \
 No newline at end of file
 1001    429   
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
 1002    430   
new file mode 100644
 1003    431   
index 0000000..b5ef6a0
 1004         -
-- /dev/null
         432  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
 1005    433   
@@ -0,0 +1,8 @@
         434  +
GET / HTTP/1.1
         435  +
Host:example.amazonaws.com
         436  +
My-Header1:value1
         437  +
  value2
         438  +
     value3
         439  +
X-Amz-Date:20150830T123600Z
         440  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
         441  +
 1006    442   
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
 1007    443   
similarity index 53%
 1008    444   
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
 1009    445   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1010    446   
index fd43a41..97c7430 100644
 1011         -
-- 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
         447  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1012    448   
@@ -1,4 +1,4 @@
 1013    449   
AWS4-HMAC-SHA256
 1014    450   
20150830T123600Z
 1015    451   
20150830/us-east-1/service/aws4_request
 1016         -
704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89
              \
 No newline at end of file
         452  +
e99419459a677bc11de234014be3c4e72c1ea5b454ceb58b613061f5d7a162e8
              \
 No newline at end of file
 1017    453   
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
 1018    454   
new file mode 100644
 1019    455   
index 0000000..aac46de
 1020         -
-- /dev/null
         456  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
 1021    457   
@@ -0,0 +1,8 @@
         458  +
GET
         459  +
/
         460  +
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
         461  +
host:example.amazonaws.com
         462  +
my-header1:value1 value2 value3
         463  +
         464  +
host;my-header1
         465  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1022    466   
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
 1023    467   
new file mode 100644
 1024    468   
index 0000000..205732d
 1025         -
-- /dev/null
         469  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
 1026    470   
@@ -0,0 +1 @@
         471  +
e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56
              \
 No newline at end of file
 1027    472   
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
 1028    473   
new file mode 100644
 1029    474   
index 0000000..a891b87
 1030         -
-- /dev/null
         475  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
 1031    476   
@@ -0,0 +1,6 @@
         477  +
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
         478  +
Host:example.amazonaws.com
         479  +
My-Header1:value1
         480  +
  value2
         481  +
     value3
         482  +
 1032    483   
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
 1033    484   
similarity index 53%
 1034    485   
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
 1035    486   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1036    487   
index 90e66b8..ec3fe45 100644
 1037         -
-- 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
         488  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1038    489   
@@ -1,4 +1,4 @@
 1039    490   
AWS4-HMAC-SHA256
 1040    491   
20150830T123600Z
 1041    492   
20150830/us-east-1/service/aws4_request
 1042         -
c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606
              \
 No newline at end of file
         493  +
0e73c10e35324b4d215da4bb70be61d13a3d30d569be4ed6e8fd8948965341ca
              \
 No newline at end of file
 1043    494   
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
 1044    495   
similarity index 75%
 1045    496   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
 1046    497   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1047    498   
index 7caa6ac..b5026cd 100644
 1048         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
         499  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1049    500   
@@ -1,6 +1,5 @@
 1050    501   
GET / HTTP/1.1
 1051    502   
Host:example.amazonaws.com
 1052    503   
My-Header1:value1
 1053    504   
  value2
 1054    505   
     value3
 1055         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1056    506   
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
 1057    507   
similarity index 99%
 1058    508   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
 1059    509   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1060    510   
index 45771c7..0468d80 100644
 1061    511   
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
 1062    512   
similarity index 100%
 1063    513   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq
 1064    514   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
 1065    515   
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
 1066    516   
new file mode 100644
 1067    517   
index 0000000..8ef0494
 1068         -
-- /dev/null
         518  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
 1069    519   
@@ -0,0 +1 @@
         520  +
08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
 1070    521   
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
 1071    522   
new file mode 100644
 1072    523   
index 0000000..b786dc9
 1073         -
-- /dev/null
         524  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
 1074    525   
@@ -0,0 +1,9 @@
         526  +
GET / HTTP/1.1
         527  +
Host:example.amazonaws.com
         528  +
My-Header1:value4
         529  +
My-Header1:value1
         530  +
My-Header1:value3
         531  +
My-Header1:value2
         532  +
X-Amz-Date:20150830T123600Z
         533  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
         534  +
 1075    535   
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
 1076    536   
similarity index 100%
 1077    537   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts
 1078    538   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
 1079    539   
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
 1080    540   
new file mode 100644
 1081    541   
index 0000000..a211cc5
 1082         -
-- /dev/null
         542  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
 1083    543   
@@ -0,0 +1,8 @@
         544  +
GET
         545  +
/
         546  +
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
         547  +
host:example.amazonaws.com
         548  +
my-header1:value4,value1,value3,value2
         549  +
         550  +
host;my-header1
         551  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1084    552   
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
 1085    553   
new file mode 100644
 1086    554   
index 0000000..417b0fa
 1087         -
-- /dev/null
         555  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
 1088    556   
@@ -0,0 +1 @@
         557  +
313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e
              \
 No newline at end of file
 1089    558   
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
 1090    559   
new file mode 100644
 1091    560   
index 0000000..b615e5d
 1092         -
-- /dev/null
         561  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
 1093    562   
@@ -0,0 +1,7 @@
         563  +
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
         564  +
Host:example.amazonaws.com
         565  +
My-Header1:value4
         566  +
My-Header1:value1
         567  +
My-Header1:value3
         568  +
My-Header1:value2
         569  +
 1094    570   
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
 1095    571   
similarity index 53%
 1096    572   
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
 1097    573   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1098    574   
index f7e615e..dcaaa1b 100644
 1099         -
-- 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
         575  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1100    576   
@@ -1,4 +1,4 @@
 1101    577   
AWS4-HMAC-SHA256
 1102    578   
20150830T123600Z
 1103    579   
20150830/us-east-1/service/aws4_request
 1104         -
5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9
              \
 No newline at end of file
         580  +
f4d3f13084ba7664111670ce26458291d3e0c620acd9384f8cd6b60d8e83423e
              \
 No newline at end of file
 1105    581   
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
 1106    582   
similarity index 100%
 1107    583   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt
 1108    584   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1109    585   
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
 1110    586   
similarity index 99%
 1111    587   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
 1112    588   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1113    589   
index 45771c7..0468d80 100644
 1114    590   
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
 1115    591   
similarity index 100%
 1116    592   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq
 1117    593   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1118    594   
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
 1119    595   
new file mode 100644
 1120    596   
index 0000000..36081a9
 1121         -
-- /dev/null
         597  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1122    598   
@@ -0,0 +1 @@
         599  +
acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
 1123    600   
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
 1124    601   
new file mode 100644
 1125    602   
index 0000000..6331d16
 1126         -
-- /dev/null
         603  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1127    604   
@@ -0,0 +1,7 @@
         605  +
GET / HTTP/1.1
         606  +
Host:example.amazonaws.com
         607  +
My-Header1: value1
         608  +
My-Header2: "a   b   c"
         609  +
X-Amz-Date:20150830T123600Z
         610  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
         611  +
 1128    612   
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
 1129    613   
similarity index 100%
 1130    614   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts
 1131    615   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1132    616   
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
 1133    617   
new file mode 100644
 1134    618   
index 0000000..125c1f9
 1135         -
-- /dev/null
         619  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1136    620   
@@ -0,0 +1,9 @@
         621  +
GET
         622  +
/
         623  +
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
         624  +
host:example.amazonaws.com
         625  +
my-header1:value1
         626  +
my-header2:"a b c"
         627  +
         628  +
host;my-header1;my-header2
         629  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1137    630   
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
 1138    631   
new file mode 100644
 1139    632   
index 0000000..17007a8
 1140         -
-- /dev/null
         633  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1141    634   
@@ -0,0 +1 @@
         635  +
e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4
              \
 No newline at end of file
 1142    636   
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
 1143    637   
new file mode 100644
 1144    638   
index 0000000..e519fd9
 1145         -
-- /dev/null
         639  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1146    640   
@@ -0,0 +1,5 @@
         641  +
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
         642  +
Host:example.amazonaws.com
         643  +
My-Header1: value1
         644  +
My-Header2: "a   b   c"
         645  +
 1147    646   
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
 1148    647   
new file mode 100644
 1149    648   
index 0000000..6b4b781
 1150         -
-- /dev/null
         649  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1151    650   
@@ -0,0 +1,4 @@
         651  +
AWS4-HMAC-SHA256
         652  +
20150830T123600Z
         653  +
20150830/us-east-1/service/aws4_request
         654  +
84c9e353b6161b689210977f93b93e6a7182f9ecb2ceae8af8c3d86b080a88ae
              \
 No newline at end of file
 1152    655   
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
 1153    656   
similarity index 100%
 1154    657   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt
 1155    658   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1156    659   
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
 1157    660   
new file mode 100644
 1158    661   
index 0000000..0468d80
 1159         -
-- /dev/null
         662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1160    663   
@@ -0,0 +1,12 @@
         664  +
{
         665  +
    "credentials": {
         666  +
        "access_key_id": "AKIDEXAMPLE",
         667  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         668  +
    },
         669  +
    "expiration_in_seconds": 3600,
         670  +
    "normalize": true,
         671  +
    "region": "us-east-1",
         672  +
    "service": "service",
         673  +
    "sign_body": false,
         674  +
    "timestamp": "2015-08-30T12:36:00Z"
         675  +
}
              \
 No newline at end of file
 1161    676   
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
 1162    677   
similarity index 100%
 1163    678   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq
 1164    679   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1165    680   
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
 1166    681   
new file mode 100644
 1167    682   
index 0000000..87f295f
 1168         -
-- /dev/null
         683  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1169    684   
@@ -0,0 +1 @@
         685  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1170    686   
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
 1171    687   
new file mode 100644
 1172    688   
index 0000000..0de8327
 1173         -
-- /dev/null
         689  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1174    690   
@@ -0,0 +1,5 @@
         691  +
GET /example/.. HTTP/1.1
         692  +
Host:example.amazonaws.com
         693  +
X-Amz-Date:20150830T123600Z
         694  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         695  +
 1175    696   
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
 1176    697   
similarity index 100%
 1177    698   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts
 1178    699   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1179    700   
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
 1180    701   
new file mode 100644
 1181    702   
index 0000000..fb2420d
 1182         -
-- /dev/null
         703  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1183    704   
@@ -0,0 +1,7 @@
         705  +
GET
         706  +
/
         707  +
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
         708  +
host:example.amazonaws.com
         709  +
         710  +
host
         711  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1184    712   
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
 1185    713   
new file mode 100644
 1186    714   
index 0000000..da5c905
 1187         -
-- /dev/null
         715  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1188    716   
@@ -0,0 +1 @@
         717  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1189    718   
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
 1190    719   
new file mode 100644
 1191    720   
index 0000000..4329c98
 1192         -
-- /dev/null
         721  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1193    722   
@@ -0,0 +1,3 @@
         723  +
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
         724  +
Host:example.amazonaws.com
         725  +
 1194    726   
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
 1195    727   
new file mode 100644
 1196    728   
index 0000000..d837e67
 1197         -
-- /dev/null
         729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1198    730   
@@ -0,0 +1,4 @@
         731  +
AWS4-HMAC-SHA256
         732  +
20150830T123600Z
         733  +
20150830/us-east-1/service/aws4_request
         734  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1199    735   
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
 1200    736   
similarity index 100%
 1201    737   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt
 1202    738   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1203    739   
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
 1204    740   
new file mode 100644
 1205    741   
index 0000000..0468d80
 1206         -
-- /dev/null
         742  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1207    743   
@@ -0,0 +1,12 @@
         744  +
{
         745  +
    "credentials": {
         746  +
        "access_key_id": "AKIDEXAMPLE",
         747  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         748  +
    },
         749  +
    "expiration_in_seconds": 3600,
         750  +
    "normalize": true,
         751  +
    "region": "us-east-1",
         752  +
    "service": "service",
         753  +
    "sign_body": false,
         754  +
    "timestamp": "2015-08-30T12:36:00Z"
         755  +
}
              \
 No newline at end of file
 1208    756   
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
 1209    757   
similarity index 100%
 1210    758   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq
 1211    759   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1212    760   
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
 1213    761   
new file mode 100644
 1214    762   
index 0000000..87f295f
 1215         -
-- /dev/null
         763  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1216    764   
@@ -0,0 +1 @@
         765  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1217    766   
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
 1218    767   
new file mode 100644
 1219    768   
index 0000000..f9b3815
 1220         -
-- /dev/null
         769  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1221    770   
@@ -0,0 +1,5 @@
         771  +
GET /example1/example2/../.. HTTP/1.1
         772  +
Host:example.amazonaws.com
         773  +
X-Amz-Date:20150830T123600Z
         774  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         775  +
 1222    776   
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
 1223    777   
similarity index 100%
 1224    778   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts
 1225    779   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1226    780   
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
 1227    781   
new file mode 100644
 1228    782   
index 0000000..fb2420d
 1229         -
-- /dev/null
         783  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1230    784   
@@ -0,0 +1,7 @@
         785  +
GET
         786  +
/
         787  +
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
         788  +
host:example.amazonaws.com
         789  +
         790  +
host
         791  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1231    792   
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
 1232    793   
new file mode 100644
 1233    794   
index 0000000..da5c905
 1234         -
-- /dev/null
         795  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1235    796   
@@ -0,0 +1 @@
         797  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1236    798   
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
 1237    799   
new file mode 100644
 1238    800   
index 0000000..b2988b7
 1239         -
-- /dev/null
         801  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1240    802   
@@ -0,0 +1,3 @@
         803  +
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
         804  +
Host:example.amazonaws.com
         805  +
 1241    806   
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
 1242    807   
new file mode 100644
 1243    808   
index 0000000..d837e67
 1244         -
-- /dev/null
         809  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1245    810   
@@ -0,0 +1,4 @@
         811  +
AWS4-HMAC-SHA256
         812  +
20150830T123600Z
         813  +
20150830/us-east-1/service/aws4_request
         814  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1246    815   
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
 1247    816   
similarity index 100%
 1248    817   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt
 1249    818   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1250    819   
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
 1251    820   
similarity index 99%
 1252    821   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
 1253    822   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1254    823   
index afe367b..7bee5c7 100644
 1255    824   
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
 1256    825   
similarity index 82%
 1257    826   
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
 1258    827   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1259    828   
index 36c3cdf..6919c44 100644
 1260         -
-- 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
         829  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1261    830   
@@ -1,8 +1,8 @@
 1262    831   
GET
 1263         -
/
 1264         -
Param1=Value1&Param1=value2
         832  +
/example1/example2/../..
         833  +
 1265    834   
host:example.amazonaws.com
 1266    835   
x-amz-date:20150830T123600Z
 1267    836   
 1268    837   
host;x-amz-date
 1269    838   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1270    839   
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
 1271    840   
new file mode 100644
 1272    841   
index 0000000..4092d83
 1273         -
-- /dev/null
         842  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1274    843   
@@ -0,0 +1 @@
         844  +
dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
              \
 No newline at end of file
 1275    845   
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
 1276    846   
new file mode 100644
 1277    847   
index 0000000..e731b35
 1278         -
-- /dev/null
         848  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1279    849   
@@ -0,0 +1,5 @@
         850  +
GET /example1/example2/../.. HTTP/1.1
         851  +
Host:example.amazonaws.com
         852  +
X-Amz-Date:20150830T123600Z
         853  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
         854  +
 1280    855   
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
 1281    856   
new file mode 100644
 1282    857   
index 0000000..4f45752
 1283         -
-- /dev/null
         858  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1284    859   
@@ -0,0 +1,4 @@
         860  +
AWS4-HMAC-SHA256
         861  +
20150830T123600Z
         862  +
20150830/us-east-1/service/aws4_request
         863  +
76115030c0f3ff06c20fdff5ceb6d5e0b835a1743e00b94fea7c7f381269437b
              \
 No newline at end of file
 1285    864   
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
 1286    865   
new file mode 100644
 1287    866   
index 0000000..e1fb07d
 1288         -
-- /dev/null
         867  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1289    868   
@@ -0,0 +1,7 @@
         869  +
GET
         870  +
/example1/example2/../..
         871  +
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
         872  +
host:example.amazonaws.com
         873  +
         874  +
host
         875  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1290    876   
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
 1291    877   
new file mode 100644
 1292    878   
index 0000000..8ac31d7
 1293         -
-- /dev/null
         879  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1294    880   
@@ -0,0 +1 @@
         881  +
b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16
              \
 No newline at end of file
 1295    882   
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
 1296    883   
new file mode 100644
 1297    884   
index 0000000..ac074f9
 1298         -
-- /dev/null
         885  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1299    886   
@@ -0,0 +1,3 @@
         887  +
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
         888  +
Host:example.amazonaws.com
         889  +
 1300    890   
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
 1301    891   
new file mode 100644
 1302    892   
index 0000000..8dcb6ff
 1303         -
-- /dev/null
         893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1304    894   
@@ -0,0 +1,4 @@
         895  +
AWS4-HMAC-SHA256
         896  +
20150830T123600Z
         897  +
20150830/us-east-1/service/aws4_request
         898  +
13b7758115ec070fe36a7ae9d754154ad73f6ee9a5eac022494857d0e7effc18
              \
 No newline at end of file
 1305    899   
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
 1306    900   
similarity index 100%
 1307    901   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt
 1308    902   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1309    903   
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
 1310    904   
similarity index 99%
 1311    905   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
 1312    906   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1313    907   
index afe367b..7bee5c7 100644
 1314    908   
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
 1315    909   
similarity index 82%
 1316    910   
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
 1317    911   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1318    912   
index 26898eb..f640bc2 100644
 1319         -
-- 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
         913  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1320    914   
@@ -1,8 +1,8 @@
 1321    915   
GET
 1322         -
/
 1323         -
Param1=value1&Param1=value2
         916  +
/example/..
         917  +
 1324    918   
host:example.amazonaws.com
 1325    919   
x-amz-date:20150830T123600Z
 1326    920   
 1327    921   
host;x-amz-date
 1328    922   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1329    923   
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
 1330    924   
new file mode 100644
 1331    925   
index 0000000..d957303
 1332         -
-- /dev/null
         926  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1333    927   
@@ -0,0 +1 @@
         928  +
eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
              \
 No newline at end of file
 1334    929   
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
 1335    930   
new file mode 100644
 1336    931   
index 0000000..4f42ffc
 1337         -
-- /dev/null
         932  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1338    933   
@@ -0,0 +1,5 @@
         934  +
GET /example/.. HTTP/1.1
         935  +
Host:example.amazonaws.com
         936  +
X-Amz-Date:20150830T123600Z
         937  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
         938  +
 1339    939   
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
 1340    940   
new file mode 100644
 1341    941   
index 0000000..ca54bda
 1342         -
-- /dev/null
         942  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1343    943   
@@ -0,0 +1,4 @@
         944  +
AWS4-HMAC-SHA256
         945  +
20150830T123600Z
         946  +
20150830/us-east-1/service/aws4_request
         947  +
0511f456aa502b456d135fcb9d749374a55228f9dbeedda1eacf659e05b0615b
              \
 No newline at end of file
 1344    948   
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
 1345    949   
new file mode 100644
 1346    950   
index 0000000..dc80036
 1347         -
-- /dev/null
         951  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1348    952   
@@ -0,0 +1,7 @@
         953  +
GET
         954  +
/example/..
         955  +
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
         956  +
host:example.amazonaws.com
         957  +
         958  +
host
         959  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1349    960   
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
 1350    961   
new file mode 100644
 1351    962   
index 0000000..dfa0437
 1352         -
-- /dev/null
         963  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1353    964   
@@ -0,0 +1 @@
         965  +
cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee
              \
 No newline at end of file
 1354    966   
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
 1355    967   
new file mode 100644
 1356    968   
index 0000000..98367b1
 1357         -
-- /dev/null
         969  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1358    970   
@@ -0,0 +1,3 @@
         971  +
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
         972  +
Host:example.amazonaws.com
         973  +
 1359    974   
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
 1360    975   
new file mode 100644
 1361    976   
index 0000000..f65dd66
 1362         -
-- /dev/null
         977  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1363    978   
@@ -0,0 +1,4 @@
         979  +
AWS4-HMAC-SHA256
         980  +
20150830T123600Z
         981  +
20150830/us-east-1/service/aws4_request
         982  +
6e02e2dba21d6f269bae339b86ff27a4b7bbc9d88c482abccbfbf8a49d602482
              \
 No newline at end of file
 1364    983   
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
 1365    984   
similarity index 100%
 1366    985   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt
 1367    986   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1368    987   
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
 1369    988   
new file mode 100644
 1370    989   
index 0000000..0468d80
 1371         -
-- /dev/null
         990  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1372    991   
@@ -0,0 +1,12 @@
         992  +
{
         993  +
    "credentials": {
         994  +
        "access_key_id": "AKIDEXAMPLE",
         995  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         996  +
    },
         997  +
    "expiration_in_seconds": 3600,
         998  +
    "normalize": true,
         999  +
    "region": "us-east-1",
        1000  +
    "service": "service",
        1001  +
    "sign_body": false,
        1002  +
    "timestamp": "2015-08-30T12:36:00Z"
        1003  +
}
              \
 No newline at end of file
 1373   1004   
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
 1374   1005   
similarity index 100%
 1375   1006   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq
 1376   1007   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1377   1008   
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
 1378   1009   
new file mode 100644
 1379   1010   
index 0000000..87f295f
 1380         -
-- /dev/null
        1011  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1381   1012   
@@ -0,0 +1 @@
        1013  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1382   1014   
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
 1383   1015   
new file mode 100644
 1384   1016   
index 0000000..99c8eeb
 1385         -
-- /dev/null
        1017  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1386   1018   
@@ -0,0 +1,5 @@
        1019  +
GET /./ HTTP/1.1
        1020  +
Host:example.amazonaws.com
        1021  +
X-Amz-Date:20150830T123600Z
        1022  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1023  +
 1387   1024   
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
 1388   1025   
similarity index 100%
 1389   1026   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts
 1390   1027   
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
 1391   1028   
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
 1392   1029   
new file mode 100644
 1393   1030   
index 0000000..fb2420d
 1394         -
-- /dev/null
        1031  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1395   1032   
@@ -0,0 +1,7 @@
        1033  +
GET
        1034  +
/
        1035  +
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
        1036  +
host:example.amazonaws.com
        1037  +
        1038  +
host
        1039  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1396   1040   
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
 1397   1041   
new file mode 100644
 1398   1042   
index 0000000..da5c905
 1399         -
-- /dev/null
        1043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1400   1044   
@@ -0,0 +1 @@
        1045  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1401   1046   
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
 1402   1047   
new file mode 100644
 1403   1048   
index 0000000..2e47f69
 1404         -
-- /dev/null
        1049  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1405   1050   
@@ -0,0 +1,3 @@
        1051  +
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
        1052  +
Host:example.amazonaws.com
        1053  +
 1406   1054   
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
 1407   1055   
new file mode 100644
 1408   1056   
index 0000000..d837e67
 1409         -
-- /dev/null
        1057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1410   1058   
@@ -0,0 +1,4 @@
        1059  +
AWS4-HMAC-SHA256
        1060  +
20150830T123600Z
        1061  +
20150830/us-east-1/service/aws4_request
        1062  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1411   1063   
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
 1412   1064   
similarity index 100%
 1413   1065   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt
 1414   1066   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1415   1067   
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
 1416   1068   
similarity index 99%
 1417   1069   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
 1418   1070   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1419   1071   
index afe367b..7bee5c7 100644
 1420   1072   
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
 1421   1073   
new file mode 100644
 1422   1074   
index 0000000..5159048
 1423         -
-- /dev/null
        1075  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1424   1076   
@@ -0,0 +1,8 @@
        1077  +
GET
        1078  +
/./
        1079  +
        1080  +
host:example.amazonaws.com
        1081  +
x-amz-date:20150830T123600Z
        1082  +
        1083  +
host;x-amz-date
        1084  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1425   1085   
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
 1426   1086   
new file mode 100644
 1427   1087   
index 0000000..b49ff0e
 1428         -
-- /dev/null
        1088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1429   1089   
@@ -0,0 +1 @@
        1090  +
68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
              \
 No newline at end of file
 1430   1091   
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
 1431   1092   
new file mode 100644
 1432   1093   
index 0000000..aeb1ffa
 1433         -
-- /dev/null
        1094  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1434   1095   
@@ -0,0 +1,5 @@
        1096  +
GET /./ HTTP/1.1
        1097  +
Host:example.amazonaws.com
        1098  +
X-Amz-Date:20150830T123600Z
        1099  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
        1100  +
 1435   1101   
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
 1436   1102   
new file mode 100644
 1437   1103   
index 0000000..b7d8caf
 1438         -
-- /dev/null
        1104  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1439   1105   
@@ -0,0 +1,4 @@
        1106  +
AWS4-HMAC-SHA256
        1107  +
20150830T123600Z
        1108  +
20150830/us-east-1/service/aws4_request
        1109  +
d67825e2268bd77a97c7688b8d72c31a3c1855b309808505ba0a9747d2465aa7
              \
 No newline at end of file
 1440   1110   
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
 1441   1111   
new file mode 100644
 1442   1112   
index 0000000..d4e029e
 1443         -
-- /dev/null
        1113  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1444   1114   
@@ -0,0 +1,7 @@
        1115  +
GET
        1116  +
/./
        1117  +
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
        1118  +
host:example.amazonaws.com
        1119  +
        1120  +
host
        1121  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1445   1122   
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
 1446   1123   
new file mode 100644
 1447   1124   
index 0000000..fe8f4cc
 1448         -
-- /dev/null
        1125  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1449   1126   
@@ -0,0 +1 @@
        1127  +
a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c
              \
 No newline at end of file
 1450   1128   
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
 1451   1129   
new file mode 100644
 1452   1130   
index 0000000..dcc4fc4
 1453         -
-- /dev/null
        1131  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1454   1132   
@@ -0,0 +1,3 @@
        1133  +
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
        1134  +
Host:example.amazonaws.com
        1135  +
 1455   1136   
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
 1456   1137   
new file mode 100644
 1457   1138   
index 0000000..5fb3ada
 1458         -
-- /dev/null
        1139  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1459   1140   
@@ -0,0 +1,4 @@
        1141  +
AWS4-HMAC-SHA256
        1142  +
20150830T123600Z
        1143  +
20150830/us-east-1/service/aws4_request
        1144  +
21b2da17873f30c1a7410efdc271738b318ccc2c9c6fbe1289fc242aeb1a8ae1
              \
 No newline at end of file
 1460   1145   
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
 1461   1146   
similarity index 100%
 1462   1147   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt
 1463   1148   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1464   1149   
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
 1465   1150   
new file mode 100644
 1466   1151   
index 0000000..0468d80
 1467         -
-- /dev/null
        1152  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1468   1153   
@@ -0,0 +1,12 @@
        1154  +
{
        1155  +
    "credentials": {
        1156  +
        "access_key_id": "AKIDEXAMPLE",
        1157  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1158  +
    },
        1159  +
    "expiration_in_seconds": 3600,
        1160  +
    "normalize": true,
        1161  +
    "region": "us-east-1",
        1162  +
    "service": "service",
        1163  +
    "sign_body": false,
        1164  +
    "timestamp": "2015-08-30T12:36:00Z"
        1165  +
}
              \
 No newline at end of file
 1469   1166   
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
 1470   1167   
similarity index 100%
 1471   1168   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq
 1472   1169   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1473   1170   
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
 1474   1171   
new file mode 100644
 1475   1172   
index 0000000..87f295f
 1476         -
-- /dev/null
        1173  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1477   1174   
@@ -0,0 +1 @@
        1175  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1478   1176   
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
 1479   1177   
new file mode 100644
 1480   1178   
index 0000000..b91087b
 1481         -
-- /dev/null
        1179  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1482   1180   
@@ -0,0 +1,5 @@
        1181  +
GET // HTTP/1.1
        1182  +
Host:example.amazonaws.com
        1183  +
X-Amz-Date:20150830T123600Z
        1184  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1185  +
 1483   1186   
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
 1484   1187   
similarity index 100%
 1485   1188   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts
 1486   1189   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1487   1190   
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
 1488   1191   
new file mode 100644
 1489   1192   
index 0000000..fb2420d
 1490         -
-- /dev/null
        1193  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1491   1194   
@@ -0,0 +1,7 @@
        1195  +
GET
        1196  +
/
        1197  +
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
        1198  +
host:example.amazonaws.com
        1199  +
        1200  +
host
        1201  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1492   1202   
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
 1493   1203   
new file mode 100644
 1494   1204   
index 0000000..da5c905
 1495         -
-- /dev/null
        1205  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1496   1206   
@@ -0,0 +1 @@
        1207  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1497   1208   
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
 1498   1209   
new file mode 100644
 1499   1210   
index 0000000..0290ba4
 1500         -
-- /dev/null
        1211  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1501   1212   
@@ -0,0 +1,3 @@
        1213  +
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
        1214  +
Host:example.amazonaws.com
        1215  +
 1502   1216   
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
 1503   1217   
new file mode 100644
 1504   1218   
index 0000000..d837e67
 1505         -
-- /dev/null
        1219  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1506   1220   
@@ -0,0 +1,4 @@
        1221  +
AWS4-HMAC-SHA256
        1222  +
20150830T123600Z
        1223  +
20150830/us-east-1/service/aws4_request
        1224  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1507   1225   
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
 1508   1226   
similarity index 100%
 1509   1227   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt
 1510   1228   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1511   1229   
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
 1512   1230   
new file mode 100644
 1513   1231   
index 0000000..0468d80
 1514         -
-- /dev/null
        1232  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1515   1233   
@@ -0,0 +1,12 @@
        1234  +
{
        1235  +
    "credentials": {
        1236  +
        "access_key_id": "AKIDEXAMPLE",
        1237  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1238  +
    },
        1239  +
    "expiration_in_seconds": 3600,
        1240  +
    "normalize": true,
        1241  +
    "region": "us-east-1",
        1242  +
    "service": "service",
        1243  +
    "sign_body": false,
        1244  +
    "timestamp": "2015-08-30T12:36:00Z"
        1245  +
}
              \
 No newline at end of file
 1516   1246   
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
 1517   1247   
similarity index 100%
 1518   1248   
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
 1519   1249   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1520   1250   
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
 1521   1251   
new file mode 100644
 1522   1252   
index 0000000..8f892bf
 1523         -
-- /dev/null
        1253  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1524   1254   
@@ -0,0 +1 @@
        1255  +
ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
 1525   1256   
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
 1526   1257   
new file mode 100644
 1527   1258   
index 0000000..2a1895c
 1528         -
-- /dev/null
        1259  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1529   1260   
@@ -0,0 +1,5 @@
        1261  +
GET /./example HTTP/1.1
        1262  +
Host:example.amazonaws.com
        1263  +
X-Amz-Date:20150830T123600Z
        1264  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
        1265  +
 1530   1266   
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
 1531   1267   
similarity index 100%
 1532   1268   
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
 1533   1269   
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
 1534   1270   
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
 1535   1271   
new file mode 100644
 1536   1272   
index 0000000..99dfc2a
 1537         -
-- /dev/null
        1273  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1538   1274   
@@ -0,0 +1,7 @@
        1275  +
GET
        1276  +
/example
        1277  +
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
        1278  +
host:example.amazonaws.com
        1279  +
        1280  +
host
        1281  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1539   1282   
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
 1540   1283   
new file mode 100644
 1541   1284   
index 0000000..fcd7a17
 1542         -
-- /dev/null
        1285  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1543   1286   
@@ -0,0 +1 @@
        1287  +
35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de
              \
 No newline at end of file
 1544   1288   
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
 1545   1289   
new file mode 100644
 1546   1290   
index 0000000..f671de2
 1547         -
-- /dev/null
        1291  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1548   1292   
@@ -0,0 +1,3 @@
        1293  +
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
        1294  +
Host:example.amazonaws.com
        1295  +
 1549   1296   
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
 1550   1297   
new file mode 100644
 1551   1298   
index 0000000..f8456dc
 1552         -
-- /dev/null
        1299  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1553   1300   
@@ -0,0 +1,4 @@
        1301  +
AWS4-HMAC-SHA256
        1302  +
20150830T123600Z
        1303  +
20150830/us-east-1/service/aws4_request
        1304  +
88dd73bb06de69cb042dbb82cadbb4fce1a2623615d94520c271614abf94e738
              \
 No newline at end of file
 1554   1305   
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
 1555   1306   
similarity index 100%
 1556   1307   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt
 1557   1308   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1558   1309   
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
 1559   1310   
similarity index 99%
 1560   1311   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
 1561   1312   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1562   1313   
index afe367b..7bee5c7 100644
 1563   1314   
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
 1564   1315   
new file mode 100644
 1565   1316   
index 0000000..36698c7
 1566         -
-- /dev/null
        1317  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1567   1318   
@@ -0,0 +1,8 @@
        1319  +
GET
        1320  +
/./example
        1321  +
        1322  +
host:example.amazonaws.com
        1323  +
x-amz-date:20150830T123600Z
        1324  +
        1325  +
host;x-amz-date
        1326  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1568   1327   
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
 1569   1328   
new file mode 100644
 1570   1329   
index 0000000..4a4b8f2
 1571         -
-- /dev/null
        1330  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1572   1331   
@@ -0,0 +1 @@
        1332  +
beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
              \
 No newline at end of file
 1573   1333   
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
 1574   1334   
new file mode 100644
 1575   1335   
index 0000000..d462bcd
 1576         -
-- /dev/null
        1336  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1577   1337   
@@ -0,0 +1,5 @@
        1338  +
GET /./example HTTP/1.1
        1339  +
Host:example.amazonaws.com
        1340  +
X-Amz-Date:20150830T123600Z
        1341  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
        1342  +
 1578   1343   
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
 1579   1344   
new file mode 100644
 1580   1345   
index 0000000..8be78c9
 1581         -
-- /dev/null
        1346  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1582   1347   
@@ -0,0 +1,4 @@
        1348  +
AWS4-HMAC-SHA256
        1349  +
20150830T123600Z
        1350  +
20150830/us-east-1/service/aws4_request
        1351  +
73895e0e829507e28e39fd24669aedc2434a8e179e547e3c075b42921f952cdb
              \
 No newline at end of file
 1583   1352   
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
 1584   1353   
new file mode 100644
 1585   1354   
index 0000000..fe1103c
 1586         -
-- /dev/null
        1355  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1587   1356   
@@ -0,0 +1,7 @@
        1357  +
GET
        1358  +
/./example
        1359  +
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
        1360  +
host:example.amazonaws.com
        1361  +
        1362  +
host
        1363  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1588   1364   
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
 1589   1365   
new file mode 100644
 1590   1366   
index 0000000..ce80762
 1591         -
-- /dev/null
        1367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1592   1368   
@@ -0,0 +1 @@
        1369  +
72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10
              \
 No newline at end of file
 1593   1370   
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
 1594   1371   
new file mode 100644
 1595   1372   
index 0000000..30841a6
 1596         -
-- /dev/null
        1373  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1597   1374   
@@ -0,0 +1,3 @@
        1375  +
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
        1376  +
Host:example.amazonaws.com
        1377  +
 1598   1378   
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
 1599   1379   
new file mode 100644
 1600   1380   
index 0000000..5c66509
 1601         -
-- /dev/null
        1381  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1602   1382   
@@ -0,0 +1,4 @@
        1383  +
AWS4-HMAC-SHA256
        1384  +
20150830T123600Z
        1385  +
20150830/us-east-1/service/aws4_request
        1386  +
cb23444939471187ac1f0fb25d437337af0d5f48b5ae0ede5baa3727c8c6af92
              \
 No newline at end of file
 1603   1387   
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
 1604   1388   
similarity index 100%
 1605   1389   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt
 1606   1390   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1607   1391   
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
 1608   1392   
new file mode 100644
 1609   1393   
index 0000000..7bee5c7
 1610         -
-- /dev/null
        1394  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1611   1395   
@@ -0,0 +1,12 @@
        1396  +
{
        1397  +
    "credentials": {
        1398  +
        "access_key_id": "AKIDEXAMPLE",
        1399  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1400  +
    },
        1401  +
    "expiration_in_seconds": 3600,
        1402  +
    "normalize": false,
        1403  +
    "region": "us-east-1",
        1404  +
    "service": "service",
        1405  +
    "sign_body": false,
        1406  +
    "timestamp": "2015-08-30T12:36:00Z"
        1407  +
}
              \
 No newline at end of file
 1612   1408   
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
 1613   1409   
new file mode 100644
 1614   1410   
index 0000000..5860c8a
 1615         -
-- /dev/null
        1411  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1616   1412   
@@ -0,0 +1,8 @@
        1413  +
GET
        1414  +
//
        1415  +
        1416  +
host:example.amazonaws.com
        1417  +
x-amz-date:20150830T123600Z
        1418  +
        1419  +
host;x-amz-date
        1420  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1617   1421   
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
 1618   1422   
new file mode 100644
 1619   1423   
index 0000000..8310471
 1620         -
-- /dev/null
        1424  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1621   1425   
@@ -0,0 +1 @@
        1426  +
c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
              \
 No newline at end of file
 1622   1427   
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
 1623   1428   
new file mode 100644
 1624   1429   
index 0000000..2a7afef
 1625         -
-- /dev/null
        1430  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1626   1431   
@@ -0,0 +1,5 @@
        1432  +
GET // HTTP/1.1
        1433  +
Host:example.amazonaws.com
        1434  +
X-Amz-Date:20150830T123600Z
        1435  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
        1436  +
 1627   1437   
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
 1628   1438   
new file mode 100644
 1629   1439   
index 0000000..06059dd
 1630         -
-- /dev/null
        1440  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1631   1441   
@@ -0,0 +1,4 @@
        1442  +
AWS4-HMAC-SHA256
        1443  +
20150830T123600Z
        1444  +
20150830/us-east-1/service/aws4_request
        1445  +
80cb39203d058af815de2b79250ff56e1b73eb9b4718c86556cdc6f150c5d209
              \
 No newline at end of file
 1632   1446   
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
 1633   1447   
new file mode 100644
 1634   1448   
index 0000000..6d63aef
 1635         -
-- /dev/null
        1449  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1636   1450   
@@ -0,0 +1,7 @@
        1451  +
GET
        1452  +
//
        1453  +
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
        1454  +
host:example.amazonaws.com
        1455  +
        1456  +
host
        1457  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1637   1458   
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
 1638   1459   
new file mode 100644
 1639   1460   
index 0000000..e5b7b6c
 1640         -
-- /dev/null
        1461  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1641   1462   
@@ -0,0 +1 @@
        1463  +
b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd
              \
 No newline at end of file
 1642   1464   
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
 1643   1465   
new file mode 100644
 1644   1466   
index 0000000..46fe3fd
 1645         -
-- /dev/null
        1467  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1646   1468   
@@ -0,0 +1,3 @@
        1469  +
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
        1470  +
Host:example.amazonaws.com
        1471  +
 1647   1472   
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
 1648   1473   
new file mode 100644
 1649   1474   
index 0000000..ea79940
 1650         -
-- /dev/null
        1475  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1651   1476   
@@ -0,0 +1,4 @@
        1477  +
AWS4-HMAC-SHA256
        1478  +
20150830T123600Z
        1479  +
20150830/us-east-1/service/aws4_request
        1480  +
e10a01494cafa1f2207c4de80c69b7a36d6f2d282aa63ee64a5ca50e175cf730
              \
 No newline at end of file
 1652   1481   
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
 1653   1482   
similarity index 100%
 1654   1483   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt
 1655   1484   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1656   1485   
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
 1657   1486   
new file mode 100644
 1658   1487   
index 0000000..0468d80
 1659         -
-- /dev/null
        1488  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1660   1489   
@@ -0,0 +1,12 @@
        1490  +
{
        1491  +
    "credentials": {
        1492  +
        "access_key_id": "AKIDEXAMPLE",
        1493  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1494  +
    },
        1495  +
    "expiration_in_seconds": 3600,
        1496  +
    "normalize": true,
        1497  +
    "region": "us-east-1",
        1498  +
    "service": "service",
        1499  +
    "sign_body": false,
        1500  +
    "timestamp": "2015-08-30T12:36:00Z"
        1501  +
}
              \
 No newline at end of file
 1661   1502   
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
 1662   1503   
similarity index 100%
 1663   1504   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq
 1664   1505   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1665   1506   
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
 1666   1507   
new file mode 100644
 1667   1508   
index 0000000..71c7bac
 1668         -
-- /dev/null
        1509  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1669   1510   
@@ -0,0 +1 @@
        1511  +
9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
 1670   1512   
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
 1671   1513   
new file mode 100644
 1672   1514   
index 0000000..0add1f1
 1673         -
-- /dev/null
        1515  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1674   1516   
@@ -0,0 +1,5 @@
        1517  +
GET //example// HTTP/1.1
        1518  +
Host:example.amazonaws.com
        1519  +
X-Amz-Date:20150830T123600Z
        1520  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
        1521  +
 1675   1522   
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
 1676   1523   
similarity index 100%
 1677   1524   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts
 1678   1525   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1679   1526   
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
 1680   1527   
new file mode 100644
 1681   1528   
index 0000000..ce72510
 1682         -
-- /dev/null
        1529  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1683   1530   
@@ -0,0 +1,7 @@
        1531  +
GET
        1532  +
/example/
        1533  +
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
        1534  +
host:example.amazonaws.com
        1535  +
        1536  +
host
        1537  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1684   1538   
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
 1685   1539   
new file mode 100644
 1686   1540   
index 0000000..265f387
 1687         -
-- /dev/null
        1541  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1688   1542   
@@ -0,0 +1 @@
        1543  +
c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082
              \
 No newline at end of file
 1689   1544   
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
 1690   1545   
new file mode 100644
 1691   1546   
index 0000000..e1fcb2e
 1692         -
-- /dev/null
        1547  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1693   1548   
@@ -0,0 +1,3 @@
        1549  +
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
        1550  +
Host:example.amazonaws.com
        1551  +
 1694   1552   
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
 1695   1553   
new file mode 100644
 1696   1554   
index 0000000..a14de61
 1697         -
-- /dev/null
        1555  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1698   1556   
@@ -0,0 +1,4 @@
        1557  +
AWS4-HMAC-SHA256
        1558  +
20150830T123600Z
        1559  +
20150830/us-east-1/service/aws4_request
        1560  +
1a3e3fe19998c62136ed2ff9c8531973a46d4a21b336f58e8fcad185ec64d642
              \
 No newline at end of file
 1699   1561   
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
 1700   1562   
similarity index 100%
 1701   1563   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt
 1702   1564   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1703   1565   
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
 1704   1566   
new file mode 100644
 1705   1567   
index 0000000..7bee5c7
 1706         -
-- /dev/null
        1568  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1707   1569   
@@ -0,0 +1,12 @@
        1570  +
{
        1571  +
    "credentials": {
        1572  +
        "access_key_id": "AKIDEXAMPLE",
        1573  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1574  +
    },
        1575  +
    "expiration_in_seconds": 3600,
        1576  +
    "normalize": false,
        1577  +
    "region": "us-east-1",
        1578  +
    "service": "service",
        1579  +
    "sign_body": false,
        1580  +
    "timestamp": "2015-08-30T12:36:00Z"
        1581  +
}
              \
 No newline at end of file
 1708   1582   
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
 1709   1583   
new file mode 100644
 1710   1584   
index 0000000..dfffaaf
 1711         -
-- /dev/null
        1585  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1712   1586   
@@ -0,0 +1,8 @@
        1587  +
GET
        1588  +
//example//
        1589  +
        1590  +
host:example.amazonaws.com
        1591  +
x-amz-date:20150830T123600Z
        1592  +
        1593  +
host;x-amz-date
        1594  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1713   1595   
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
 1714   1596   
new file mode 100644
 1715   1597   
index 0000000..edbcc0d
 1716         -
-- /dev/null
        1598  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1717   1599   
@@ -0,0 +1 @@
        1600  +
87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
              \
 No newline at end of file
 1718   1601   
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
 1719   1602   
new file mode 100644
 1720   1603   
index 0000000..4cc12dd
 1721         -
-- /dev/null
        1604  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1722   1605   
@@ -0,0 +1,5 @@
        1606  +
GET //example// HTTP/1.1
        1607  +
Host:example.amazonaws.com
        1608  +
X-Amz-Date:20150830T123600Z
        1609  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
        1610  +
 1723   1611   
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
 1724   1612   
new file mode 100644
 1725   1613   
index 0000000..3eba390
 1726         -
-- /dev/null
        1614  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1727   1615   
@@ -0,0 +1,4 @@
        1616  +
AWS4-HMAC-SHA256
        1617  +
20150830T123600Z
        1618  +
20150830/us-east-1/service/aws4_request
        1619  +
528ec3105ee1f34ab014bb0a1a45da0ed2742a4fea3555149e5b4d5d201eb240
              \
 No newline at end of file
 1728   1620   
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
 1729   1621   
new file mode 100644
 1730   1622   
index 0000000..f7844e3
 1731         -
-- /dev/null
        1623  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1732   1624   
@@ -0,0 +1,7 @@
        1625  +
GET
        1626  +
//example//
        1627  +
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
        1628  +
host:example.amazonaws.com
        1629  +
        1630  +
host
        1631  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1733   1632   
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
 1734   1633   
new file mode 100644
 1735   1634   
index 0000000..a8d6b96
 1736         -
-- /dev/null
        1635  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1737   1636   
@@ -0,0 +1 @@
        1637  +
822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2
              \
 No newline at end of file
 1738   1638   
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
 1739   1639   
new file mode 100644
 1740   1640   
index 0000000..a8322c6
 1741         -
-- /dev/null
        1641  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1742   1642   
@@ -0,0 +1,3 @@
        1643  +
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
        1644  +
Host:example.amazonaws.com
        1645  +
 1743   1646   
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
 1744   1647   
new file mode 100644
 1745   1648   
index 0000000..068724d
 1746         -
-- /dev/null
        1649  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1747   1650   
@@ -0,0 +1,4 @@
        1651  +
AWS4-HMAC-SHA256
        1652  +
20150830T123600Z
        1653  +
20150830/us-east-1/service/aws4_request
        1654  +
82241114f9a6320f054333c890952474aa7a0069d28a4326c3a8d95bbecc69ee
              \
 No newline at end of file
 1748   1655   
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
 1749   1656   
similarity index 100%
 1750   1657   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt
 1751   1658   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1752   1659   
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
 1753   1660   
new file mode 100644
 1754   1661   
index 0000000..0468d80
 1755         -
-- /dev/null
        1662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1756   1663   
@@ -0,0 +1,12 @@
        1664  +
{
        1665  +
    "credentials": {
        1666  +
        "access_key_id": "AKIDEXAMPLE",
        1667  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1668  +
    },
        1669  +
    "expiration_in_seconds": 3600,
        1670  +
    "normalize": true,
        1671  +
    "region": "us-east-1",
        1672  +
    "service": "service",
        1673  +
    "sign_body": false,
        1674  +
    "timestamp": "2015-08-30T12:36:00Z"
        1675  +
}
              \
 No newline at end of file
 1757   1676   
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
 1758   1677   
similarity index 100%
 1759   1678   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq
 1760   1679   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1761   1680   
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
 1762   1681   
new file mode 100644
 1763   1682   
index 0000000..f63892b
 1764         -
-- /dev/null
        1683  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1765   1684   
@@ -0,0 +1 @@
        1685  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1766   1686   
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
 1767   1687   
new file mode 100644
 1768   1688   
index 0000000..19cd5cb
 1769         -
-- /dev/null
        1689  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 1770   1690   
@@ -0,0 +1,5 @@
        1691  +
GET /example space/ HTTP/1.1
        1692  +
Host:example.amazonaws.com
        1693  +
X-Amz-Date:20150830T123600Z
        1694  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1695  +
 1771   1696   
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
 1772   1697   
similarity index 100%
 1773   1698   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts
 1774   1699   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 1775   1700   
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
 1776   1701   
new file mode 100644
 1777   1702   
index 0000000..fa3d3e2
 1778         -
-- /dev/null
        1703  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 1779   1704   
@@ -0,0 +1,7 @@
        1705  +
GET
        1706  +
/example%20space/
        1707  +
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
        1708  +
host:example.amazonaws.com
        1709  +
        1710  +
host
        1711  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1780   1712   
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
 1781   1713   
new file mode 100644
 1782   1714   
index 0000000..5b2e204
 1783         -
-- /dev/null
        1715  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 1784   1716   
@@ -0,0 +1 @@
        1717  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1785   1718   
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
 1786   1719   
new file mode 100644
 1787   1720   
index 0000000..93ca1d0
 1788         -
-- /dev/null
        1721  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 1789   1722   
@@ -0,0 +1,3 @@
        1723  +
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
        1724  +
Host:example.amazonaws.com
        1725  +
 1790   1726   
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
 1791   1727   
new file mode 100644
 1792   1728   
index 0000000..b4cb789
 1793         -
-- /dev/null
        1729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 1794   1730   
@@ -0,0 +1,4 @@
        1731  +
AWS4-HMAC-SHA256
        1732  +
20150830T123600Z
        1733  +
20150830/us-east-1/service/aws4_request
        1734  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1795   1735   
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
 1796   1736   
new file mode 100644
 1797   1737   
index 0000000..860a277
 1798         -
-- /dev/null
        1738  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 1799   1739   
@@ -0,0 +1,2 @@
        1740  +
GET /example%20space/ HTTP/1.1
        1741  +
Host:example.amazonaws.com
 1800   1742   
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
 1801   1743   
new file mode 100644
 1802   1744   
index 0000000..7bee5c7
 1803         -
-- /dev/null
        1745  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 1804   1746   
@@ -0,0 +1,12 @@
        1747  +
{
        1748  +
    "credentials": {
        1749  +
        "access_key_id": "AKIDEXAMPLE",
        1750  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1751  +
    },
        1752  +
    "expiration_in_seconds": 3600,
        1753  +
    "normalize": false,
        1754  +
    "region": "us-east-1",
        1755  +
    "service": "service",
        1756  +
    "sign_body": false,
        1757  +
    "timestamp": "2015-08-30T12:36:00Z"
        1758  +
}
              \
 No newline at end of file
 1805   1759   
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
 1806   1760   
similarity index 66%
 1807   1761   
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
 1808   1762   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1809   1763   
index 71dc981..124a709 100644
 1810         -
-- 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
        1764  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1811   1765   
@@ -1,9 +1,8 @@
 1812         -
POST
 1813         -
/
        1766  +
GET
        1767  +
/example%20space/
 1814   1768   
 1815         -
content-type:application/x-www-form-urlencoded; charset=utf-8
 1816   1769   
host:example.amazonaws.com
 1817   1770   
x-amz-date:20150830T123600Z
 1818   1771   
 1819   1772   
host;x-amz-date
 1820   1773   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1821   1774   
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
 1822   1775   
new file mode 100644
 1823   1776   
index 0000000..f63892b
 1824         -
-- /dev/null
        1777  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 1825   1778   
@@ -0,0 +1 @@
        1779  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1826   1780   
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
 1827   1781   
new file mode 100644
 1828   1782   
index 0000000..19cd5cb
 1829         -
-- /dev/null
        1783  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 1830   1784   
@@ -0,0 +1,5 @@
        1785  +
GET /example space/ HTTP/1.1
        1786  +
Host:example.amazonaws.com
        1787  +
X-Amz-Date:20150830T123600Z
        1788  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1789  +
 1831   1790   
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
 1832   1791   
new file mode 100644
 1833   1792   
index 0000000..a633f0c
 1834         -
-- /dev/null
        1793  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 1835   1794   
@@ -0,0 +1,4 @@
        1795  +
AWS4-HMAC-SHA256
        1796  +
20150830T123600Z
        1797  +
20150830/us-east-1/service/aws4_request
        1798  +
63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86
              \
 No newline at end of file
 1836   1799   
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
 1837   1800   
new file mode 100644
 1838   1801   
index 0000000..fa3d3e2
 1839         -
-- /dev/null
        1802  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 1840   1803   
@@ -0,0 +1,7 @@
        1804  +
GET
        1805  +
/example%20space/
        1806  +
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
        1807  +
host:example.amazonaws.com
        1808  +
        1809  +
host
        1810  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1841   1811   
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
 1842   1812   
new file mode 100644
 1843   1813   
index 0000000..5b2e204
 1844         -
-- /dev/null
        1814  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 1845   1815   
@@ -0,0 +1 @@
        1816  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1846   1817   
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
 1847   1818   
new file mode 100644
 1848   1819   
index 0000000..93ca1d0
 1849         -
-- /dev/null
        1820  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 1850   1821   
@@ -0,0 +1,3 @@
        1822  +
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
        1823  +
Host:example.amazonaws.com
        1824  +
 1851   1825   
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
 1852   1826   
new file mode 100644
 1853   1827   
index 0000000..b4cb789
 1854         -
-- /dev/null
        1828  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 1855   1829   
@@ -0,0 +1,4 @@
        1830  +
AWS4-HMAC-SHA256
        1831  +
20150830T123600Z
        1832  +
20150830/us-east-1/service/aws4_request
        1833  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1856   1834   
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
 1857   1835   
similarity index 67%
 1858   1836   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
 1859   1837   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1860   1838   
index b7d5e8b..ab509ab 100644
 1861         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
        1839  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1862   1840   
@@ -1,3 +1,2 @@
 1863   1841   
GET /example space/ HTTP/1.1
 1864   1842   
Host:example.amazonaws.com
 1865         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1866   1843   
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
 1867   1844   
new file mode 100644
 1868   1845   
index 0000000..0468d80
 1869         -
-- /dev/null
        1846  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 1870   1847   
@@ -0,0 +1,12 @@
        1848  +
{
        1849  +
    "credentials": {
        1850  +
        "access_key_id": "AKIDEXAMPLE",
        1851  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1852  +
    },
        1853  +
    "expiration_in_seconds": 3600,
        1854  +
    "normalize": true,
        1855  +
    "region": "us-east-1",
        1856  +
    "service": "service",
        1857  +
    "sign_body": false,
        1858  +
    "timestamp": "2015-08-30T12:36:00Z"
        1859  +
}
              \
 No newline at end of file
 1871   1860   
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
 1872   1861   
similarity index 100%
 1873   1862   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq
 1874   1863   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 1875   1864   
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
 1876   1865   
new file mode 100644
 1877   1866   
index 0000000..e503354
 1878         -
-- /dev/null
        1867  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 1879   1868   
@@ -0,0 +1 @@
        1869  +
07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
 1880   1870   
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
 1881   1871   
new file mode 100644
 1882   1872   
index 0000000..4367892
 1883         -
-- /dev/null
        1873  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 1884   1874   
@@ -0,0 +1,5 @@
        1875  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        1876  +
Host:example.amazonaws.com
        1877  +
X-Amz-Date:20150830T123600Z
        1878  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
        1879  +
 1885   1880   
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
 1886   1881   
similarity index 100%
 1887   1882   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts
 1888   1883   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 1889   1884   
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
 1890   1885   
new file mode 100644
 1891   1886   
index 0000000..d7f0696
 1892         -
-- /dev/null
        1887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 1893   1888   
@@ -0,0 +1,7 @@
        1889  +
GET
        1890  +
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
        1891  +
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
        1892  +
host:example.amazonaws.com
        1893  +
        1894  +
host
        1895  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1894   1896   
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
 1895   1897   
new file mode 100644
 1896   1898   
index 0000000..509e972
 1897         -
-- /dev/null
        1899  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 1898   1900   
@@ -0,0 +1 @@
        1901  +
95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005
              \
 No newline at end of file
 1899   1902   
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
 1900   1903   
new file mode 100644
 1901   1904   
index 0000000..79aad36
 1902         -
-- /dev/null
        1905  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 1903   1906   
@@ -0,0 +1,3 @@
        1907  +
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
        1908  +
Host:example.amazonaws.com
        1909  +
 1904   1910   
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
 1905   1911   
new file mode 100644
 1906   1912   
index 0000000..e8068b3
 1907         -
-- /dev/null
        1913  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 1908   1914   
@@ -0,0 +1,4 @@
        1915  +
AWS4-HMAC-SHA256
        1916  +
20150830T123600Z
        1917  +
20150830/us-east-1/service/aws4_request
        1918  +
3134f2fbc6ef58f34b74b01643a159bfccbc121ea4288a4b75e65bc805d08219
              \
 No newline at end of file
 1909   1919   
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
 1910   1920   
similarity index 100%
 1911   1921   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt
 1912   1922   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 1913   1923   
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
 1914   1924   
new file mode 100644
 1915   1925   
index 0000000..0468d80
 1916         -
-- /dev/null
        1926  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 1917   1927   
@@ -0,0 +1,12 @@
        1928  +
{
        1929  +
    "credentials": {
        1930  +
        "access_key_id": "AKIDEXAMPLE",
        1931  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1932  +
    },
        1933  +
    "expiration_in_seconds": 3600,
        1934  +
    "normalize": true,
        1935  +
    "region": "us-east-1",
        1936  +
    "service": "service",
        1937  +
    "sign_body": false,
        1938  +
    "timestamp": "2015-08-30T12:36:00Z"
        1939  +
}
              \
 No newline at end of file
 1918   1940   
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
 1919   1941   
similarity index 100%
 1920   1942   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq
 1921   1943   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 1922   1944   
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
 1923   1945   
new file mode 100644
 1924   1946   
index 0000000..9a13676
 1925         -
-- /dev/null
        1947  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 1926   1948   
@@ -0,0 +1 @@
        1949  +
8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
 1927   1950   
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
 1928   1951   
new file mode 100644
 1929   1952   
index 0000000..5aaf47c
 1930         -
-- /dev/null
        1953  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 1931   1954   
@@ -0,0 +1,5 @@
        1955  +
GET /ሴ HTTP/1.1
        1956  +
Host:example.amazonaws.com
        1957  +
X-Amz-Date:20150830T123600Z
        1958  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
        1959  +
 1932   1960   
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
 1933   1961   
similarity index 100%
 1934   1962   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts
 1935   1963   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 1936   1964   
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
 1937   1965   
new file mode 100644
 1938   1966   
index 0000000..bdb77c9
 1939         -
-- /dev/null
        1967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 1940   1968   
@@ -0,0 +1,7 @@
        1969  +
GET
        1970  +
/%E1%88%B4
        1971  +
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
        1972  +
host:example.amazonaws.com
        1973  +
        1974  +
host
        1975  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1941   1976   
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
 1942   1977   
new file mode 100644
 1943   1978   
index 0000000..21342b3
 1944         -
-- /dev/null
        1979  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 1945   1980   
@@ -0,0 +1 @@
        1981  +
10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44
              \
 No newline at end of file
 1946   1982   
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
 1947   1983   
new file mode 100644
 1948   1984   
index 0000000..368c2ff
 1949         -
-- /dev/null
        1985  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 1950   1986   
@@ -0,0 +1,3 @@
        1987  +
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
        1988  +
Host:example.amazonaws.com
        1989  +
 1951   1990   
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
 1952   1991   
new file mode 100644
 1953   1992   
index 0000000..56b8fbf
 1954         -
-- /dev/null
        1993  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 1955   1994   
@@ -0,0 +1,4 @@
        1995  +
AWS4-HMAC-SHA256
        1996  +
20150830T123600Z
        1997  +
20150830/us-east-1/service/aws4_request
        1998  +
d8f78e05d0d9bb1c16ae1e60ed405de76cfb8fdcd3e414ffe65fad563b996d66
              \
 No newline at end of file
 1956   1999   
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
 1957   2000   
similarity index 62%
 1958   2001   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
 1959   2002   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 1960   2003   
index da4808d..9e273f6 100644
 1961         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
        2004  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 1962   2005   
@@ -1,3 +1,2 @@
 1963   2006   
GET /ሴ HTTP/1.1
 1964   2007   
Host:example.amazonaws.com
 1965         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1966   2008   
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
 1967   2009   
new file mode 100644
 1968   2010   
index 0000000..0468d80
 1969         -
-- /dev/null
        2011  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 1970   2012   
@@ -0,0 +1,12 @@
        2013  +
{
        2014  +
    "credentials": {
        2015  +
        "access_key_id": "AKIDEXAMPLE",
        2016  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2017  +
    },
        2018  +
    "expiration_in_seconds": 3600,
        2019  +
    "normalize": true,
        2020  +
    "region": "us-east-1",
        2021  +
    "service": "service",
        2022  +
    "sign_body": false,
        2023  +
    "timestamp": "2015-08-30T12:36:00Z"
        2024  +
}
              \
 No newline at end of file
 1971   2025   
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
 1972   2026   
similarity index 100%
 1973   2027   
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
 1974   2028   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 1975   2029   
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
 1976   2030   
new file mode 100644
 1977   2031   
index 0000000..d7f1c1c
 1978         -
-- /dev/null
        2032  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 1979   2033   
@@ -0,0 +1 @@
        2034  +
a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
 1980   2035   
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
 1981   2036   
new file mode 100644
 1982   2037   
index 0000000..1c60790
 1983         -
-- /dev/null
        2038  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 1984   2039   
@@ -0,0 +1,5 @@
        2040  +
GET /?Param1=value1 HTTP/1.1
        2041  +
Host:example.amazonaws.com
        2042  +
X-Amz-Date:20150830T123600Z
        2043  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
        2044  +
 1985   2045   
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
 1986   2046   
similarity index 100%
 1987   2047   
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
 1988   2048   
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
 1989   2049   
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
 1990   2050   
new file mode 100644
 1991   2051   
index 0000000..6a823ed
 1992         -
-- /dev/null
        2052  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 1993   2053   
@@ -0,0 +1,7 @@
        2054  +
GET
        2055  +
/
        2056  +
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
        2057  +
host:example.amazonaws.com
        2058  +
        2059  +
host
        2060  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1994   2061   
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
 1995   2062   
new file mode 100644
 1996   2063   
index 0000000..8c77136
 1997         -
-- /dev/null
        2064  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 1998   2065   
@@ -0,0 +1 @@
        2066  +
49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de
              \
 No newline at end of file
 1999   2067   
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
 2000   2068   
new file mode 100644
 2001   2069   
index 0000000..2d337d8
 2002         -
-- /dev/null
        2070  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 2003   2071   
@@ -0,0 +1,3 @@
        2072  +
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
        2073  +
Host:example.amazonaws.com
        2074  +
 2004   2075   
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
 2005   2076   
new file mode 100644
 2006   2077   
index 0000000..191a484
 2007         -
-- /dev/null
        2078  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 2008   2079   
@@ -0,0 +1,4 @@
        2080  +
AWS4-HMAC-SHA256
        2081  +
20150830T123600Z
        2082  +
20150830/us-east-1/service/aws4_request
        2083  +
74828b608f939673ed5a839190452a943b0178760f258da766209b21f8ca3f86
              \
 No newline at end of file
 2009   2084   
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
 2010   2085   
similarity index 100%
 2011   2086   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt
 2012   2087   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 2013   2088   
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
 2014   2089   
new file mode 100644
 2015   2090   
index 0000000..0468d80
 2016         -
-- /dev/null
        2091  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 2017   2092   
@@ -0,0 +1,12 @@
        2093  +
{
        2094  +
    "credentials": {
        2095  +
        "access_key_id": "AKIDEXAMPLE",
        2096  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2097  +
    },
        2098  +
    "expiration_in_seconds": 3600,
        2099  +
    "normalize": true,
        2100  +
    "region": "us-east-1",
        2101  +
    "service": "service",
        2102  +
    "sign_body": false,
        2103  +
    "timestamp": "2015-08-30T12:36:00Z"
        2104  +
}
              \
 No newline at end of file
 2018   2105   
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
 2019   2106   
new file mode 100644
 2020   2107   
index 0000000..0c8ba21
 2021         -
-- /dev/null
        2108  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 2022   2109   
@@ -0,0 +1,8 @@
        2110  +
GET
        2111  +
/
        2112  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        2113  +
host:example.amazonaws.com
        2114  +
x-amz-date:20150830T123600Z
        2115  +
        2116  +
host;x-amz-date
        2117  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2023   2118   
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
 2024   2119   
new file mode 100644
 2025   2120   
index 0000000..9ab65ed
 2026         -
-- /dev/null
        2121  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 2027   2122   
@@ -0,0 +1 @@
        2123  +
371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
              \
 No newline at end of file
 2028   2124   
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
 2029   2125   
new file mode 100644
 2030   2126   
index 0000000..0bcdf98
 2031         -
-- /dev/null
        2127  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 2032   2128   
@@ -0,0 +1,5 @@
        2129  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2130  +
Host:example.amazonaws.com
        2131  +
X-Amz-Date:20150830T123600Z
        2132  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
        2133  +
 2033   2134   
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
 2034   2135   
new file mode 100644
 2035   2136   
index 0000000..bf674ad
 2036         -
-- /dev/null
        2137  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 2037   2138   
@@ -0,0 +1,4 @@
        2139  +
AWS4-HMAC-SHA256
        2140  +
20150830T123600Z
        2141  +
20150830/us-east-1/service/aws4_request
        2142  +
868294f5c38bd141c4972a373a76654f1418a8e4fc18b2e7903ae45e8ae0ec71
              \
 No newline at end of file
 2038   2143   
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
 2039   2144   
new file mode 100644
 2040   2145   
index 0000000..3f590a4
 2041         -
-- /dev/null
        2146  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 2042   2147   
@@ -0,0 +1,7 @@
        2148  +
GET
        2149  +
/
        2150  +
%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
        2151  +
host:example.amazonaws.com
        2152  +
        2153  +
host
        2154  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2043   2155   
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
 2044   2156   
new file mode 100644
 2045   2157   
index 0000000..e225eab
 2046         -
-- /dev/null
        2158  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 2047   2159   
@@ -0,0 +1 @@
        2160  +
c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787
              \
 No newline at end of file
 2048   2161   
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
 2049   2162   
new file mode 100644
 2050   2163   
index 0000000..6206719
 2051         -
-- /dev/null
        2164  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 2052   2165   
@@ -0,0 +1,3 @@
        2166  +
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
        2167  +
Host:example.amazonaws.com
        2168  +
 2053   2169   
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
 2054   2170   
new file mode 100644
 2055   2171   
index 0000000..81a4210
 2056         -
-- /dev/null
        2172  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 2057   2173   
@@ -0,0 +1,4 @@
        2174  +
AWS4-HMAC-SHA256
        2175  +
20150830T123600Z
        2176  +
20150830/us-east-1/service/aws4_request
        2177  +
9808d6cdc8245c74e705c68350fc6a62b91778cdd613890e5d177998c02c6f53
              \
 No newline at end of file
 2058   2178   
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
 2059   2179   
new file mode 100644
 2060   2180   
index 0000000..368c6e3
 2061         -
-- /dev/null
        2181  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 2062   2182   
@@ -0,0 +1,2 @@
        2183  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2184  +
Host:example.amazonaws.com
 2063   2185   
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
 2064   2186   
new file mode 100644
 2065   2187   
index 0000000..0468d80
 2066         -
-- /dev/null
        2188  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 2067   2189   
@@ -0,0 +1,12 @@
        2190  +
{
        2191  +
    "credentials": {
        2192  +
        "access_key_id": "AKIDEXAMPLE",
        2193  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2194  +
    },
        2195  +
    "expiration_in_seconds": 3600,
        2196  +
    "normalize": true,
        2197  +
    "region": "us-east-1",
        2198  +
    "service": "service",
        2199  +
    "sign_body": false,
        2200  +
    "timestamp": "2015-08-30T12:36:00Z"
        2201  +
}
              \
 No newline at end of file
 2068   2202   
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
 2069   2203   
similarity index 100%
 2070   2204   
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
 2071   2205   
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
 2072   2206   
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
 2073   2207   
new file mode 100644
 2074   2208   
index 0000000..6a8cb9d
 2075         -
-- /dev/null
        2209  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 2076   2210   
@@ -0,0 +1 @@
        2211  +
b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
 2077   2212   
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
 2078   2213   
new file mode 100644
 2079   2214   
index 0000000..f78a9d2
 2080         -
-- /dev/null
        2215  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 2081   2216   
@@ -0,0 +1,5 @@
        2217  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        2218  +
Host:example.amazonaws.com
        2219  +
X-Amz-Date:20150830T123600Z
        2220  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
        2221  +
 2082   2222   
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
 2083   2223   
similarity index 100%
 2084   2224   
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
 2085   2225   
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
 2086   2226   
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
 2087   2227   
new file mode 100644
 2088   2228   
index 0000000..a6e1bc7
 2089         -
-- /dev/null
        2229  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 2090   2230   
@@ -0,0 +1,7 @@
        2231  +
GET
        2232  +
/
        2233  +
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
        2234  +
host:example.amazonaws.com
        2235  +
        2236  +
host
        2237  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2091   2238   
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
 2092   2239   
new file mode 100644
 2093   2240   
index 0000000..d6e6a88
 2094         -
-- /dev/null
        2241  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 2095   2242   
@@ -0,0 +1 @@
        2243  +
86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5
              \
 No newline at end of file
 2096   2244   
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
 2097   2245   
new file mode 100644
 2098   2246   
index 0000000..538e2f0
 2099         -
-- /dev/null
        2247  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 2100   2248   
@@ -0,0 +1,3 @@
        2249  +
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
        2250  +
Host:example.amazonaws.com
        2251  +
 2101   2252   
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
 2102   2253   
new file mode 100644
 2103   2254   
index 0000000..e696085
 2104         -
-- /dev/null
        2255  +
++ 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
 2105   2256   
@@ -0,0 +1,4 @@
        2257  +
AWS4-HMAC-SHA256
        2258  +
20150830T123600Z
        2259  +
20150830/us-east-1/service/aws4_request
        2260  +
b82878ecb2ab7ad194b9fe79b2946c2a36ee1627a219408089b2d774c1a0cedb
              \
 No newline at end of file
 2106   2261   
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
 2107   2262   
similarity index 100%
 2108   2263   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt
 2109   2264   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2110   2265   
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
 2111   2266   
new file mode 100644
 2112   2267   
index 0000000..0468d80
 2113         -
-- /dev/null
        2268  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2114   2269   
@@ -0,0 +1,12 @@
        2270  +
{
        2271  +
    "credentials": {
        2272  +
        "access_key_id": "AKIDEXAMPLE",
        2273  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2274  +
    },
        2275  +
    "expiration_in_seconds": 3600,
        2276  +
    "normalize": true,
        2277  +
    "region": "us-east-1",
        2278  +
    "service": "service",
        2279  +
    "sign_body": false,
        2280  +
    "timestamp": "2015-08-30T12:36:00Z"
        2281  +
}
              \
 No newline at end of file
 2115   2282   
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
 2116   2283   
similarity index 100%
 2117   2284   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq
 2118   2285   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2119   2286   
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
 2120   2287   
new file mode 100644
 2121   2288   
index 0000000..876a64b
 2122         -
-- /dev/null
        2289  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2123   2290   
@@ -0,0 +1 @@
        2291  +
9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
 2124   2292   
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
 2125   2293   
similarity index 50%
 2126   2294   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
 2127   2295   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2128   2296   
index ba1ef40..9d0d993 100644
 2129         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
        2297  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2130   2298   
@@ -1,4 +1,5 @@
 2131   2299   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 2132   2300   
Host:example.amazonaws.com
 2133   2301   
X-Amz-Date:20150830T123600Z
 2134         -
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
        2302  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
        2303  +
 2135   2304   
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
 2136   2305   
similarity index 100%
 2137   2306   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts
 2138   2307   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2139   2308   
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
 2140   2309   
new file mode 100644
 2141   2310   
index 0000000..a1bac59
 2142         -
-- /dev/null
        2311  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2143   2312   
@@ -0,0 +1,7 @@
        2313  +
GET
        2314  +
/
        2315  +
-._~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
        2316  +
host:example.amazonaws.com
        2317  +
        2318  +
host
        2319  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2144   2320   
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
 2145   2321   
new file mode 100644
 2146   2322   
index 0000000..41881e9
 2147         -
-- /dev/null
        2323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2148   2324   
@@ -0,0 +1 @@
        2325  +
8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf
              \
 No newline at end of file
 2149   2326   
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
 2150   2327   
new file mode 100644
 2151   2328   
index 0000000..3179076
 2152         -
-- /dev/null
        2329  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2153   2330   
@@ -0,0 +1,3 @@
        2331  +
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
        2332  +
Host:example.amazonaws.com
        2333  +
 2154   2334   
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
 2155   2335   
new file mode 100644
 2156   2336   
index 0000000..6d675fc
 2157         -
-- /dev/null
        2337  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2158   2338   
@@ -0,0 +1,4 @@
        2339  +
AWS4-HMAC-SHA256
        2340  +
20150830T123600Z
        2341  +
20150830/us-east-1/service/aws4_request
        2342  +
c77f27ef2b499fbfee3f0b3c88bba7057b2b31ee9b62047078a5e0d6be91fd58
              \
 No newline at end of file
 2159   2343   
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
 2160   2344   
similarity index 100%
 2161   2345   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt
 2162   2346   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2163   2347   
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
 2164   2348   
new file mode 100644
 2165   2349   
index 0000000..0468d80
 2166         -
-- /dev/null
        2350  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2167   2351   
@@ -0,0 +1,12 @@
        2352  +
{
        2353  +
    "credentials": {
        2354  +
        "access_key_id": "AKIDEXAMPLE",
        2355  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2356  +
    },
        2357  +
    "expiration_in_seconds": 3600,
        2358  +
    "normalize": true,
        2359  +
    "region": "us-east-1",
        2360  +
    "service": "service",
        2361  +
    "sign_body": false,
        2362  +
    "timestamp": "2015-08-30T12:36:00Z"
        2363  +
}
              \
 No newline at end of file
 2168   2364   
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
 2169   2365   
similarity index 100%
 2170   2366   
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
 2171   2367   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2172   2368   
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
 2173   2369   
new file mode 100644
 2174   2370   
index 0000000..87f295f
 2175         -
-- /dev/null
        2371  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2176   2372   
@@ -0,0 +1 @@
        2373  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2177   2374   
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
 2178   2375   
new file mode 100644
 2179   2376   
index 0000000..36b86e7
 2180         -
-- /dev/null
        2377  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2181   2378   
@@ -0,0 +1,5 @@
        2379  +
GET / HTTP/1.1
        2380  +
Host:example.amazonaws.com
        2381  +
X-Amz-Date:20150830T123600Z
        2382  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2383  +
 2182   2384   
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
 2183   2385   
similarity index 100%
 2184   2386   
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
 2185   2387   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2186   2388   
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
 2187   2389   
new file mode 100644
 2188   2390   
index 0000000..fb2420d
 2189         -
-- /dev/null
        2391  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2190   2392   
@@ -0,0 +1,7 @@
        2393  +
GET
        2394  +
/
        2395  +
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
        2396  +
host:example.amazonaws.com
        2397  +
        2398  +
host
        2399  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2191   2400   
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
 2192   2401   
new file mode 100644
 2193   2402   
index 0000000..da5c905
 2194         -
-- /dev/null
        2403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2195   2404   
@@ -0,0 +1 @@
        2405  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2196   2406   
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
 2197   2407   
new file mode 100644
 2198   2408   
index 0000000..eeb7a8f
 2199         -
-- /dev/null
        2409  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2200   2410   
@@ -0,0 +1,3 @@
        2411  +
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
        2412  +
Host:example.amazonaws.com
        2413  +
 2201   2414   
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
 2202   2415   
new file mode 100644
 2203   2416   
index 0000000..d837e67
 2204         -
-- /dev/null
        2417  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2205   2418   
@@ -0,0 +1,4 @@
        2419  +
AWS4-HMAC-SHA256
        2420  +
20150830T123600Z
        2421  +
20150830/us-east-1/service/aws4_request
        2422  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2206   2423   
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
 2207   2424   
similarity index 100%
 2208   2425   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt
 2209   2426   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2210   2427   
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
 2211   2428   
new file mode 100644
 2212   2429   
index 0000000..0468d80
 2213         -
-- /dev/null
        2430  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2214   2431   
@@ -0,0 +1,12 @@
        2432  +
{
        2433  +
    "credentials": {
        2434  +
        "access_key_id": "AKIDEXAMPLE",
        2435  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2436  +
    },
        2437  +
    "expiration_in_seconds": 3600,
        2438  +
    "normalize": true,
        2439  +
    "region": "us-east-1",
        2440  +
    "service": "service",
        2441  +
    "sign_body": false,
        2442  +
    "timestamp": "2015-08-30T12:36:00Z"
        2443  +
}
              \
 No newline at end of file
 2215   2444   
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
 2216   2445   
similarity index 100%
 2217   2446   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq
 2218   2447   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2219   2448   
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
 2220   2449   
new file mode 100644
 2221   2450   
index 0000000..19a2cc9
 2222         -
-- /dev/null
        2451  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2223   2452   
@@ -0,0 +1 @@
        2453  +
2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
 2224   2454   
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
 2225   2455   
new file mode 100644
 2226   2456   
index 0000000..acb13ee
 2227         -
-- /dev/null
        2457  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2228   2458   
@@ -0,0 +1,5 @@
        2459  +
GET /?ሴ=bar HTTP/1.1
        2460  +
Host:example.amazonaws.com
        2461  +
X-Amz-Date:20150830T123600Z
        2462  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
        2463  +
 2229   2464   
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
 2230   2465   
similarity index 100%
 2231   2466   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts
 2232   2467   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2233   2468   
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
 2234   2469   
new file mode 100644
 2235   2470   
index 0000000..92cee62
 2236         -
-- /dev/null
        2471  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2237   2472   
@@ -0,0 +1,7 @@
        2473  +
GET
        2474  +
/
        2475  +
%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
        2476  +
host:example.amazonaws.com
        2477  +
        2478  +
host
        2479  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2238   2480   
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
 2239   2481   
new file mode 100644
 2240   2482   
index 0000000..c9e49de
 2241         -
-- /dev/null
        2483  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2242   2484   
@@ -0,0 +1 @@
        2485  +
0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600
              \
 No newline at end of file
 2243   2486   
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
 2244   2487   
new file mode 100644
 2245   2488   
index 0000000..8f4d8d0
 2246         -
-- /dev/null
        2489  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2247   2490   
@@ -0,0 +1,3 @@
        2491  +
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
        2492  +
Host:example.amazonaws.com
        2493  +
 2248   2494   
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
 2249   2495   
new file mode 100644
 2250   2496   
index 0000000..a6181dc
 2251         -
-- /dev/null
        2497  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2252   2498   
@@ -0,0 +1,4 @@
        2499  +
AWS4-HMAC-SHA256
        2500  +
20150830T123600Z
        2501  +
20150830/us-east-1/service/aws4_request
        2502  +
b2e8ae8e48ec880defebc6f6dc1d9fbc9f1856b33146f2943060ca71a50a7a77
              \
 No newline at end of file
 2253   2503   
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
 2254   2504   
similarity index 64%
 2255   2505   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
 2256   2506   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2257   2507   
index cc2757e..aff333a 100644
 2258         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
        2508  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2259   2509   
@@ -1,3 +1,2 @@
 2260   2510   
GET /?ሴ=bar HTTP/1.1
 2261   2511   
Host:example.amazonaws.com
 2262         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2263   2512   
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
 2264   2513   
similarity index 99%
 2265   2514   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
 2266   2515   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2267   2516   
index a457c8a..a334e18 100644
 2268   2517   
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
 2269   2518   
new file mode 100644
 2270   2519   
index 0000000..ccacdeb
 2271         -
-- /dev/null
        2520  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2272   2521   
@@ -0,0 +1,9 @@
        2522  +
GET
        2523  +
/
        2524  +
        2525  +
host:example.amazonaws.com
        2526  +
x-amz-date:20150830T123600Z
        2527  +
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2528  +
        2529  +
host;x-amz-date;x-amz-security-token
        2530  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2273   2531   
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
 2274   2532   
new file mode 100644
 2275   2533   
index 0000000..083e30d
 2276         -
-- /dev/null
        2534  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2277   2535   
@@ -0,0 +1 @@
        2536  +
07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
              \
 No newline at end of file
 2278   2537   
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
 2279   2538   
new file mode 100644
 2280   2539   
index 0000000..5287932
 2281         -
-- /dev/null
        2540  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2282   2541   
@@ -0,0 +1,6 @@
        2542  +
GET / HTTP/1.1
        2543  +
Host:example.amazonaws.com
        2544  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2545  +
X-Amz-Date:20150830T123600Z
        2546  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
        2547  +
 2283   2548   
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
 2284   2549   
new file mode 100644
 2285   2550   
index 0000000..742b880
 2286         -
-- /dev/null
        2551  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2287   2552   
@@ -0,0 +1,4 @@
        2553  +
AWS4-HMAC-SHA256
        2554  +
20150830T123600Z
        2555  +
20150830/us-east-1/service/aws4_request
        2556  +
067b36aa60031588cea4a4cde1f21215227a047690c72247f1d70b32fbbfad2b
              \
 No newline at end of file
 2288   2557   
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
 2289   2558   
new file mode 100644
 2290   2559   
index 0000000..5e75179
 2291         -
-- /dev/null
        2560  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2292   2561   
@@ -0,0 +1,7 @@
        2562  +
GET
        2563  +
/
        2564  +
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
        2565  +
host:example.amazonaws.com
        2566  +
        2567  +
host
        2568  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2293   2569   
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
 2294   2570   
new file mode 100644
 2295   2571   
index 0000000..50b947f
 2296         -
-- /dev/null
        2572  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2297   2573   
@@ -0,0 +1 @@
        2574  +
7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c
              \
 No newline at end of file
 2298   2575   
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
 2299   2576   
new file mode 100644
 2300   2577   
index 0000000..aee910b
 2301         -
-- /dev/null
        2578  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2302   2579   
@@ -0,0 +1,3 @@
        2580  +
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
        2581  +
Host:example.amazonaws.com
        2582  +
 2303   2583   
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
 2304   2584   
new file mode 100644
 2305   2585   
index 0000000..04a6c17
 2306         -
-- /dev/null
        2586  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2307   2587   
@@ -0,0 +1,4 @@
        2588  +
AWS4-HMAC-SHA256
        2589  +
20150830T123600Z
        2590  +
20150830/us-east-1/service/aws4_request
        2591  +
cb30434103085aa9e73780fc60dc9a9df818fd2a7b1de12a9f6f4d791f898761
              \
 No newline at end of file
 2308   2592   
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
 2309   2593   
similarity index 100%
 2310   2594   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt
 2311   2595   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2312   2596   
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
 2313   2597   
new file mode 100644
 2314   2598   
index 0000000..0468d80
 2315         -
-- /dev/null
        2599  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2316   2600   
@@ -0,0 +1,12 @@
        2601  +
{
        2602  +
    "credentials": {
        2603  +
        "access_key_id": "AKIDEXAMPLE",
        2604  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2605  +
    },
        2606  +
    "expiration_in_seconds": 3600,
        2607  +
    "normalize": true,
        2608  +
    "region": "us-east-1",
        2609  +
    "service": "service",
        2610  +
    "sign_body": false,
        2611  +
    "timestamp": "2015-08-30T12:36:00Z"
        2612  +
}
              \
 No newline at end of file
 2317   2613   
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
 2318   2614   
similarity index 100%
 2319   2615   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq
 2320   2616   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2321   2617   
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
 2322   2618   
new file mode 100644
 2323   2619   
index 0000000..87f295f
 2324         -
-- /dev/null
        2620  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2325   2621   
@@ -0,0 +1 @@
        2622  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2326   2623   
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
 2327   2624   
new file mode 100644
 2328   2625   
index 0000000..36b86e7
 2329         -
-- /dev/null
        2626  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2330   2627   
@@ -0,0 +1,5 @@
        2628  +
GET / HTTP/1.1
        2629  +
Host:example.amazonaws.com
        2630  +
X-Amz-Date:20150830T123600Z
        2631  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2632  +
 2331   2633   
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
 2332   2634   
similarity index 100%
 2333   2635   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts
 2334   2636   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2335   2637   
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
 2336   2638   
new file mode 100644
 2337   2639   
index 0000000..fb2420d
 2338         -
-- /dev/null
        2640  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2339   2641   
@@ -0,0 +1,7 @@
        2642  +
GET
        2643  +
/
        2644  +
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
        2645  +
host:example.amazonaws.com
        2646  +
        2647  +
host
        2648  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2340   2649   
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
 2341   2650   
new file mode 100644
 2342   2651   
index 0000000..da5c905
 2343         -
-- /dev/null
        2652  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2344   2653   
@@ -0,0 +1 @@
        2654  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2345   2655   
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
 2346   2656   
new file mode 100644
 2347   2657   
index 0000000..eeb7a8f
 2348         -
-- /dev/null
        2658  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2349   2659   
@@ -0,0 +1,3 @@
        2660  +
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
        2661  +
Host:example.amazonaws.com
        2662  +
 2350   2663   
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
 2351   2664   
new file mode 100644
 2352   2665   
index 0000000..d837e67
 2353         -
-- /dev/null
        2666  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2354   2667   
@@ -0,0 +1,4 @@
        2668  +
AWS4-HMAC-SHA256
        2669  +
20150830T123600Z
        2670  +
20150830/us-east-1/service/aws4_request
        2671  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2355   2672   
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
 2356   2673   
similarity index 100%
 2357   2674   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt
 2358   2675   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2359   2676   
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
 2360   2677   
new file mode 100644
 2361   2678   
index 0000000..0468d80
 2362         -
-- /dev/null
        2679  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2363   2680   
@@ -0,0 +1,12 @@
        2681  +
{
        2682  +
    "credentials": {
        2683  +
        "access_key_id": "AKIDEXAMPLE",
        2684  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2685  +
    },
        2686  +
    "expiration_in_seconds": 3600,
        2687  +
    "normalize": true,
        2688  +
    "region": "us-east-1",
        2689  +
    "service": "service",
        2690  +
    "sign_body": false,
        2691  +
    "timestamp": "2015-08-30T12:36:00Z"
        2692  +
}
              \
 No newline at end of file
 2364   2693   
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
 2365   2694   
similarity index 100%
 2366   2695   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq
 2367   2696   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2368   2697   
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
 2369   2698   
new file mode 100644
 2370   2699   
index 0000000..629487f
 2371         -
-- /dev/null
        2700  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2372   2701   
@@ -0,0 +1 @@
        2702  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2373   2703   
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
 2374   2704   
new file mode 100644
 2375   2705   
index 0000000..0d99b1c
 2376         -
-- /dev/null
        2706  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2377   2707   
@@ -0,0 +1,5 @@
        2708  +
POST / HTTP/1.1
        2709  +
Host:example.amazonaws.com
        2710  +
X-Amz-Date:20150830T123600Z
        2711  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2712  +
 2378   2713   
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
 2379   2714   
similarity index 100%
 2380   2715   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts
 2381   2716   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2382   2717   
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
 2383   2718   
new file mode 100644
 2384   2719   
index 0000000..d3341e7
 2385         -
-- /dev/null
        2720  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2386   2721   
@@ -0,0 +1,7 @@
        2722  +
POST
        2723  +
/
        2724  +
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
        2725  +
host:example.amazonaws.com
        2726  +
        2727  +
host
        2728  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2387   2729   
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
 2388   2730   
new file mode 100644
 2389   2731   
index 0000000..79f7e0d
 2390         -
-- /dev/null
        2732  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2391   2733   
@@ -0,0 +1 @@
        2734  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2392   2735   
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
 2393   2736   
new file mode 100644
 2394   2737   
index 0000000..94f1b21
 2395         -
-- /dev/null
        2738  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2396   2739   
@@ -0,0 +1,3 @@
        2740  +
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
        2741  +
Host:example.amazonaws.com
        2742  +
 2397   2743   
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
 2398   2744   
new file mode 100644
 2399   2745   
index 0000000..e8f335b
 2400         -
-- /dev/null
        2746  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2401   2747   
@@ -0,0 +1,4 @@
        2748  +
AWS4-HMAC-SHA256
        2749  +
20150830T123600Z
        2750  +
20150830/us-east-1/service/aws4_request
        2751  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2402   2752   
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
 2403   2753   
similarity index 100%
 2404   2754   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt
 2405   2755   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2406   2756   
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
 2407   2757   
new file mode 100644
 2408   2758   
index 0000000..0468d80
 2409         -
-- /dev/null
        2759  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2410   2760   
@@ -0,0 +1,12 @@
        2761  +
{
        2762  +
    "credentials": {
        2763  +
        "access_key_id": "AKIDEXAMPLE",
        2764  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2765  +
    },
        2766  +
    "expiration_in_seconds": 3600,
        2767  +
    "normalize": true,
        2768  +
    "region": "us-east-1",
        2769  +
    "service": "service",
        2770  +
    "sign_body": false,
        2771  +
    "timestamp": "2015-08-30T12:36:00Z"
        2772  +
}
              \
 No newline at end of file
 2411   2773   
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
 2412   2774   
similarity index 100%
 2413   2775   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq
 2414   2776   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2415   2777   
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
 2416   2778   
new file mode 100644
 2417   2779   
index 0000000..e4e6428
 2418         -
-- /dev/null
        2780  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2419   2781   
@@ -0,0 +1 @@
        2782  +
c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
 2420   2783   
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
 2421   2784   
new file mode 100644
 2422   2785   
index 0000000..e3778f5
 2423         -
-- /dev/null
        2786  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2424   2787   
@@ -0,0 +1,6 @@
        2788  +
POST / HTTP/1.1
        2789  +
Host:example.amazonaws.com
        2790  +
My-Header1:value1
        2791  +
X-Amz-Date:20150830T123600Z
        2792  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
        2793  +
 2425   2794   
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
 2426   2795   
similarity index 100%
 2427   2796   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts
 2428   2797   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2429   2798   
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
 2430   2799   
new file mode 100644
 2431   2800   
index 0000000..bd7c937
 2432         -
-- /dev/null
        2801  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2433   2802   
@@ -0,0 +1,8 @@
        2803  +
POST
        2804  +
/
        2805  +
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
        2806  +
host:example.amazonaws.com
        2807  +
my-header1:value1
        2808  +
        2809  +
host;my-header1
        2810  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2434   2811   
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
 2435   2812   
new file mode 100644
 2436   2813   
index 0000000..0416f13
 2437         -
-- /dev/null
        2814  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2438   2815   
@@ -0,0 +1 @@
        2816  +
c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7
              \
 No newline at end of file
 2439   2817   
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
 2440   2818   
new file mode 100644
 2441   2819   
index 0000000..5e6522f
 2442         -
-- /dev/null
        2820  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2443   2821   
@@ -0,0 +1,4 @@
        2822  +
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
        2823  +
Host:example.amazonaws.com
        2824  +
My-Header1:value1
        2825  +
 2444   2826   
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
 2445   2827   
new file mode 100644
 2446   2828   
index 0000000..d06d1df
 2447         -
-- /dev/null
        2829  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2448   2830   
@@ -0,0 +1,4 @@
        2831  +
AWS4-HMAC-SHA256
        2832  +
20150830T123600Z
        2833  +
20150830/us-east-1/service/aws4_request
        2834  +
1295ed77e4ef8b18b32815e493e0b0f78ee47615c0ecbebfec7c75709eb58c88
              \
 No newline at end of file
 2449   2835   
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
 2450   2836   
similarity index 100%
 2451   2837   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt
 2452   2838   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2453   2839   
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
 2454   2840   
new file mode 100644
 2455   2841   
index 0000000..0468d80
 2456         -
-- /dev/null
        2842  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2457   2843   
@@ -0,0 +1,12 @@
        2844  +
{
        2845  +
    "credentials": {
        2846  +
        "access_key_id": "AKIDEXAMPLE",
        2847  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2848  +
    },
        2849  +
    "expiration_in_seconds": 3600,
        2850  +
    "normalize": true,
        2851  +
    "region": "us-east-1",
        2852  +
    "service": "service",
        2853  +
    "sign_body": false,
        2854  +
    "timestamp": "2015-08-30T12:36:00Z"
        2855  +
}
              \
 No newline at end of file
 2458   2856   
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
 2459   2857   
similarity index 100%
 2460   2858   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq
 2461   2859   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2462   2860   
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
 2463   2861   
new file mode 100644
 2464   2862   
index 0000000..bb3809c
 2465         -
-- /dev/null
        2863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2466   2864   
@@ -0,0 +1 @@
        2865  +
cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
 2467   2866   
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
 2468   2867   
new file mode 100644
 2469   2868   
index 0000000..10f6761
 2470         -
-- /dev/null
        2869  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2471   2870   
@@ -0,0 +1,6 @@
        2871  +
POST / HTTP/1.1
        2872  +
Host:example.amazonaws.com
        2873  +
My-Header1:VALUE1
        2874  +
X-Amz-Date:20150830T123600Z
        2875  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
        2876  +
 2472   2877   
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
 2473   2878   
similarity index 100%
 2474   2879   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts
 2475   2880   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2476   2881   
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
 2477   2882   
new file mode 100644
 2478   2883   
index 0000000..f84856f
 2479         -
-- /dev/null
        2884  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2480   2885   
@@ -0,0 +1,8 @@
        2886  +
POST
        2887  +
/
        2888  +
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
        2889  +
host:example.amazonaws.com
        2890  +
my-header1:VALUE1
        2891  +
        2892  +
host;my-header1
        2893  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2481   2894   
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
 2482   2895   
new file mode 100644
 2483   2896   
index 0000000..a9d3cac
 2484         -
-- /dev/null
        2897  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2485   2898   
@@ -0,0 +1 @@
        2899  +
0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed
              \
 No newline at end of file
 2486   2900   
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
 2487   2901   
new file mode 100644
 2488   2902   
index 0000000..cf96c7c
 2489         -
-- /dev/null
        2903  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2490   2904   
@@ -0,0 +1,4 @@
        2905  +
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
        2906  +
Host:example.amazonaws.com
        2907  +
My-Header1:VALUE1
        2908  +
 2491   2909   
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
 2492   2910   
new file mode 100644
 2493   2911   
index 0000000..47ef566
 2494         -
-- /dev/null
        2912  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2495   2913   
@@ -0,0 +1,4 @@
        2914  +
AWS4-HMAC-SHA256
        2915  +
20150830T123600Z
        2916  +
20150830/us-east-1/service/aws4_request
        2917  +
9d4d1de88f0149695a91a01275fc72dc00fb50bdc78e424f012ec860d5f8c41d
              \
 No newline at end of file
 2496   2918   
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
 2497   2919   
similarity index 100%
 2498   2920   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt
 2499   2921   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2500   2922   
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
 2501   2923   
similarity index 100%
 2502   2924   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json
 2503   2925   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2504   2926   
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
 2505   2927   
similarity index 100%
 2506   2928   
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
 2507   2929   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2508   2930   
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
 2509   2931   
new file mode 100644
 2510   2932   
index 0000000..629487f
 2511         -
-- /dev/null
        2933  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2512   2934   
@@ -0,0 +1 @@
        2935  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2513   2936   
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
 2514   2937   
similarity index 67%
 2515   2938   
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
 2516   2939   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2517   2940   
index 291ed07..f96ff9e 100644
 2518         -
-- 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
        2941  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2519   2942   
@@ -1,5 +1,6 @@
 2520   2943   
POST / HTTP/1.1
 2521   2944   
Host:example.amazonaws.com
 2522         -
X-Amz-Date:20150830T123600Z
 2523   2945   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2524         -
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
        2946  +
X-Amz-Date:20150830T123600Z
        2947  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2948  +
 2525   2949   
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
 2526   2950   
similarity index 100%
 2527   2951   
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
 2528   2952   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2529   2953   
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
 2530   2954   
new file mode 100644
 2531   2955   
index 0000000..d3341e7
 2532         -
-- /dev/null
        2956  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2533   2957   
@@ -0,0 +1,7 @@
        2958  +
POST
        2959  +
/
        2960  +
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
        2961  +
host:example.amazonaws.com
        2962  +
        2963  +
host
        2964  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2534   2965   
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
 2535   2966   
new file mode 100644
 2536   2967   
index 0000000..79f7e0d
 2537         -
-- /dev/null
        2968  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2538   2969   
@@ -0,0 +1 @@
        2970  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2539   2971   
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
 2540   2972   
new file mode 100644
 2541   2973   
index 0000000..4983268
 2542         -
-- /dev/null
        2974  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2543   2975   
@@ -0,0 +1,3 @@
        2976  +
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
        2977  +
Host:example.amazonaws.com
        2978  +
 2544   2979   
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
 2545   2980   
new file mode 100644
 2546   2981   
index 0000000..e8f335b
 2547         -
-- /dev/null
        2982  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2548   2983   
@@ -0,0 +1,4 @@
        2984  +
AWS4-HMAC-SHA256
        2985  +
20150830T123600Z
        2986  +
20150830/us-east-1/service/aws4_request
        2987  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2549   2988   
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
 2550   2989   
similarity index 100%
 2551   2990   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt
 2552   2991   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2553   2992   
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
 2554   2993   
similarity index 100%
 2555   2994   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json
 2556   2995   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2557   2996   
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
 2558   2997   
similarity index 100%
 2559   2998   
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
 2560   2999   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2561   3000   
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
 2562   3001   
new file mode 100644
 2563   3002   
index 0000000..85a7c29
 2564         -
-- /dev/null
        3003  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2565   3004   
@@ -0,0 +1 @@
        3005  +
85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
 2566   3006   
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
 2567   3007   
similarity index 65%
 2568   3008   
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
 2569   3009   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2570   3010   
index 37b2f04..4d0b143 100644
 2571         -
-- 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
        3011  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2572   3012   
@@ -1,5 +1,6 @@
 2573   3013   
POST / HTTP/1.1
 2574   3014   
Host:example.amazonaws.com
 2575         -
X-Amz-Date:20150830T123600Z
 2576   3015   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2577         -
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
        3016  +
X-Amz-Date:20150830T123600Z
        3017  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
        3018  +
 2578   3019   
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
 2579   3020   
similarity index 100%
 2580   3021   
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
 2581   3022   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2582   3023   
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
 2583   3024   
new file mode 100644
 2584   3025   
index 0000000..57a7bc3
 2585         -
-- /dev/null
        3026  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2586   3027   
@@ -0,0 +1,7 @@
        3028  +
POST
        3029  +
/
        3030  +
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
        3031  +
host:example.amazonaws.com
        3032  +
        3033  +
host
        3034  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2587   3035   
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
 2588   3036   
new file mode 100644
 2589   3037   
index 0000000..eb905d2
 2590         -
-- /dev/null
        3038  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2591   3039   
@@ -0,0 +1 @@
        3040  +
46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c
              \
 No newline at end of file
 2592   3041   
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
 2593   3042   
new file mode 100644
 2594   3043   
index 0000000..1d80ec0
 2595         -
-- /dev/null
        3044  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2596   3045   
@@ -0,0 +1,3 @@
        3046  +
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
        3047  +
Host:example.amazonaws.com
        3048  +
 2597   3049   
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
 2598   3050   
new file mode 100644
 2599   3051   
index 0000000..bd0239a
 2600         -
-- /dev/null
        3052  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2601   3053   
@@ -0,0 +1,4 @@
        3054  +
AWS4-HMAC-SHA256
        3055  +
20150830T123600Z
        3056  +
20150830/us-east-1/service/aws4_request
        3057  +
37f7ba7a2ec89e8b29a0d637bcc70d8e8d0fdba854ddfc5bc06a12398cfe8605
              \
 No newline at end of file
 2602   3058   
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
 2603   3059   
similarity index 100%
 2604   3060   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt
 2605   3061   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2606   3062   
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
 2607   3063   
new file mode 100644
 2608   3064   
index 0000000..0468d80
 2609         -
-- /dev/null
        3065  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2610   3066   
@@ -0,0 +1,12 @@
        3067  +
{
        3068  +
    "credentials": {
        3069  +
        "access_key_id": "AKIDEXAMPLE",
        3070  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3071  +
    },
        3072  +
    "expiration_in_seconds": 3600,
        3073  +
    "normalize": true,
        3074  +
    "region": "us-east-1",
        3075  +
    "service": "service",
        3076  +
    "sign_body": false,
        3077  +
    "timestamp": "2015-08-30T12:36:00Z"
        3078  +
}
              \
 No newline at end of file
 2611   3079   
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
 2612   3080   
similarity index 100%
 2613   3081   
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
 2614   3082   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2615   3083   
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
 2616   3084   
new file mode 100644
 2617   3085   
index 0000000..80ed433
 2618         -
-- /dev/null
        3086  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2619   3087   
@@ -0,0 +1 @@
        3088  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2620   3089   
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
 2621   3090   
new file mode 100644
 2622   3091   
index 0000000..4e614f8
 2623         -
-- /dev/null
        3092  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2624   3093   
@@ -0,0 +1,5 @@
        3094  +
POST /?Param1=value1 HTTP/1.1
        3095  +
Host:example.amazonaws.com
        3096  +
X-Amz-Date:20150830T123600Z
        3097  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3098  +
 2625   3099   
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
 2626   3100   
similarity index 100%
 2627   3101   
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
 2628   3102   
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
 2629   3103   
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
 2630   3104   
new file mode 100644
 2631   3105   
index 0000000..be66403
 2632         -
-- /dev/null
        3106  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2633   3107   
@@ -0,0 +1,7 @@
        3108  +
POST
        3109  +
/
        3110  +
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
        3111  +
host:example.amazonaws.com
        3112  +
        3113  +
host
        3114  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2634   3115   
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
 2635   3116   
new file mode 100644
 2636   3117   
index 0000000..20fd32b
 2637         -
-- /dev/null
        3118  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2638   3119   
@@ -0,0 +1 @@
        3120  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2639   3121   
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
 2640   3122   
new file mode 100644
 2641   3123   
index 0000000..d1148d0
 2642         -
-- /dev/null
        3124  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2643   3125   
@@ -0,0 +1,3 @@
        3126  +
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
        3127  +
Host:example.amazonaws.com
        3128  +
 2644   3129   
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
 2645   3130   
new file mode 100644
 2646   3131   
index 0000000..1a77103
 2647         -
-- /dev/null
        3132  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2648   3133   
@@ -0,0 +1,4 @@
        3134  +
AWS4-HMAC-SHA256
        3135  +
20150830T123600Z
        3136  +
20150830/us-east-1/service/aws4_request
        3137  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2649   3138   
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
 2650   3139   
similarity index 100%
 2651   3140   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt
 2652   3141   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2653   3142   
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
 2654   3143   
new file mode 100644
 2655   3144   
index 0000000..0468d80
 2656         -
-- /dev/null
        3145  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2657   3146   
@@ -0,0 +1,12 @@
        3147  +
{
        3148  +
    "credentials": {
        3149  +
        "access_key_id": "AKIDEXAMPLE",
        3150  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3151  +
    },
        3152  +
    "expiration_in_seconds": 3600,
        3153  +
    "normalize": true,
        3154  +
    "region": "us-east-1",
        3155  +
    "service": "service",
        3156  +
    "sign_body": false,
        3157  +
    "timestamp": "2015-08-30T12:36:00Z"
        3158  +
}
              \
 No newline at end of file
 2658   3159   
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
 2659   3160   
similarity index 100%
 2660   3161   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq
 2661   3162   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2662   3163   
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
 2663   3164   
new file mode 100644
 2664   3165   
index 0000000..80ed433
 2665         -
-- /dev/null
        3166  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2666   3167   
@@ -0,0 +1 @@
        3168  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2667   3169   
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
 2668   3170   
new file mode 100644
 2669   3171   
index 0000000..4e614f8
 2670         -
-- /dev/null
        3172  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2671   3173   
@@ -0,0 +1,5 @@
        3174  +
POST /?Param1=value1 HTTP/1.1
        3175  +
Host:example.amazonaws.com
        3176  +
X-Amz-Date:20150830T123600Z
        3177  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3178  +
 2672   3179   
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
 2673   3180   
similarity index 100%
 2674   3181   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts
 2675   3182   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2676   3183   
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
 2677   3184   
new file mode 100644
 2678   3185   
index 0000000..be66403
 2679         -
-- /dev/null
        3186  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2680   3187   
@@ -0,0 +1,7 @@
        3188  +
POST
        3189  +
/
        3190  +
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
        3191  +
host:example.amazonaws.com
        3192  +
        3193  +
host
        3194  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2681   3195   
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
 2682   3196   
new file mode 100644
 2683   3197   
index 0000000..20fd32b
 2684         -
-- /dev/null
        3198  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2685   3199   
@@ -0,0 +1 @@
        3200  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2686   3201   
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
 2687   3202   
new file mode 100644
 2688   3203   
index 0000000..d1148d0
 2689         -
-- /dev/null
        3204  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2690   3205   
@@ -0,0 +1,3 @@
        3206  +
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
        3207  +
Host:example.amazonaws.com
        3208  +
 2691   3209   
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
 2692   3210   
new file mode 100644
 2693   3211   
index 0000000..1a77103
 2694         -
-- /dev/null
        3212  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2695   3213   
@@ -0,0 +1,4 @@
        3214  +
AWS4-HMAC-SHA256
        3215  +
20150830T123600Z
        3216  +
20150830/us-east-1/service/aws4_request
        3217  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2696   3218   
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
 2697   3219   
similarity index 100%
 2698   3220   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt
 2699   3221   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2700   3222   
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
 2701   3223   
new file mode 100644
 2702   3224   
index 0000000..0468d80
 2703         -
-- /dev/null
        3225  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2704   3226   
@@ -0,0 +1,12 @@
        3227  +
{
        3228  +
    "credentials": {
        3229  +
        "access_key_id": "AKIDEXAMPLE",
        3230  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3231  +
    },
        3232  +
    "expiration_in_seconds": 3600,
        3233  +
    "normalize": true,
        3234  +
    "region": "us-east-1",
        3235  +
    "service": "service",
        3236  +
    "sign_body": false,
        3237  +
    "timestamp": "2015-08-30T12:36:00Z"
        3238  +
}
              \
 No newline at end of file
 2705   3239   
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
 2706   3240   
similarity index 100%
 2707   3241   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq
 2708   3242   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2709   3243   
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
 2710   3244   
new file mode 100644
 2711   3245   
index 0000000..629487f
 2712         -
-- /dev/null
        3246  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2713   3247   
@@ -0,0 +1 @@
        3248  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2714   3249   
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
 2715   3250   
new file mode 100644
 2716   3251   
index 0000000..0d99b1c
 2717         -
-- /dev/null
        3252  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2718   3253   
@@ -0,0 +1,5 @@
        3254  +
POST / HTTP/1.1
        3255  +
Host:example.amazonaws.com
        3256  +
X-Amz-Date:20150830T123600Z
        3257  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3258  +
 2719   3259   
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
 2720   3260   
similarity index 100%
 2721   3261   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts
 2722   3262   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2723   3263   
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
 2724   3264   
new file mode 100644
 2725   3265   
index 0000000..d3341e7
 2726         -
-- /dev/null
        3266  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2727   3267   
@@ -0,0 +1,7 @@
        3268  +
POST
        3269  +
/
        3270  +
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
        3271  +
host:example.amazonaws.com
        3272  +
        3273  +
host
        3274  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2728   3275   
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
 2729   3276   
new file mode 100644
 2730   3277   
index 0000000..79f7e0d
 2731         -
-- /dev/null
        3278  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2732   3279   
@@ -0,0 +1 @@
        3280  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2733   3281   
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
 2734   3282   
new file mode 100644
 2735   3283   
index 0000000..94f1b21
 2736         -
-- /dev/null
        3284  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2737   3285   
@@ -0,0 +1,3 @@
        3286  +
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
        3287  +
Host:example.amazonaws.com
        3288  +
 2738   3289   
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
 2739   3290   
new file mode 100644
 2740   3291   
index 0000000..e8f335b
 2741         -
-- /dev/null
        3292  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2742   3293   
@@ -0,0 +1,4 @@
        3294  +
AWS4-HMAC-SHA256
        3295  +
20150830T123600Z
        3296  +
20150830/us-east-1/service/aws4_request
        3297  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2743   3298   
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
 2744   3299   
similarity index 100%
 2745   3300   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt
 2746   3301   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2747   3302   
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
 2748   3303   
similarity index 99%
 2749   3304   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
 2750   3305   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2751   3306   
index fc4bce6..0db1df1 100644
 2752   3307   
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
 2753   3308   
new file mode 100644
 2754   3309   
index 0000000..c218fdf
 2755         -
-- /dev/null
        3310  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2756   3311   
@@ -0,0 +1,11 @@
        3312  +
POST
        3313  +
/
        3314  +
        3315  +
content-length:13
        3316  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3317  +
host:example.amazonaws.com
        3318  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3319  +
x-amz-date:20150830T123600Z
        3320  +
        3321  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3322  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2757   3323   
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
 2758   3324   
new file mode 100644
 2759   3325   
index 0000000..836aa8b
 2760         -
-- /dev/null
        3326  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2761   3327   
@@ -0,0 +1 @@
        3328  +
328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
              \
 No newline at end of file
 2762   3329   
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
 2763   3330   
new file mode 100644
 2764   3331   
index 0000000..9262d53
 2765         -
-- /dev/null
        3332  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2766   3333   
@@ -0,0 +1,9 @@
        3334  +
POST / HTTP/1.1
        3335  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3336  +
Host:example.amazonaws.com
        3337  +
Content-Length:13
        3338  +
X-Amz-Date:20150830T123600Z
        3339  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3340  +
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
        3341  +
        3342  +
Param1=value1
              \
 No newline at end of file
 2767   3343   
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
 2768   3344   
new file mode 100644
 2769   3345   
index 0000000..ddbdccc
 2770         -
-- /dev/null
        3346  +
++ 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
 2771   3347   
@@ -0,0 +1,4 @@
        3348  +
AWS4-HMAC-SHA256
        3349  +
20150830T123600Z
        3350  +
20150830/us-east-1/service/aws4_request
        3351  +
a89f1a5b53e37702ee6363ce1da3ce8f54386f3c8f352ae652153c2982a0bc4d
              \
 No newline at end of file
 2772   3352   
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
 2773   3353   
new file mode 100644
 2774   3354   
index 0000000..596a579
 2775         -
-- /dev/null
        3355  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 2776   3356   
@@ -0,0 +1,9 @@
        3357  +
POST
        3358  +
/
        3359  +
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
        3360  +
content-length:13
        3361  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3362  +
host:example.amazonaws.com
        3363  +
        3364  +
content-length;content-type;host
        3365  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2777   3366   
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
 2778   3367   
new file mode 100644
 2779   3368   
index 0000000..bc85cd8
 2780         -
-- /dev/null
        3369  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 2781   3370   
@@ -0,0 +1 @@
        3371  +
0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d
              \
 No newline at end of file
 2782   3372   
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
 2783   3373   
new file mode 100644
 2784   3374   
index 0000000..16b59e5
 2785         -
-- /dev/null
        3375  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 2786   3376   
@@ -0,0 +1,6 @@
        3377  +
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
        3378  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3379  +
Host:example.amazonaws.com
        3380  +
Content-Length:13
        3381  +
        3382  +
Param1=value1
              \
 No newline at end of file
 2787   3383   
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
 2788   3384   
new file mode 100644
 2789   3385   
index 0000000..50074af
 2790         -
-- /dev/null
        3386  +
++ 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
 2791   3387   
@@ -0,0 +1,4 @@
        3388  +
AWS4-HMAC-SHA256
        3389  +
20150830T123600Z
        3390  +
20150830/us-east-1/service/aws4_request
        3391  +
32192353b8ae6d857fac1c71cda066e6af2d3a3127ea7ac1fee22621ab4f05dc
              \
 No newline at end of file
 2792   3392   
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
 2793   3393   
similarity index 89%
 2794   3394   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
 2795   3395   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 2796   3396   
index b711c25..8289eaa 100644
 2797   3397   
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
 2798   3398   
similarity index 99%
 2799   3399   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
 2800   3400   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 2801   3401   
index fc4bce6..0db1df1 100644
 2802   3402   
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
 2803   3403   
new file mode 100644
 2804   3404   
index 0000000..4d116a5
 2805         -
-- /dev/null
        3405  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 2806   3406   
@@ -0,0 +1,11 @@
        3407  +
POST
        3408  +
/
        3409  +
        3410  +
content-length:13
        3411  +
content-type:application/x-www-form-urlencoded
        3412  +
host:example.amazonaws.com
        3413  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3414  +
x-amz-date:20150830T123600Z
        3415  +
        3416  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3417  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2807   3418   
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
 2808   3419   
new file mode 100644
 2809   3420   
index 0000000..0d2ac37
 2810         -
-- /dev/null
        3421  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 2811   3422   
@@ -0,0 +1 @@
        3423  +
d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
              \
 No newline at end of file
 2812   3424   
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
 2813   3425   
new file mode 100644
 2814   3426   
index 0000000..bd5e49c
 2815         -
-- /dev/null
        3427  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 2816   3428   
@@ -0,0 +1,9 @@
        3429  +
POST / HTTP/1.1
        3430  +
Content-Type:application/x-www-form-urlencoded
        3431  +
Host:example.amazonaws.com
        3432  +
Content-Length:13
        3433  +
X-Amz-Date:20150830T123600Z
        3434  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3435  +
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
        3436  +
        3437  +
Param1=value1
              \
 No newline at end of file
 2817   3438   
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
 2818   3439   
new file mode 100644
 2819   3440   
index 0000000..f1c599c
 2820         -
-- /dev/null
        3441  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 2821   3442   
@@ -0,0 +1,4 @@
        3443  +
AWS4-HMAC-SHA256
        3444  +
20150830T123600Z
        3445  +
20150830/us-east-1/service/aws4_request
        3446  +
b1edd1d03544c25390e32085d55b57acc9a3961bb59415ff86c45c3d89d16cfb
              \
 No newline at end of file
 2822   3447   
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
 2823   3448   
new file mode 100644
 2824   3449   
index 0000000..1fc1bb7
 2825         -
-- /dev/null
        3450  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 2826   3451   
@@ -0,0 +1,9 @@
        3452  +
POST
        3453  +
/
        3454  +
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
        3455  +
content-length:13
        3456  +
content-type:application/x-www-form-urlencoded
        3457  +
host:example.amazonaws.com
        3458  +
        3459  +
content-length;content-type;host
        3460  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2827   3461   
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
 2828   3462   
new file mode 100644
 2829   3463   
index 0000000..98c91b3
 2830         -
-- /dev/null
        3464  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 2831   3465   
@@ -0,0 +1 @@
        3466  +
89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9
              \
 No newline at end of file
 2832   3467   
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
 2833   3468   
new file mode 100644
 2834   3469   
index 0000000..055cd7a
 2835         -
-- /dev/null
        3470  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 2836   3471   
@@ -0,0 +1,6 @@
        3472  +
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
        3473  +
Content-Type:application/x-www-form-urlencoded
        3474  +
Host:example.amazonaws.com
        3475  +
Content-Length:13
        3476  +
        3477  +
Param1=value1
              \
 No newline at end of file
 2837   3478   
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
 2838   3479   
new file mode 100644
 2839   3480   
index 0000000..db7fc27
 2840         -
-- /dev/null
        3481  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 2841   3482   
@@ -0,0 +1,4 @@
        3483  +
AWS4-HMAC-SHA256
        3484  +
20150830T123600Z
        3485  +
20150830/us-east-1/service/aws4_request
        3486  +
ee5059a7c437165a28d0e775e6498be428761255d657d8c04cb1baa41de6514c
              \
 No newline at end of file
 2842   3487   
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
 2843   3488   
similarity index 88%
 2844   3489   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
 2845   3490   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 2846   3491   
index 0091102..760b2d3 100644
 2847   3492   
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
 2848   3493   
new file mode 100644
 2849   3494   
index 0000000..0468d80
 2850         -
-- /dev/null
        3495  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 2851   3496   
@@ -0,0 +1,12 @@
        3497  +
{
        3498  +
    "credentials": {
        3499  +
        "access_key_id": "AKIDEXAMPLE",
        3500  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3501  +
    },
        3502  +
    "expiration_in_seconds": 3600,
        3503  +
    "normalize": true,
        3504  +
    "region": "us-east-1",
        3505  +
    "service": "service",
        3506  +
    "sign_body": false,
        3507  +
    "timestamp": "2015-08-30T12:36:00Z"
        3508  +
}
              \
 No newline at end of file
 2852   3509   
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
 2853   3510   
similarity index 99%
 2854   3511   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
 2855   3512   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 2856   3513   
index ccb5f43..1bc448e 100644
 2857   3514   
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
 2858   3515   
new file mode 100644
 2859   3516   
index 0000000..489c182
 2860         -
-- /dev/null
        3517  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 2861   3518   
@@ -0,0 +1 @@
        3519  +
304502204862ad283a21f883fc12f1156a6f3fcdbba13d1847e58aa5eb37c666477ea06b022100ee439fac0a975c9a6605b1fa44ad7b654a1f8ac6e868e4e1069a1b3aa35d8113
              \
 No newline at end of file
 2862   3520   
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
 2863   3521   
new file mode 100644
 2864   3522   
index 0000000..e1b8dbf
 2865         -
-- /dev/null
        3523  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 2866   3524   
@@ -0,0 +1,9 @@
        3525  +
GET / HTTP/1.1
        3526  +
Host:example.amazonaws.com
        3527  +
My-Header1:value2
        3528  +
My-Header1:value2
        3529  +
My-Header1:value1
        3530  +
X-Amz-Date:20150830T123600Z
        3531  +
X-Amz-Region-Set:us-east-1
        3532  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=30450220331da6dfebb0d19e5e161b1efa389ccb83cadb60bc71f6791ef71ac6054c44de0221008588b7d5c9f7a79ca9c02a02efbd0f540cda242a64ca1452aa914e050b517724
        3533  +
 2867   3534   
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
 2868   3535   
similarity index 99%
 2869   3536   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
 2870   3537   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 2871   3538   
index 8783461..bfc4619 100644
 2872   3539   
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
 2873   3540   
new file mode 100644
 2874   3541   
index 0000000..379dcb2
 2875         -
-- /dev/null
        3542  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 2876   3543   
@@ -0,0 +1,4 @@
        3544  +
{
        3545  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3546  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3547  +
}
 2877   3548   
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
 2878   3549   
similarity index 99%
 2879   3550   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
 2880   3551   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 2881   3552   
index 9561297..c05c3f5 100644
 2882   3553   
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
 2883   3554   
new file mode 100644
 2884   3555   
index 0000000..de9a4c3
 2885         -
-- /dev/null
        3556  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 2886   3557   
@@ -0,0 +1 @@
        3558  +
3045022100e1e03fa80218cb464404dc4badbdf443f5f5bb504840a2b3803565a28be0388d022063399d4fb8b974906e87a8d67bf7e95334d9dc620817ef92eb2bc6affb1c6a10
              \
 No newline at end of file
 2887   3559   
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
 2888   3560   
new file mode 100644
 2889   3561   
index 0000000..6c6b8c4
 2890         -
-- /dev/null
        3562  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 2891   3563   
@@ -0,0 +1,6 @@
        3564  +
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
        3565  +
Host:example.amazonaws.com
        3566  +
My-Header1:value2
        3567  +
My-Header1:value2
        3568  +
My-Header1:value1
        3569  +
 2892   3570   
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
 2893   3571   
similarity index 99%
 2894   3572   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
 2895   3573   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 2896   3574   
index 3140f6f..4eef106 100644
 2897   3575   
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
 2898   3576   
similarity index 78%
 2899   3577   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
 2900   3578   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2901   3579   
index 08a0364..40455ce 100644
 2902         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
        3580  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2903   3581   
@@ -1,6 +1,5 @@
 2904   3582   
GET / HTTP/1.1
 2905   3583   
Host:example.amazonaws.com
 2906   3584   
My-Header1:value2
 2907   3585   
My-Header1:value2
 2908   3586   
My-Header1:value1
 2909         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2910   3587   
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
 2911   3588   
new file mode 100644
 2912   3589   
index 0000000..0468d80
 2913         -
-- /dev/null
        3590  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 2914   3591   
@@ -0,0 +1,12 @@
        3592  +
{
        3593  +
    "credentials": {
        3594  +
        "access_key_id": "AKIDEXAMPLE",
        3595  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3596  +
    },
        3597  +
    "expiration_in_seconds": 3600,
        3598  +
    "normalize": true,
        3599  +
    "region": "us-east-1",
        3600  +
    "service": "service",
        3601  +
    "sign_body": false,
        3602  +
    "timestamp": "2015-08-30T12:36:00Z"
        3603  +
}
              \
 No newline at end of file
 2915   3604   
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
 2916   3605   
new file mode 100644
 2917   3606   
index 0000000..69526cd
 2918         -
-- /dev/null
        3607  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 2919   3608   
@@ -0,0 +1,10 @@
        3609  +
GET
        3610  +
/
        3611  +
        3612  +
host:example.amazonaws.com
        3613  +
my-header1:value1 value2 value3
        3614  +
x-amz-date:20150830T123600Z
        3615  +
x-amz-region-set:us-east-1
        3616  +
        3617  +
host;my-header1;x-amz-date;x-amz-region-set
        3618  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2920   3619   
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
 2921   3620   
new file mode 100644
 2922   3621   
index 0000000..d51b4f3
 2923         -
-- /dev/null
        3622  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 2924   3623   
@@ -0,0 +1 @@
        3624  +
304502206a2d7c3572ebcb9a1f34e5fa744250c3fb2f403a0a7e4b0bc196286846a996a8022100d94aacba36ff453394df27966e9cccd7c6065457b6fe828aebe107307cc5e8e9
              \
 No newline at end of file
 2925   3625   
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
 2926   3626   
new file mode 100644
 2927   3627   
index 0000000..8131420
 2928         -
-- /dev/null
        3628  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 2929   3629   
@@ -0,0 +1,9 @@
        3630  +
GET / HTTP/1.1
        3631  +
Host:example.amazonaws.com
        3632  +
My-Header1:value1
        3633  +
  value2
        3634  +
     value3
        3635  +
X-Amz-Date:20150830T123600Z
        3636  +
X-Amz-Region-Set:us-east-1
        3637  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022060b9f2f480a395bf34aa42074697f923c2355e26970987461ce904a6a2eeef52022100fc7ef73838bbfba208a8cf8f3edbe1c8879be7853b677f492db93c30df6fbe02
        3638  +
 2930   3639   
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
 2931   3640   
new file mode 100644
 2932   3641   
index 0000000..e4d99fa
 2933         -
-- /dev/null
        3642  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 2934   3643   
@@ -0,0 +1,4 @@
        3644  +
AWS4-ECDSA-P256-SHA256
        3645  +
20150830T123600Z
        3646  +
20150830/service/aws4_request
        3647  +
3579d4751dd7db30860b89a17b53647c70fd8363ec485836dbf68cfd22313398
              \
 No newline at end of file
 2935   3648   
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
 2936   3649   
new file mode 100644
 2937   3650   
index 0000000..379dcb2
 2938         -
-- /dev/null
        3651  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 2939   3652   
@@ -0,0 +1,4 @@
        3653  +
{
        3654  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3655  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3656  +
}
 2940   3657   
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
 2941   3658   
new file mode 100644
 2942   3659   
index 0000000..3c4d52f
 2943         -
-- /dev/null
        3660  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 2944   3661   
@@ -0,0 +1,8 @@
        3662  +
GET
        3663  +
/
        3664  +
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
        3665  +
host:example.amazonaws.com
        3666  +
my-header1:value1 value2 value3
        3667  +
        3668  +
host;my-header1
        3669  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2945   3670   
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
 2946   3671   
new file mode 100644
 2947   3672   
index 0000000..4e63f9a
 2948         -
-- /dev/null
        3673  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 2949   3674   
@@ -0,0 +1 @@
        3675  +
30450220159829015456fd111a27c4e0d6a555da894aefd23c96c5eb915b94bf6788499a022100fd48a0b97d1c32a11ee33873f87953a3ef410978f226b4a708acb9e582828fde
              \
 No newline at end of file
 2950   3676   
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
 2951   3677   
new file mode 100644
 2952   3678   
index 0000000..adf1f09
 2953         -
-- /dev/null
        3679  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 2954   3680   
@@ -0,0 +1,6 @@
        3681  +
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
        3682  +
Host:example.amazonaws.com
        3683  +
My-Header1:value1
        3684  +
  value2
        3685  +
     value3
        3686  +
 2955   3687   
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
 2956   3688   
new file mode 100644
 2957   3689   
index 0000000..e085407
 2958         -
-- /dev/null
        3690  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 2959   3691   
@@ -0,0 +1,4 @@
        3692  +
AWS4-ECDSA-P256-SHA256
        3693  +
20150830T123600Z
        3694  +
20150830/service/aws4_request
        3695  +
960c3db8a6ce71c62c4bc13e5f2a72231a8f1a644d52e688ac1524ecd4b09643
              \
 No newline at end of file
 2960   3696   
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
 2961   3697   
new file mode 100644
 2962   3698   
index 0000000..b5026cd
 2963         -
-- /dev/null
        3699  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 2964   3700   
@@ -0,0 +1,5 @@
        3701  +
GET / HTTP/1.1
        3702  +
Host:example.amazonaws.com
        3703  +
My-Header1:value1
        3704  +
  value2
        3705  +
     value3
 2965   3706   
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
 2966   3707   
new file mode 100644
 2967   3708   
index 0000000..0468d80
 2968         -
-- /dev/null
        3709  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 2969   3710   
@@ -0,0 +1,12 @@
        3711  +
{
        3712  +
    "credentials": {
        3713  +
        "access_key_id": "AKIDEXAMPLE",
        3714  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3715  +
    },
        3716  +
    "expiration_in_seconds": 3600,
        3717  +
    "normalize": true,
        3718  +
    "region": "us-east-1",
        3719  +
    "service": "service",
        3720  +
    "sign_body": false,
        3721  +
    "timestamp": "2015-08-30T12:36:00Z"
        3722  +
}
              \
 No newline at end of file
 2970   3723   
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
 2971   3724   
similarity index 99%
 2972   3725   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
 2973   3726   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 2974   3727   
index 9375193..533afdb 100644
 2975   3728   
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
 2976   3729   
new file mode 100644
 2977   3730   
index 0000000..057b426
 2978         -
-- /dev/null
        3731  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 2979   3732   
@@ -0,0 +1 @@
        3733  +
3045022005e72f83b232f1fa01d7344267d44a46fa4c193bc3d0ad256e89f92a561eb8fa022100c62a85a22a6018463df69c97da07cd189185dadeede293c659e15514cd28a0c9
              \
 No newline at end of file
 2980   3734   
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
 2981   3735   
new file mode 100644
 2982   3736   
index 0000000..4e4ccf0
 2983         -
-- /dev/null
        3737  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 2984   3738   
@@ -0,0 +1,10 @@
        3739  +
GET / HTTP/1.1
        3740  +
Host:example.amazonaws.com
        3741  +
My-Header1:value4
        3742  +
My-Header1:value1
        3743  +
My-Header1:value3
        3744  +
My-Header1:value2
        3745  +
X-Amz-Date:20150830T123600Z
        3746  +
X-Amz-Region-Set:us-east-1
        3747  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=304402203410301a4cfc805996d0ac5305374d7cdff4e2564fcbd6f6cfed73b227966046022046e36b2ede1f78d2b68ea4534ae59da3de089e58f67ae08490411dfabd77f36e
        3748  +
 2985   3749   
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
 2986   3750   
similarity index 99%
 2987   3751   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
 2988   3752   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 2989   3753   
index 6400baf..e68c952 100644
 2990   3754   
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
 2991   3755   
new file mode 100644
 2992   3756   
index 0000000..379dcb2
 2993         -
-- /dev/null
        3757  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 2994   3758   
@@ -0,0 +1,4 @@
        3759  +
{
        3760  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3761  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3762  +
}
 2995   3763   
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
 2996   3764   
similarity index 99%
 2997   3765   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
 2998   3766   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 2999   3767   
index ecf494a..68450fe 100644
 3000   3768   
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
 3001   3769   
new file mode 100644
 3002   3770   
index 0000000..9df2eb3
 3003         -
-- /dev/null
        3771  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 3004   3772   
@@ -0,0 +1 @@
        3773  +
3045022044e0c722f2d02673c326d0ac38aae57e2877e158b700de702e5dd082be680f65022100841bb5007fb5ece1078add2bf38e84f1b7ea13e67b935d1fd021014eedee46a4
              \
 No newline at end of file
 3005   3774   
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
 3006   3775   
new file mode 100644
 3007   3776   
index 0000000..62f8cb7
 3008         -
-- /dev/null
        3777  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 3009   3778   
@@ -0,0 +1,7 @@
        3779  +
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
        3780  +
Host:example.amazonaws.com
        3781  +
My-Header1:value4
        3782  +
My-Header1:value1
        3783  +
My-Header1:value3
        3784  +
My-Header1:value2
        3785  +
 3010   3786   
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
 3011   3787   
similarity index 99%
 3012   3788   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
 3013   3789   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3014   3790   
index b584179..2bcf7b1 100644
 3015   3791   
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
 3016   3792   
similarity index 80%
 3017   3793   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
 3018   3794   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3019   3795   
index f7bd9e6..2c6f49d 100644
 3020         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
        3796  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3021   3797   
@@ -1,7 +1,6 @@
 3022   3798   
GET / HTTP/1.1
 3023   3799   
Host:example.amazonaws.com
 3024   3800   
My-Header1:value4
 3025   3801   
My-Header1:value1
 3026   3802   
My-Header1:value3
 3027   3803   
My-Header1:value2
 3028         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3029   3804   
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
 3030   3805   
new file mode 100644
 3031   3806   
index 0000000..0468d80
 3032         -
-- /dev/null
        3807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 3033   3808   
@@ -0,0 +1,12 @@
        3809  +
{
        3810  +
    "credentials": {
        3811  +
        "access_key_id": "AKIDEXAMPLE",
        3812  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3813  +
    },
        3814  +
    "expiration_in_seconds": 3600,
        3815  +
    "normalize": true,
        3816  +
    "region": "us-east-1",
        3817  +
    "service": "service",
        3818  +
    "sign_body": false,
        3819  +
    "timestamp": "2015-08-30T12:36:00Z"
        3820  +
}
              \
 No newline at end of file
 3034   3821   
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
 3035   3822   
similarity index 99%
 3036   3823   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
 3037   3824   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3038   3825   
index e91e952..94b6be5 100644
 3039   3826   
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
 3040   3827   
new file mode 100644
 3041   3828   
index 0000000..bf8c3cb
 3042         -
-- /dev/null
        3829  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 3043   3830   
@@ -0,0 +1 @@
        3831  +
3046022100f05cfb8a9a49ee4540c49ed27e612ddd1a2d168512bad65a96cdf8378254a4bd022100a3eb663e6734125d467fc00d5a41dc6bf476ec167d5c20657ff3135c8b4f7815
              \
 No newline at end of file
 3044   3832   
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
 3045   3833   
new file mode 100644
 3046   3834   
index 0000000..f7f054d
 3047         -
-- /dev/null
        3835  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 3048   3836   
@@ -0,0 +1,8 @@
        3837  +
GET / HTTP/1.1
        3838  +
Host:example.amazonaws.com
        3839  +
My-Header1: value1
        3840  +
My-Header2: "a   b   c"
        3841  +
X-Amz-Date:20150830T123600Z
        3842  +
X-Amz-Region-Set:us-east-1
        3843  +
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
        3844  +
 3049   3845   
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
 3050   3846   
similarity index 99%
 3051   3847   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
 3052   3848   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3053   3849   
index 0e407d8..a2c9c05 100644
 3054   3850   
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
 3055   3851   
new file mode 100644
 3056   3852   
index 0000000..379dcb2
 3057         -
-- /dev/null
        3853  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 3058   3854   
@@ -0,0 +1,4 @@
        3855  +
{
        3856  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3857  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3858  +
}
 3059   3859   
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
 3060   3860   
similarity index 99%
 3061   3861   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
 3062   3862   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3063   3863   
index 8a3b042..3a51150 100644
 3064   3864   
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
 3065   3865   
new file mode 100644
 3066   3866   
index 0000000..0033053
 3067         -
-- /dev/null
        3867  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 3068   3868   
@@ -0,0 +1 @@
        3869  +
3045022100a765fa4e0a2c5d56292cc9aa654332858bcbb2af27b8c488157113f2c084776b02206145afa6dbb99993e499863fa36e592b94ddaeefbd778a473348204f26c15547
              \
 No newline at end of file
 3069   3870   
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
 3070   3871   
new file mode 100644
 3071   3872   
index 0000000..1537888
 3072         -
-- /dev/null
        3873  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 3073   3874   
@@ -0,0 +1,5 @@
        3875  +
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
        3876  +
Host:example.amazonaws.com
        3877  +
My-Header1: value1
        3878  +
My-Header2: "a   b   c"
        3879  +
 3074   3880   
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
 3075   3881   
similarity index 99%
 3076   3882   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
 3077   3883   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3078   3884   
index 5eead25..633dc1f 100644
 3079   3885   
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
 3080   3886   
similarity index 75%
 3081   3887   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
 3082   3888   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3083   3889   
index 901f36c..ad1ea98 100644
 3084         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
        3890  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3085   3891   
@@ -1,5 +1,4 @@
 3086   3892   
GET / HTTP/1.1
 3087   3893   
Host:example.amazonaws.com
 3088   3894   
My-Header1: value1
 3089   3895   
My-Header2: "a   b   c"
 3090         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3091   3896   
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
 3092   3897   
new file mode 100644
 3093   3898   
index 0000000..0468d80
 3094         -
-- /dev/null
        3899  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 3095   3900   
@@ -0,0 +1,12 @@
        3901  +
{
        3902  +
    "credentials": {
        3903  +
        "access_key_id": "AKIDEXAMPLE",
        3904  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3905  +
    },
        3906  +
    "expiration_in_seconds": 3600,
        3907  +
    "normalize": true,
        3908  +
    "region": "us-east-1",
        3909  +
    "service": "service",
        3910  +
    "sign_body": false,
        3911  +
    "timestamp": "2015-08-30T12:36:00Z"
        3912  +
}
              \
 No newline at end of file
 3096   3913   
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
 3097   3914   
similarity index 99%
 3098   3915   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
 3099   3916   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3100   3917   
index 47e7128..76db73d 100644
 3101   3918   
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
 3102   3919   
new file mode 100644
 3103   3920   
index 0000000..cbd6ae2
 3104         -
-- /dev/null
        3921  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3105   3922   
@@ -0,0 +1 @@
        3923  +
3045022002e5e766e09de198957182589c9abe3e7ccd00a8fc6d7bbaf5f0a2c10660d16a022100e6b0835731cd5b72d5abb50e5821d90f5f713339697eb65cf40d34a3facfdbb8
              \
 No newline at end of file
 3106   3924   
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
 3107   3925   
new file mode 100644
 3108   3926   
index 0000000..a343fcf
 3109         -
-- /dev/null
        3927  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3110   3928   
@@ -0,0 +1,6 @@
        3929  +
GET /example/.. HTTP/1.1
        3930  +
Host:example.amazonaws.com
        3931  +
X-Amz-Date:20150830T123600Z
        3932  +
X-Amz-Region-Set:us-east-1
        3933  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206ccd591952cdb4a0a002217788234c80eac520f890b0a6ea07b98044f08ba10e0220733126caf0347f7df89773f79b9fae2648ca786e67a7d88ec296d66452da4bec
        3934  +
 3111   3935   
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
 3112   3936   
similarity index 99%
 3113   3937   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
 3114   3938   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3115   3939   
index 95d7219..600f1d8 100644
 3116   3940   
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
 3117   3941   
new file mode 100644
 3118   3942   
index 0000000..379dcb2
 3119         -
-- /dev/null
        3943  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3120   3944   
@@ -0,0 +1,4 @@
        3945  +
{
        3946  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3947  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3948  +
}
 3121   3949   
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
 3122   3950   
similarity index 99%
 3123   3951   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
 3124   3952   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3125   3953   
index a34ea26..779c51c 100644
 3126   3954   
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
 3127   3955   
new file mode 100644
 3128   3956   
index 0000000..3cc88e6
 3129         -
-- /dev/null
        3957  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3130   3958   
@@ -0,0 +1 @@
        3959  +
304402200ef7c6ac7bfaaddbf4df3a4b03ab2e4e24e992d305fa133ef0f6c826ad9850e602203ef21f22e239cd1971310c404c80d6e50c5cd06eae1452695ae762d1a9a51c90
              \
 No newline at end of file
 3131   3960   
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
 3132   3961   
new file mode 100644
 3133   3962   
index 0000000..f68dde8
 3134         -
-- /dev/null
        3963  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3135   3964   
@@ -0,0 +1,3 @@
        3965  +
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
        3966  +
Host:example.amazonaws.com
        3967  +
 3136   3968   
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
 3137   3969   
similarity index 99%
 3138   3970   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
 3139   3971   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3140   3972   
index 48f855c..6e29a7e 100644
 3141   3973   
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
 3142   3974   
similarity index 65%
 3143   3975   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
 3144   3976   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3145   3977   
index 9d6d7ca..6aa9f99 100644
 3146         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
        3978  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3147   3979   
@@ -1,3 +1,2 @@
 3148   3980   
GET /example/.. HTTP/1.1
 3149   3981   
Host:example.amazonaws.com
 3150         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3151   3982   
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
 3152   3983   
new file mode 100644
 3153   3984   
index 0000000..0468d80
 3154         -
-- /dev/null
        3985  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3155   3986   
@@ -0,0 +1,12 @@
        3987  +
{
        3988  +
    "credentials": {
        3989  +
        "access_key_id": "AKIDEXAMPLE",
        3990  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3991  +
    },
        3992  +
    "expiration_in_seconds": 3600,
        3993  +
    "normalize": true,
        3994  +
    "region": "us-east-1",
        3995  +
    "service": "service",
        3996  +
    "sign_body": false,
        3997  +
    "timestamp": "2015-08-30T12:36:00Z"
        3998  +
}
              \
 No newline at end of file
 3156   3999   
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
 3157   4000   
similarity index 99%
 3158   4001   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
 3159   4002   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3160   4003   
index 47e7128..76db73d 100644
 3161   4004   
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
 3162   4005   
new file mode 100644
 3163   4006   
index 0000000..f7a7ebe
 3164         -
-- /dev/null
        4007  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3165   4008   
@@ -0,0 +1 @@
        4009  +
3046022100ea029ea1e7b8715f67cd33b8536e013e53e9c7bcd109770f29a4a28767bb2212022100c95a298283c130266a4c8457590d8c047205b4aef9266b85deeb90e5c73e5caa
              \
 No newline at end of file
 3166   4010   
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
 3167   4011   
new file mode 100644
 3168   4012   
index 0000000..9d2c50d
 3169         -
-- /dev/null
        4013  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3170   4014   
@@ -0,0 +1,6 @@
        4015  +
GET /example1/example2/../.. HTTP/1.1
        4016  +
Host:example.amazonaws.com
        4017  +
X-Amz-Date:20150830T123600Z
        4018  +
X-Amz-Region-Set:us-east-1
        4019  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203edb747d59fe32db47529b2e5e02c9276759b7c43ad9e36ff62d52b8dbeb00e3022007f99e8601938b893fe6dcbac9259fec2f3797b0e3d74fd66d59b09e83b8c1d4
        4020  +
 3171   4021   
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
 3172   4022   
similarity index 99%
 3173   4023   
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
 3174   4024   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3175   4025   
index 95d7219..600f1d8 100644
 3176   4026   
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
 3177   4027   
new file mode 100644
 3178   4028   
index 0000000..379dcb2
 3179         -
-- /dev/null
        4029  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3180   4030   
@@ -0,0 +1,4 @@
        4031  +
{
        4032  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4033  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4034  +
}
 3181   4035   
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
 3182   4036   
similarity index 99%
 3183   4037   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
 3184   4038   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3185   4039   
index a34ea26..779c51c 100644
 3186   4040   
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
 3187   4041   
new file mode 100644
 3188   4042   
index 0000000..45ef286
 3189         -
-- /dev/null
        4043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3190   4044   
@@ -0,0 +1 @@
        4045  +
304402200afc56cdc43e814e44408999f2fb2fe0f8992877345b09e402b28fb2063e4987022035cdba28f5462e9034f45fc5f879bd2305943f9a1830b0f7fbe6468658ba52c1
              \
 No newline at end of file
 3191   4046   
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
 3192   4047   
new file mode 100644
 3193   4048   
index 0000000..0d16f66
 3194         -
-- /dev/null
        4049  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3195   4050   
@@ -0,0 +1,3 @@
        4051  +
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
        4052  +
Host:example.amazonaws.com
        4053  +
 3196   4054   
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
 3197   4055   
similarity index 99%
 3198   4056   
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
 3199   4057   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3200   4058   
index 48f855c..6e29a7e 100644
 3201   4059   
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
 3202   4060   
similarity index 70%
 3203   4061   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
 3204   4062   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3205   4063   
index cfd4e8b..a856c10 100644
 3206         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
        4064  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3207   4065   
@@ -1,3 +1,2 @@
 3208   4066   
GET /example1/example2/../.. HTTP/1.1
 3209   4067   
Host:example.amazonaws.com
 3210         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3211   4068   
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
 3212   4069   
new file mode 100644
 3213   4070   
index 0000000..7bee5c7
 3214         -
-- /dev/null
        4071  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3215   4072   
@@ -0,0 +1,12 @@
        4073  +
{
        4074  +
    "credentials": {
        4075  +
        "access_key_id": "AKIDEXAMPLE",
        4076  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4077  +
    },
        4078  +
    "expiration_in_seconds": 3600,
        4079  +
    "normalize": false,
        4080  +
    "region": "us-east-1",
        4081  +
    "service": "service",
        4082  +
    "sign_body": false,
        4083  +
    "timestamp": "2015-08-30T12:36:00Z"
        4084  +
}
              \
 No newline at end of file
 3216   4085   
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
 3217   4086   
similarity index 99%
 3218   4087   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
 3219   4088   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3220   4089   
index 5e1d1cf..e4e6d57 100644
 3221   4090   
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
 3222   4091   
new file mode 100644
 3223   4092   
index 0000000..2d1b47c
 3224         -
-- /dev/null
        4093  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3225   4094   
@@ -0,0 +1 @@
        4095  +
30450221009bf86ef8b148904a938fcc5a050aa99cb99cb6a3436a62badfef1b82977d95c4022053e3c11e10fb302a2c39c253b066530404ee5fcca63bf962facd8d072817a69d
              \
 No newline at end of file
 3226   4096   
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
 3227   4097   
new file mode 100644
 3228   4098   
index 0000000..7158179
 3229         -
-- /dev/null
        4099  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3230   4100   
@@ -0,0 +1,6 @@
        4101  +
GET /example1/example2/../.. HTTP/1.1
        4102  +
Host:example.amazonaws.com
        4103  +
X-Amz-Date:20150830T123600Z
        4104  +
X-Amz-Region-Set:us-east-1
        4105  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402205651d45d4f377407303dba0775405efa77683821adff20c0256b94d10710de5b022053fa72420652c55327876c5105da6770cb482f55533e1b0bd7d15fa75f570e46
        4106  +
 3231   4107   
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
 3232   4108   
similarity index 99%
 3233   4109   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
 3234   4110   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3235   4111   
index 1cca6cf..db60c8e 100644
 3236   4112   
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
 3237   4113   
new file mode 100644
 3238   4114   
index 0000000..379dcb2
 3239         -
-- /dev/null
        4115  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3240   4116   
@@ -0,0 +1,4 @@
        4117  +
{
        4118  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4119  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4120  +
}
 3241   4121   
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
 3242   4122   
similarity index 99%
 3243   4123   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
 3244   4124   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3245   4125   
index 95dc104..0d963ba 100644
 3246   4126   
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
 3247   4127   
new file mode 100644
 3248   4128   
index 0000000..ae774e4
 3249         -
-- /dev/null
        4129  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3250   4130   
@@ -0,0 +1 @@
        4131  +
3046022100a11cd4cae39a6b3553651f9c6360898278d90a3cb8f736184ff6bdb8564decbc022100d86a34623cc34890750a7fe8a30948638f6dace0e558c3ff82a0cf6256067503
              \
 No newline at end of file
 3251   4132   
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
 3252   4133   
new file mode 100644
 3253   4134   
index 0000000..be6b86e
 3254         -
-- /dev/null
        4135  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3255   4136   
@@ -0,0 +1,3 @@
        4137  +
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
        4138  +
Host:example.amazonaws.com
        4139  +
 3256   4140   
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
 3257   4141   
similarity index 99%
 3258   4142   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
 3259   4143   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3260   4144   
index 50edce6..fcc70cd 100644
 3261   4145   
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
 3262   4146   
new file mode 100644
 3263   4147   
index 0000000..a856c10
 3264         -
-- /dev/null
        4148  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3265   4149   
@@ -0,0 +1,2 @@
        4150  +
GET /example1/example2/../.. HTTP/1.1
        4151  +
Host:example.amazonaws.com
 3266   4152   
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
 3267   4153   
new file mode 100644
 3268   4154   
index 0000000..7bee5c7
 3269         -
-- /dev/null
        4155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3270   4156   
@@ -0,0 +1,12 @@
        4157  +
{
        4158  +
    "credentials": {
        4159  +
        "access_key_id": "AKIDEXAMPLE",
        4160  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4161  +
    },
        4162  +
    "expiration_in_seconds": 3600,
        4163  +
    "normalize": false,
        4164  +
    "region": "us-east-1",
        4165  +
    "service": "service",
        4166  +
    "sign_body": false,
        4167  +
    "timestamp": "2015-08-30T12:36:00Z"
        4168  +
}
              \
 No newline at end of file
 3271   4169   
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
 3272   4170   
similarity index 99%
 3273   4171   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
 3274   4172   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3275   4173   
index d6a0abe..22def1a 100644
 3276   4174   
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
 3277   4175   
new file mode 100644
 3278   4176   
index 0000000..9251bad
 3279         -
-- /dev/null
        4177  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3280   4178   
@@ -0,0 +1 @@
        4179  +
3045022100a85167a37a2c6aea42ef9dcb0dcaeaf85ca4ef1a4d8ffea5be550dbd4573471902202193760e5e6bb1ee4aff836769b9739f4563e06749bcaa7553ec1d1377aa5a6d
              \
 No newline at end of file
 3281   4180   
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
 3282   4181   
new file mode 100644
 3283   4182   
index 0000000..f1bb60f
 3284         -
-- /dev/null
        4183  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3285   4184   
@@ -0,0 +1,6 @@
        4185  +
GET /example/.. HTTP/1.1
        4186  +
Host:example.amazonaws.com
        4187  +
X-Amz-Date:20150830T123600Z
        4188  +
X-Amz-Region-Set:us-east-1
        4189  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402201430c834d8a89aca13ebd785da338950559f71ab29f1b7d7b4ad6b090de1a09702206c8d6089b75105d6fc5df5374bbb8abbc33b78951c95b90f9f6c25a657b58ce6
        4190  +
 3286   4191   
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
 3287   4192   
similarity index 99%
 3288   4193   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
 3289   4194   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3290   4195   
index 4a34e93..5673a20 100644
 3291   4196   
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
 3292   4197   
new file mode 100644
 3293   4198   
index 0000000..379dcb2
 3294         -
-- /dev/null
        4199  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3295   4200   
@@ -0,0 +1,4 @@
        4201  +
{
        4202  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4203  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4204  +
}
 3296   4205   
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
 3297   4206   
similarity index 99%
 3298   4207   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
 3299   4208   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3300   4209   
index b1d123e..a1c22e0 100644
 3301   4210   
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
 3302   4211   
new file mode 100644
 3303   4212   
index 0000000..9f0f686
 3304         -
-- /dev/null
        4213  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3305   4214   
@@ -0,0 +1 @@
        4215  +
3045022074d05647e395d4bf3d751953c7242ee27dd16fbae3f604a272d3acc3d72ba5fb022100ddccd95ac05f60f10d5e95c5847b49018bbfa1084361bf338964408cc2162fff
              \
 No newline at end of file
 3306   4216   
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
 3307   4217   
new file mode 100644
 3308   4218   
index 0000000..d1d451a
 3309         -
-- /dev/null
        4219  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3310   4220   
@@ -0,0 +1,3 @@
        4221  +
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
        4222  +
Host:example.amazonaws.com
        4223  +
 3311   4224   
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
 3312   4225   
similarity index 99%
 3313   4226   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
 3314   4227   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3315   4228   
index a17f5ab..81b41e8 100644
 3316   4229   
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
 3317   4230   
new file mode 100644
 3318   4231   
index 0000000..6aa9f99
 3319         -
-- /dev/null
        4232  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3320   4233   
@@ -0,0 +1,2 @@
        4234  +
GET /example/.. HTTP/1.1
        4235  +
Host:example.amazonaws.com
 3321   4236   
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
 3322   4237   
new file mode 100644
 3323   4238   
index 0000000..0468d80
 3324         -
-- /dev/null
        4239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3325   4240   
@@ -0,0 +1,12 @@
        4241  +
{
        4242  +
    "credentials": {
        4243  +
        "access_key_id": "AKIDEXAMPLE",
        4244  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4245  +
    },
        4246  +
    "expiration_in_seconds": 3600,
        4247  +
    "normalize": true,
        4248  +
    "region": "us-east-1",
        4249  +
    "service": "service",
        4250  +
    "sign_body": false,
        4251  +
    "timestamp": "2015-08-30T12:36:00Z"
        4252  +
}
              \
 No newline at end of file
 3326   4253   
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
 3327   4254   
similarity index 99%
 3328   4255   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
 3329   4256   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3330   4257   
index 47e7128..76db73d 100644
 3331   4258   
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
 3332   4259   
new file mode 100644
 3333   4260   
index 0000000..ca6e84e
 3334         -
-- /dev/null
        4261  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3335   4262   
@@ -0,0 +1 @@
        4263  +
3045022100e8ed39e8b964e06162ab1cddbff57c449a9b72e2d052a7a3e12a116ae30185ee022003e6eb0fddbaa586225b26877ab145e05a08ac418ef7c966e5daef258b70cbfc
              \
 No newline at end of file
 3336   4264   
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
 3337   4265   
new file mode 100644
 3338   4266   
index 0000000..a7c764c
 3339         -
-- /dev/null
        4267  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3340   4268   
@@ -0,0 +1,6 @@
        4269  +
GET /./ HTTP/1.1
        4270  +
Host:example.amazonaws.com
        4271  +
X-Amz-Date:20150830T123600Z
        4272  +
X-Amz-Region-Set:us-east-1
        4273  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207665172b8612dbbd2c1f3c722c52b7b8dac2cdc5203d86252e21d9610018b153022100c548f3f0c23beeb388f8c8138ce1e883e2cdf2be1d7c5d7c15d4e565bfd6b0dd
        4274  +
 3341   4275   
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
 3342   4276   
similarity index 99%
 3343   4277   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
 3344   4278   
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
 3345   4279   
index 95d7219..600f1d8 100644
 3346   4280   
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
 3347   4281   
new file mode 100644
 3348   4282   
index 0000000..379dcb2
 3349         -
-- /dev/null
        4283  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3350   4284   
@@ -0,0 +1,4 @@
        4285  +
{
        4286  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4287  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4288  +
}
 3351   4289   
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
 3352   4290   
similarity index 99%
 3353   4291   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
 3354   4292   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3355   4293   
index a34ea26..779c51c 100644
 3356   4294   
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
 3357   4295   
new file mode 100644
 3358   4296   
index 0000000..4b6ed09
 3359         -
-- /dev/null
        4297  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3360   4298   
@@ -0,0 +1 @@
        4299  +
3046022100ea775dcca84dbada39eb9e7d55183c31d7294d1826d965c2ade1730bd20ac7cb022100aaab5325eed9bb3f93814af0fd0170893cbeeff052d0bb554f91a394fd2f5135
              \
 No newline at end of file
 3361   4300   
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
 3362   4301   
new file mode 100644
 3363   4302   
index 0000000..d6c7176
 3364         -
-- /dev/null
        4303  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3365   4304   
@@ -0,0 +1,3 @@
        4305  +
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
        4306  +
Host:example.amazonaws.com
        4307  +
 3366   4308   
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
 3367   4309   
similarity index 99%
 3368   4310   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
 3369   4311   
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
 3370   4312   
index 48f855c..6e29a7e 100644
 3371   4313   
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
 3372   4314   
similarity index 61%
 3373   4315   
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
 3374   4316   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3375   4317   
index f3537b7..2c5ff38 100644
 3376         -
-- 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
        4318  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3377   4319   
@@ -1,3 +1,2 @@
 3378   4320   
GET /./ HTTP/1.1
 3379   4321   
Host:example.amazonaws.com
 3380         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3381   4322   
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
 3382   4323   
new file mode 100644
 3383   4324   
index 0000000..7bee5c7
 3384         -
-- /dev/null
        4325  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3385   4326   
@@ -0,0 +1,12 @@
        4327  +
{
        4328  +
    "credentials": {
        4329  +
        "access_key_id": "AKIDEXAMPLE",
        4330  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4331  +
    },
        4332  +
    "expiration_in_seconds": 3600,
        4333  +
    "normalize": false,
        4334  +
    "region": "us-east-1",
        4335  +
    "service": "service",
        4336  +
    "sign_body": false,
        4337  +
    "timestamp": "2015-08-30T12:36:00Z"
        4338  +
}
              \
 No newline at end of file
 3386   4339   
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
 3387   4340   
similarity index 99%
 3388   4341   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3389   4342   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3390   4343   
index d05303d..9257ac4 100644
 3391   4344   
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
 3392   4345   
new file mode 100644
 3393   4346   
index 0000000..2eb1aa5
 3394         -
-- /dev/null
        4347  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3395   4348   
@@ -0,0 +1 @@
        4349  +
30450220430660fe6e8e04ee055a2c56476dcf95c00b3efca267823134664f90a23fdc0f022100f188106c83e13a89e6a487f24d23522520f7a15c40e3aacd0c32284da42c2f5a
              \
 No newline at end of file
 3396   4350   
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
 3397   4351   
new file mode 100644
 3398   4352   
index 0000000..df3b1da
 3399         -
-- /dev/null
        4353  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3400   4354   
@@ -0,0 +1,6 @@
        4355  +
GET /./ HTTP/1.1
        4356  +
Host:example.amazonaws.com
        4357  +
X-Amz-Date:20150830T123600Z
        4358  +
X-Amz-Region-Set:us-east-1
        4359  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022049aaa02168ac9666a94f42238be0a02a7a244b74d6e16bdf64aac7ce8e21e44d02206b9be50186bdd4ee9191c0dd5ccff7e990365bb3b56430653f6fa49a68dbf596
        4360  +
 3401   4361   
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
 3402   4362   
similarity index 99%
 3403   4363   
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
 3404   4364   
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
 3405   4365   
index e1bfb39..754b3ed 100644
 3406   4366   
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
 3407   4367   
new file mode 100644
 3408   4368   
index 0000000..379dcb2
 3409         -
-- /dev/null
        4369  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3410   4370   
@@ -0,0 +1,4 @@
        4371  +
{
        4372  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4373  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4374  +
}
 3411   4375   
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
 3412   4376   
similarity index 99%
 3413   4377   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3414   4378   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3415   4379   
index f048d0f..c8edce3 100644
 3416   4380   
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
 3417   4381   
new file mode 100644
 3418   4382   
index 0000000..d3af3b8
 3419         -
-- /dev/null
        4383  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3420   4384   
@@ -0,0 +1 @@
        4385  +
304402207999228e5213710741e030ffa7dfa83ce3676384c5df044431bc854488a08abd0220248ff8a956bbcbc641c0ec4a7853774f44112b1571f861fc5aebf78282fd7e63
              \
 No newline at end of file
 3421   4386   
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
 3422   4387   
new file mode 100644
 3423   4388   
index 0000000..eb38155
 3424         -
-- /dev/null
        4389  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3425   4390   
@@ -0,0 +1,3 @@
        4391  +
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
        4392  +
Host:example.amazonaws.com
        4393  +
 3426   4394   
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
 3427   4395   
similarity index 99%
 3428   4396   
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
 3429   4397   
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
 3430   4398   
index bfcf245..4f20b8f 100644
 3431   4399   
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
 3432   4400   
new file mode 100644
 3433   4401   
index 0000000..2c5ff38
 3434         -
-- /dev/null
        4402  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3435   4403   
@@ -0,0 +1,2 @@
        4404  +
GET /./ HTTP/1.1
        4405  +
Host:example.amazonaws.com
 3436   4406   
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
 3437   4407   
new file mode 100644
 3438   4408   
index 0000000..0468d80
 3439         -
-- /dev/null
        4409  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3440   4410   
@@ -0,0 +1,12 @@
        4411  +
{
        4412  +
    "credentials": {
        4413  +
        "access_key_id": "AKIDEXAMPLE",
        4414  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4415  +
    },
        4416  +
    "expiration_in_seconds": 3600,
        4417  +
    "normalize": true,
        4418  +
    "region": "us-east-1",
        4419  +
    "service": "service",
        4420  +
    "sign_body": false,
        4421  +
    "timestamp": "2015-08-30T12:36:00Z"
        4422  +
}
              \
 No newline at end of file
 3441   4423   
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
 3442   4424   
similarity index 99%
 3443   4425   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
 3444   4426   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3445   4427   
index 47e7128..76db73d 100644
 3446   4428   
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
 3447   4429   
new file mode 100644
 3448   4430   
index 0000000..0c049ca
 3449         -
-- /dev/null
        4431  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 3450   4432   
@@ -0,0 +1 @@
        4433  +
304602210084a7310186a866f81dbe8e546f6931dd7c61586d30664d5c11f5904836f72cfd022100c7d80abdccceb1cbcdbbda8b4f3f0ae1ac6229dce800b21ba8298c582fa96a1c
              \
 No newline at end of file
 3451   4434   
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
 3452   4435   
new file mode 100644
 3453   4436   
index 0000000..f4bb1e1
 3454         -
-- /dev/null
        4437  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 3455   4438   
@@ -0,0 +1,6 @@
        4439  +
GET // HTTP/1.1
        4440  +
Host:example.amazonaws.com
        4441  +
X-Amz-Date:20150830T123600Z
        4442  +
X-Amz-Region-Set:us-east-1
        4443  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207c7fe2e91cdbe4529569d58fc3727507375cff81a56cfa26b387895ab6cdbb25022100d38e283efa5ff27d88f10e7367493b1dc49050ba9474531e4acb3ee30fac3739
        4444  +
 3456   4445   
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
 3457   4446   
similarity index 99%
 3458   4447   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
 3459   4448   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3460   4449   
index 95d7219..600f1d8 100644
 3461   4450   
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
 3462   4451   
new file mode 100644
 3463   4452   
index 0000000..379dcb2
 3464         -
-- /dev/null
        4453  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 3465   4454   
@@ -0,0 +1,4 @@
        4455  +
{
        4456  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4457  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4458  +
}
 3466   4459   
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
 3467   4460   
similarity index 99%
 3468   4461   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
 3469   4462   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3470   4463   
index a34ea26..779c51c 100644
 3471   4464   
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
 3472   4465   
new file mode 100644
 3473   4466   
index 0000000..ca52293
 3474         -
-- /dev/null
        4467  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 3475   4468   
@@ -0,0 +1 @@
        4469  +
3045022100b1c08ec4e9a6313f2de7bd8ce726845ea7a3cc636a21ab7258a3067836a6601b02206b76d7a9845bfb683eb30d126a1dc4657e8b64762d4bfb976da9fa132c4a9bd7
              \
 No newline at end of file
 3476   4470   
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
 3477   4471   
new file mode 100644
 3478   4472   
index 0000000..4a212a9
 3479         -
-- /dev/null
        4473  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 3480   4474   
@@ -0,0 +1,3 @@
        4475  +
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
        4476  +
Host:example.amazonaws.com
        4477  +
 3481   4478   
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
 3482   4479   
similarity index 99%
 3483   4480   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
 3484   4481   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 3485   4482   
index 48f855c..6e29a7e 100644
 3486   4483   
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
 3487   4484   
similarity index 61%
 3488   4485   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
 3489   4486   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3490   4487   
index ede8e3c..25bc21e 100644
 3491         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
        4488  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3492   4489   
@@ -1,3 +1,2 @@
 3493   4490   
GET // HTTP/1.1
 3494   4491   
Host:example.amazonaws.com
 3495         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3496   4492   
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
 3497   4493   
new file mode 100644
 3498   4494   
index 0000000..0468d80
 3499         -
-- /dev/null
        4495  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 3500   4496   
@@ -0,0 +1,12 @@
        4497  +
{
        4498  +
    "credentials": {
        4499  +
        "access_key_id": "AKIDEXAMPLE",
        4500  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4501  +
    },
        4502  +
    "expiration_in_seconds": 3600,
        4503  +
    "normalize": true,
        4504  +
    "region": "us-east-1",
        4505  +
    "service": "service",
        4506  +
    "sign_body": false,
        4507  +
    "timestamp": "2015-08-30T12:36:00Z"
        4508  +
}
              \
 No newline at end of file
 3501   4509   
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
 3502   4510   
similarity index 99%
 3503   4511   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3504   4512   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3505   4513   
index 2e36c20..a51f1ba 100644
 3506   4514   
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
 3507   4515   
new file mode 100644
 3508   4516   
index 0000000..f5c871f
 3509         -
-- /dev/null
        4517  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 3510   4518   
@@ -0,0 +1 @@
        4519  +
304502206b0f9b99fe4e4b3bbcb69dd6ca076c847e676161b6fb4cd2bc776f357ece3d07022100fafc5606c7b1a45aa6ce6a7a3a68b07875315b8f952f9a192a420e407e8d1cef
              \
 No newline at end of file
 3511   4520   
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
 3512   4521   
new file mode 100644
 3513   4522   
index 0000000..bda4718
 3514         -
-- /dev/null
        4523  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 3515   4524   
@@ -0,0 +1,6 @@
        4525  +
GET /./example HTTP/1.1
        4526  +
Host:example.amazonaws.com
        4527  +
X-Amz-Date:20150830T123600Z
        4528  +
X-Amz-Region-Set:us-east-1
        4529  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221008cb5fa4d42bdd0c293d58ce748128be3a41693d25cfd701e281bf0c0bc28f41a022100b863217c8f05146ff1b4282706bc78781b1425c2d36a09127116e852e31fc974
        4530  +
 3516   4531   
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
 3517   4532   
similarity index 99%
 3518   4533   
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
 3519   4534   
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
 3520   4535   
index cd30e8b..2ffe879 100644
 3521   4536   
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
 3522   4537   
new file mode 100644
 3523   4538   
index 0000000..379dcb2
 3524         -
-- /dev/null
        4539  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 3525   4540   
@@ -0,0 +1,4 @@
        4541  +
{
        4542  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4543  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4544  +
}
 3526   4545   
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
 3527   4546   
similarity index 99%
 3528   4547   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3529   4548   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3530   4549   
index 77cf28d..45151ea 100644
 3531   4550   
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
 3532   4551   
new file mode 100644
 3533   4552   
index 0000000..11ad7bf
 3534         -
-- /dev/null
        4553  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 3535   4554   
@@ -0,0 +1 @@
        4555  +
3045022004b3d54ffdc33558a93c158a156ef1b50963d051e58ecb88b6809629d6b93860022100d88f70cb68de54e8abc628cb2325bcb32fab1a207d482010955f844812ad5174
              \
 No newline at end of file
 3536   4556   
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
 3537   4557   
new file mode 100644
 3538   4558   
index 0000000..a7537b1
 3539         -
-- /dev/null
        4559  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 3540   4560   
@@ -0,0 +1,3 @@
        4561  +
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
        4562  +
Host:example.amazonaws.com
        4563  +
 3541   4564   
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
 3542   4565   
similarity index 99%
 3543   4566   
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
 3544   4567   
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
 3545   4568   
index 49d9b24..b486672 100644
 3546   4569   
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
 3547   4570   
similarity index 65%
 3548   4571   
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
 3549   4572   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3550   4573   
index 3c91071..5d919c9 100644
 3551         -
-- 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
        4574  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3552   4575   
@@ -1,3 +1,2 @@
 3553   4576   
GET /./example HTTP/1.1
 3554   4577   
Host:example.amazonaws.com
 3555         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3556   4578   
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
 3557   4579   
new file mode 100644
 3558   4580   
index 0000000..7bee5c7
 3559         -
-- /dev/null
        4581  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 3560   4582   
@@ -0,0 +1,12 @@
        4583  +
{
        4584  +
    "credentials": {
        4585  +
        "access_key_id": "AKIDEXAMPLE",
        4586  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4587  +
    },
        4588  +
    "expiration_in_seconds": 3600,
        4589  +
    "normalize": false,
        4590  +
    "region": "us-east-1",
        4591  +
    "service": "service",
        4592  +
    "sign_body": false,
        4593  +
    "timestamp": "2015-08-30T12:36:00Z"
        4594  +
}
              \
 No newline at end of file
 3561   4595   
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
 3562   4596   
similarity index 99%
 3563   4597   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3564   4598   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3565   4599   
index 4444842..2355a69 100644
 3566   4600   
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
 3567   4601   
new file mode 100644
 3568   4602   
index 0000000..9c8f737
 3569         -
-- /dev/null
        4603  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 3570   4604   
@@ -0,0 +1 @@
        4605  +
3044022056618e95bf64058b8174e9e52790352380946d9a0a4ab332b530a63f497a80800220105ebcd6c6ee9b034157d21e7c81fdfb72ca640961cee9b49de82e5c1f80ac5e
              \
 No newline at end of file
 3571   4606   
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
 3572   4607   
new file mode 100644
 3573   4608   
index 0000000..aa5980d
 3574         -
-- /dev/null
        4609  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 3575   4610   
@@ -0,0 +1,6 @@
        4611  +
GET /./example HTTP/1.1
        4612  +
Host:example.amazonaws.com
        4613  +
X-Amz-Date:20150830T123600Z
        4614  +
X-Amz-Region-Set:us-east-1
        4615  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221009e2c768ae9904c3d04eba53cfbb7460034029fb1f169b51f82623cc53ae25dc7022100bfe47ecde858ad9ae3311bba5a4fd45fcacdb1795cc6825f0939e5d929a464bf
        4616  +
 3576   4617   
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
 3577   4618   
similarity index 99%
 3578   4619   
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
 3579   4620   
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
 3580   4621   
index cc63510..d056816 100644
 3581   4622   
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
 3582   4623   
new file mode 100644
 3583   4624   
index 0000000..379dcb2
 3584         -
-- /dev/null
        4625  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 3585   4626   
@@ -0,0 +1,4 @@
        4627  +
{
        4628  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4629  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4630  +
}
 3586   4631   
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
 3587   4632   
similarity index 99%
 3588   4633   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3589   4634   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3590   4635   
index ed2cb2d..df9928e 100644
 3591   4636   
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
 3592   4637   
new file mode 100644
 3593   4638   
index 0000000..bb4d86b
 3594         -
-- /dev/null
        4639  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 3595   4640   
@@ -0,0 +1 @@
        4641  +
304502202c31415712324143f4f20aebbd0f8a2fd4fcdd49d68ac95cd6815db3c0e6407b022100cb46cb62bbd024da2e29445c3378a32057b68b272fb2a08c79bfdcbc398505f3
              \
 No newline at end of file
 3596   4642   
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
 3597   4643   
new file mode 100644
 3598   4644   
index 0000000..0061136
 3599         -
-- /dev/null
        4645  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 3600   4646   
@@ -0,0 +1,3 @@
        4647  +
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
        4648  +
Host:example.amazonaws.com
        4649  +
 3601   4650   
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
 3602   4651   
similarity index 99%
 3603   4652   
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
 3604   4653   
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
 3605   4654   
index c9f3b6d..418f2d6 100644
 3606   4655   
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
 3607   4656   
new file mode 100644
 3608   4657   
index 0000000..5d919c9
 3609         -
-- /dev/null
        4658  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 3610   4659   
@@ -0,0 +1,2 @@
        4660  +
GET /./example HTTP/1.1
        4661  +
Host:example.amazonaws.com
 3611   4662   
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
 3612   4663   
new file mode 100644
 3613   4664   
index 0000000..7bee5c7
 3614         -
-- /dev/null
        4665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 3615   4666   
@@ -0,0 +1,12 @@
        4667  +
{
        4668  +
    "credentials": {
        4669  +
        "access_key_id": "AKIDEXAMPLE",
        4670  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4671  +
    },
        4672  +
    "expiration_in_seconds": 3600,
        4673  +
    "normalize": false,
        4674  +
    "region": "us-east-1",
        4675  +
    "service": "service",
        4676  +
    "sign_body": false,
        4677  +
    "timestamp": "2015-08-30T12:36:00Z"
        4678  +
}
              \
 No newline at end of file
 3616   4679   
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
 3617   4680   
similarity index 99%
 3618   4681   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
 3619   4682   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 3620   4683   
index 8a4d33b..5f809da 100644
 3621   4684   
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
 3622   4685   
new file mode 100644
 3623   4686   
index 0000000..60179e9
 3624         -
-- /dev/null
        4687  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 3625   4688   
@@ -0,0 +1 @@
        4689  +
3046022100fee7e772befdf85d3f9871798d5e08e93ad3f5d5d408b41387ba55714244809b0221008268d33835753dcdbd0a4d149d902eed071c41b70c230ecf56e0120a0f7d72a1
              \
 No newline at end of file
 3626   4690   
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
 3627   4691   
new file mode 100644
 3628   4692   
index 0000000..72bf1b7
 3629         -
-- /dev/null
        4693  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 3630   4694   
@@ -0,0 +1,6 @@
        4695  +
GET // HTTP/1.1
        4696  +
Host:example.amazonaws.com
        4697  +
X-Amz-Date:20150830T123600Z
        4698  +
X-Amz-Region-Set:us-east-1
        4699  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022061f03990d40a274470a1621b6e12b64452083a61218be77e48132a965da27377022100cdff18369b7361b1e33bd6cb5b216cdf88d390121447d442f59ccf84eb6489f7
        4700  +
 3631   4701   
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
 3632   4702   
similarity index 99%
 3633   4703   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
 3634   4704   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 3635   4705   
index 874c01c..2b3bf67 100644
 3636   4706   
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
 3637   4707   
new file mode 100644
 3638   4708   
index 0000000..379dcb2
 3639         -
-- /dev/null
        4709  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 3640   4710   
@@ -0,0 +1,4 @@
        4711  +
{
        4712  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4713  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4714  +
}
 3641   4715   
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
 3642   4716   
similarity index 99%
 3643   4717   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
 3644   4718   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 3645   4719   
index 81d7b0b..d10ad29 100644
 3646   4720   
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
 3647   4721   
new file mode 100644
 3648   4722   
index 0000000..d9bd824
 3649         -
-- /dev/null
        4723  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 3650   4724   
@@ -0,0 +1 @@
        4725  +
3045022100abcadf84ed6f4bf5c19df3220b13e370ef093e5e7a5a5093c1a796a3de7804710220568ec0dafd60aa764002ce2ac7c89f403b47142dc7e0e48ded1691929488c88e
              \
 No newline at end of file
 3651   4726   
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
 3652   4727   
new file mode 100644
 3653   4728   
index 0000000..19d1d46
 3654         -
-- /dev/null
        4729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 3655   4730   
@@ -0,0 +1,3 @@
        4731  +
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
        4732  +
Host:example.amazonaws.com
        4733  +
 3656   4734   
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
 3657   4735   
similarity index 99%
 3658   4736   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
 3659   4737   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 3660   4738   
index 17e5279..24c8a5e 100644
 3661   4739   
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
 3662   4740   
new file mode 100644
 3663   4741   
index 0000000..25bc21e
 3664         -
-- /dev/null
        4742  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 3665   4743   
@@ -0,0 +1,2 @@
        4744  +
GET // HTTP/1.1
        4745  +
Host:example.amazonaws.com
 3666   4746   
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
 3667   4747   
new file mode 100644
 3668   4748   
index 0000000..0468d80
 3669         -
-- /dev/null
        4749  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 3670   4750   
@@ -0,0 +1,12 @@
        4751  +
{
        4752  +
    "credentials": {
        4753  +
        "access_key_id": "AKIDEXAMPLE",
        4754  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4755  +
    },
        4756  +
    "expiration_in_seconds": 3600,
        4757  +
    "normalize": true,
        4758  +
    "region": "us-east-1",
        4759  +
    "service": "service",
        4760  +
    "sign_body": false,
        4761  +
    "timestamp": "2015-08-30T12:36:00Z"
        4762  +
}
              \
 No newline at end of file
 3671   4763   
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
 3672   4764   
similarity index 99%
 3673   4765   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
 3674   4766   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 3675   4767   
index fdf9c48..a8e9e02 100644
 3676   4768   
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
 3677   4769   
new file mode 100644
 3678   4770   
index 0000000..ffe1b60
 3679         -
-- /dev/null
        4771  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 3680   4772   
@@ -0,0 +1 @@
        4773  +
304402205dd203fd6b973e5fb088569ec27db1e267ef4a728f177e88fcc65f299255c0ab02206da878f40c64094595aa4e808849b69025f1c9b9f4be0f0e6ab8cd7a04e81d77
              \
 No newline at end of file
 3681   4774   
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
 3682   4775   
new file mode 100644
 3683   4776   
index 0000000..3189f55
 3684         -
-- /dev/null
        4777  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 3685   4778   
@@ -0,0 +1,6 @@
        4779  +
GET //example// HTTP/1.1
        4780  +
Host:example.amazonaws.com
        4781  +
X-Amz-Date:20150830T123600Z
        4782  +
X-Amz-Region-Set:us-east-1
        4783  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203d34870fcc77b0f5a3f6d440cd1cecb75c7e534cfbcc68f60743d308ae92fef602200f9fbaacc5010b9a7e046b1b5ae58764bd32c24c47ef65b63ad9ff756c478e4d
        4784  +
 3686   4785   
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
 3687   4786   
similarity index 99%
 3688   4787   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
 3689   4788   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 3690   4789   
index 8f9c95e..430020e 100644
 3691   4790   
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
 3692   4791   
new file mode 100644
 3693   4792   
index 0000000..379dcb2
 3694         -
-- /dev/null
        4793  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 3695   4794   
@@ -0,0 +1,4 @@
        4795  +
{
        4796  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4797  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4798  +
}
 3696   4799   
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
 3697   4800   
similarity index 99%
 3698   4801   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
 3699   4802   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 3700   4803   
index 1046735..8d41e37 100644
 3701   4804   
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
 3702   4805   
new file mode 100644
 3703   4806   
index 0000000..93a0fa4
 3704         -
-- /dev/null
        4807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 3705   4808   
@@ -0,0 +1 @@
        4809  +
3045022100dfd2281b396d138207f0e58889bd6cc4d95ffd8d64e6f37ef2a9f2a15cab6944022060d05a747cd4e3c49cb50bf58d834ae917cd1ebd1524a352fb64f4d54f9ba279
              \
 No newline at end of file
 3706   4810   
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
 3707   4811   
new file mode 100644
 3708   4812   
index 0000000..65c8cb6
 3709         -
-- /dev/null
        4813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 3710   4814   
@@ -0,0 +1,3 @@
        4815  +
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
        4816  +
Host:example.amazonaws.com
        4817  +
 3711   4818   
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
 3712   4819   
similarity index 99%
 3713   4820   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
 3714   4821   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 3715   4822   
index b293cc2..0f4c4c5 100644
 3716   4823   
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
 3717   4824   
similarity index 65%
 3718   4825   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
 3719   4826   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3720   4827   
index a4307ce..12e0931 100644
 3721         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
        4828  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3722   4829   
@@ -1,3 +1,2 @@
 3723   4830   
GET //example// HTTP/1.1
 3724   4831   
Host:example.amazonaws.com
 3725         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3726   4832   
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
 3727   4833   
new file mode 100644
 3728   4834   
index 0000000..7bee5c7
 3729         -
-- /dev/null
        4835  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 3730   4836   
@@ -0,0 +1,12 @@
        4837  +
{
        4838  +
    "credentials": {
        4839  +
        "access_key_id": "AKIDEXAMPLE",
        4840  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4841  +
    },
        4842  +
    "expiration_in_seconds": 3600,
        4843  +
    "normalize": false,
        4844  +
    "region": "us-east-1",
        4845  +
    "service": "service",
        4846  +
    "sign_body": false,
        4847  +
    "timestamp": "2015-08-30T12:36:00Z"
        4848  +
}
              \
 No newline at end of file
 3731   4849   
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
 3732   4850   
similarity index 99%
 3733   4851   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
 3734   4852   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 3735   4853   
index a9c55f6..76f55ed 100644
 3736   4854   
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
 3737   4855   
new file mode 100644
 3738   4856   
index 0000000..de333b2
 3739         -
-- /dev/null
        4857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 3740   4858   
@@ -0,0 +1 @@
        4859  +
3044022039ccb6afb5f0b574cfc8fec2e9158269bbe28f9e5747acc032d1ea17617f8b2002204933ee3e4ad4ec425c90593a68db99fcece29ae45906dec40c2204290cedf8bd
              \
 No newline at end of file
 3741   4860   
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
 3742   4861   
new file mode 100644
 3743   4862   
index 0000000..773ce63
 3744         -
-- /dev/null
        4863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 3745   4864   
@@ -0,0 +1,6 @@
        4865  +
GET //example// HTTP/1.1
        4866  +
Host:example.amazonaws.com
        4867  +
X-Amz-Date:20150830T123600Z
        4868  +
X-Amz-Region-Set:us-east-1
        4869  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502202450e5abfccb424d5a0e2d5d1a084e76abc5290ae567a97f5174bfed575fd519022100a5e743040a2bdd3cd7889070e1d190d5782e7591a715370f9bea04dc2702dbab
        4870  +
 3746   4871   
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
 3747   4872   
similarity index 99%
 3748   4873   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
 3749   4874   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 3750   4875   
index 5c4c2cd..46c3265 100644
 3751   4876   
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
 3752   4877   
new file mode 100644
 3753   4878   
index 0000000..379dcb2
 3754         -
-- /dev/null
        4879  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 3755   4880   
@@ -0,0 +1,4 @@
        4881  +
{
        4882  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4883  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4884  +
}
 3756   4885   
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
 3757   4886   
similarity index 99%
 3758   4887   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
 3759   4888   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 3760   4889   
index c878ab4..6047ccf 100644
 3761   4890   
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
 3762   4891   
new file mode 100644
 3763   4892   
index 0000000..d61fcd0
 3764         -
-- /dev/null
        4893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 3765   4894   
@@ -0,0 +1 @@
        4895  +
3045022100fa1d3e99997a184d59e23fb8bfeca08a5f94f2e7b89b0320d11deacab3593f0f022009c0785ec02c5dda370a3eb714feb51e3b0d56df674571bf7146bf8277897e65
              \
 No newline at end of file
 3766   4896   
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
 3767   4897   
new file mode 100644
 3768   4898   
index 0000000..3e37b5b
 3769         -
-- /dev/null
        4899  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 3770   4900   
@@ -0,0 +1,3 @@
        4901  +
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
        4902  +
Host:example.amazonaws.com
        4903  +
 3771   4904   
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
 3772   4905   
similarity index 99%
 3773   4906   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
 3774   4907   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 3775   4908   
index 5f59645..2537d28 100644
 3776   4909   
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
 3777   4910   
new file mode 100644
 3778   4911   
index 0000000..12e0931
 3779         -
-- /dev/null
        4912  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 3780   4913   
@@ -0,0 +1,2 @@
        4914  +
GET //example// HTTP/1.1
        4915  +
Host:example.amazonaws.com
 3781   4916   
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
 3782   4917   
new file mode 100644
 3783   4918   
index 0000000..0468d80
 3784         -
-- /dev/null
        4919  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 3785   4920   
@@ -0,0 +1,12 @@
        4921  +
{
        4922  +
    "credentials": {
        4923  +
        "access_key_id": "AKIDEXAMPLE",
        4924  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4925  +
    },
        4926  +
    "expiration_in_seconds": 3600,
        4927  +
    "normalize": true,
        4928  +
    "region": "us-east-1",
        4929  +
    "service": "service",
        4930  +
    "sign_body": false,
        4931  +
    "timestamp": "2015-08-30T12:36:00Z"
        4932  +
}
              \
 No newline at end of file
 3786   4933   
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
 3787   4934   
new file mode 100644
 3788   4935   
index 0000000..0b2b616
 3789         -
-- /dev/null
        4936  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 3790   4937   
@@ -0,0 +1,9 @@
        4938  +
GET
        4939  +
/example%20space/
        4940  +
        4941  +
host:example.amazonaws.com
        4942  +
x-amz-date:20150830T123600Z
        4943  +
x-amz-region-set:us-east-1
        4944  +
        4945  +
host;x-amz-date;x-amz-region-set
        4946  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3791   4947   
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
 3792   4948   
new file mode 100644
 3793   4949   
index 0000000..6e7841d
 3794         -
-- /dev/null
        4950  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 3795   4951   
@@ -0,0 +1 @@
        4952  +
304502202292b4f0e4f1495b9ceb3b77349efeffdce42cb5461f810db3983005c1e772ca022100b4b6175661196a82f5b59968315517e1ffdde58d2e3eba10d3bfe171cde625c4
              \
 No newline at end of file
 3796   4953   
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
 3797   4954   
new file mode 100644
 3798   4955   
index 0000000..0969cd3
 3799         -
-- /dev/null
        4956  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 3800   4957   
@@ -0,0 +1,6 @@
        4958  +
GET /example space/ HTTP/1.1
        4959  +
Host:example.amazonaws.com
        4960  +
X-Amz-Date:20150830T123600Z
        4961  +
X-Amz-Region-Set:us-east-1
        4962  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100e8e0ec99a8d287073e078543fdbdeba108cdef097a52c7556874076072350200022100e59d9e0f48209bea00faa47d485d850eb72747db83927a2a43b5ebab5ca2b545
        4963  +
 3801   4964   
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
 3802   4965   
new file mode 100644
 3803   4966   
index 0000000..ddae6e2
 3804         -
-- /dev/null
        4967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 3805   4968   
@@ -0,0 +1,4 @@
        4969  +
AWS4-ECDSA-P256-SHA256
        4970  +
20150830T123600Z
        4971  +
20150830/service/aws4_request
        4972  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3806   4973   
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
 3807   4974   
new file mode 100644
 3808   4975   
index 0000000..379dcb2
 3809         -
-- /dev/null
        4976  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 3810   4977   
@@ -0,0 +1,4 @@
        4978  +
{
        4979  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4980  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4981  +
}
 3811   4982   
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
 3812   4983   
new file mode 100644
 3813   4984   
index 0000000..a66b3cb
 3814         -
-- /dev/null
        4985  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 3815   4986   
@@ -0,0 +1,7 @@
        4987  +
GET
        4988  +
/example%20space/
        4989  +
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
        4990  +
host:example.amazonaws.com
        4991  +
        4992  +
host
        4993  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3816   4994   
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
 3817   4995   
new file mode 100644
 3818   4996   
index 0000000..b3253ae
 3819         -
-- /dev/null
        4997  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 3820   4998   
@@ -0,0 +1 @@
        4999  +
3045022100fc068fdda7586bec9ac9ed341e7a81bf1e1f8c60fee6e22165868ecac62e404d02200620b5d68b9be75210336618fc0a884439ce1ae93085adb03e27f1ce7ca4912e
              \
 No newline at end of file
 3821   5000   
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
 3822   5001   
new file mode 100644
 3823   5002   
index 0000000..9e335b2
 3824         -
-- /dev/null
        5003  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 3825   5004   
@@ -0,0 +1,3 @@
        5005  +
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
        5006  +
Host:example.amazonaws.com
        5007  +
 3826   5008   
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
 3827   5009   
new file mode 100644
 3828   5010   
index 0000000..b6ff6fb
 3829         -
-- /dev/null
        5011  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 3830   5012   
@@ -0,0 +1,4 @@
        5013  +
AWS4-ECDSA-P256-SHA256
        5014  +
20150830T123600Z
        5015  +
20150830/service/aws4_request
        5016  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3831   5017   
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
 3832   5018   
new file mode 100644
 3833   5019   
index 0000000..ab509ab
 3834         -
-- /dev/null
        5020  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 3835   5021   
@@ -0,0 +1,2 @@
        5022  +
GET /example space/ HTTP/1.1
        5023  +
Host:example.amazonaws.com
 3836   5024   
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
 3837   5025   
new file mode 100644
 3838   5026   
index 0000000..7bee5c7
 3839         -
-- /dev/null
        5027  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 3840   5028   
@@ -0,0 +1,12 @@
        5029  +
{
        5030  +
    "credentials": {
        5031  +
        "access_key_id": "AKIDEXAMPLE",
        5032  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5033  +
    },
        5034  +
    "expiration_in_seconds": 3600,
        5035  +
    "normalize": false,
        5036  +
    "region": "us-east-1",
        5037  +
    "service": "service",
        5038  +
    "sign_body": false,
        5039  +
    "timestamp": "2015-08-30T12:36:00Z"
        5040  +
}
              \
 No newline at end of file
 3841   5041   
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
 3842   5042   
new file mode 100644
 3843   5043   
index 0000000..0b2b616
 3844         -
-- /dev/null
        5044  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 3845   5045   
@@ -0,0 +1,9 @@
        5046  +
GET
        5047  +
/example%20space/
        5048  +
        5049  +
host:example.amazonaws.com
        5050  +
x-amz-date:20150830T123600Z
        5051  +
x-amz-region-set:us-east-1
        5052  +
        5053  +
host;x-amz-date;x-amz-region-set
        5054  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3846   5055   
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
 3847   5056   
new file mode 100644
 3848   5057   
index 0000000..e75ae08
 3849         -
-- /dev/null
        5058  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 3850   5059   
@@ -0,0 +1 @@
        5060  +
3046022100881d1dce37131cd3248fa4cfb63f050e8985c3de5a58f654a8b263d52ad576180221009316e13742504474cf33631bb5f2fa89f4990c911ad317be831a6de015cf4054
              \
 No newline at end of file
 3851   5061   
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
 3852   5062   
new file mode 100644
 3853   5063   
index 0000000..cb089db
 3854         -
-- /dev/null
        5064  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 3855   5065   
@@ -0,0 +1,6 @@
        5066  +
GET /example space/ HTTP/1.1
        5067  +
Host:example.amazonaws.com
        5068  +
X-Amz-Date:20150830T123600Z
        5069  +
X-Amz-Region-Set:us-east-1
        5070  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100a26695d793a8e7d2ed2a3495402e9b4bf8e5b05e767d303f57d9515f617ebae5022100c4b89f5648567c08b6d173b6d733f5c012bb615cd38039109f64db56efecc851
        5071  +
 3856   5072   
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
 3857   5073   
new file mode 100644
 3858   5074   
index 0000000..ddae6e2
 3859         -
-- /dev/null
        5075  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 3860   5076   
@@ -0,0 +1,4 @@
        5077  +
AWS4-ECDSA-P256-SHA256
        5078  +
20150830T123600Z
        5079  +
20150830/service/aws4_request
        5080  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3861   5081   
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
 3862   5082   
new file mode 100644
 3863   5083   
index 0000000..379dcb2
 3864         -
-- /dev/null
        5084  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 3865   5085   
@@ -0,0 +1,4 @@
        5086  +
{
        5087  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5088  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5089  +
}
 3866   5090   
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
 3867   5091   
new file mode 100644
 3868   5092   
index 0000000..a66b3cb
 3869         -
-- /dev/null
        5093  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 3870   5094   
@@ -0,0 +1,7 @@
        5095  +
GET
        5096  +
/example%20space/
        5097  +
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
        5098  +
host:example.amazonaws.com
        5099  +
        5100  +
host
        5101  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3871   5102   
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
 3872   5103   
new file mode 100644
 3873   5104   
index 0000000..66a80c3
 3874         -
-- /dev/null
        5105  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 3875   5106   
@@ -0,0 +1 @@
        5107  +
304502201825fe5d62f321a740cbe590ce0c0c17045eed9acbbbd574d3cefbec349d06c5022100bcd482f85374b24d9f1f5000d2de7e12a4e0c8f5277e73d29c41ecc45390e731
              \
 No newline at end of file
 3876   5108   
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
 3877   5109   
new file mode 100644
 3878   5110   
index 0000000..7d1b9d9
 3879         -
-- /dev/null
        5111  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 3880   5112   
@@ -0,0 +1,3 @@
        5113  +
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
        5114  +
Host:example.amazonaws.com
        5115  +
 3881   5116   
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
 3882   5117   
new file mode 100644
 3883   5118   
index 0000000..b6ff6fb
 3884         -
-- /dev/null
        5119  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 3885   5120   
@@ -0,0 +1,4 @@
        5121  +
AWS4-ECDSA-P256-SHA256
        5122  +
20150830T123600Z
        5123  +
20150830/service/aws4_request
        5124  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3886   5125   
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
 3887   5126   
new file mode 100644
 3888   5127   
index 0000000..ab509ab
 3889         -
-- /dev/null
        5128  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 3890   5129   
@@ -0,0 +1,2 @@
        5130  +
GET /example space/ HTTP/1.1
        5131  +
Host:example.amazonaws.com
 3891   5132   
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
 3892   5133   
new file mode 100644
 3893   5134   
index 0000000..0468d80
 3894         -
-- /dev/null
        5135  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 3895   5136   
@@ -0,0 +1,12 @@
        5137  +
{
        5138  +
    "credentials": {
        5139  +
        "access_key_id": "AKIDEXAMPLE",
        5140  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5141  +
    },
        5142  +
    "expiration_in_seconds": 3600,
        5143  +
    "normalize": true,
        5144  +
    "region": "us-east-1",
        5145  +
    "service": "service",
        5146  +
    "sign_body": false,
        5147  +
    "timestamp": "2015-08-30T12:36:00Z"
        5148  +
}
              \
 No newline at end of file
 3896   5149   
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
 3897   5150   
similarity index 99%
 3898   5151   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
 3899   5152   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 3900   5153   
index b0db648..46d76bb 100644
 3901   5154   
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
 3902   5155   
new file mode 100644
 3903   5156   
index 0000000..53c0cb6
 3904         -
-- /dev/null
        5157  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 3905   5158   
@@ -0,0 +1 @@
        5159  +
304502204303d34750ced762f4e5af2c61ba70c9f5830d8a5c7fc418a02823d61673ca32022100c26cf8f38007155cb8bd3e684697063ad8f421a91be796d78b14b126e25d3680
              \
 No newline at end of file
 3906   5160   
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
 3907   5161   
new file mode 100644
 3908   5162   
index 0000000..3bdb653
 3909         -
-- /dev/null
        5163  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 3910   5164   
@@ -0,0 +1,6 @@
        5165  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5166  +
Host:example.amazonaws.com
        5167  +
X-Amz-Date:20150830T123600Z
        5168  +
X-Amz-Region-Set:us-east-1
        5169  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206a228bcbe26141c2c5065525b98ea00b793470e04e655006269f740e320215930220160015e35502fa89a96f5fed59981af0896b60ecea6a68606a0be368bca73f2c
        5170  +
 3911   5171   
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
 3912   5172   
similarity index 99%
 3913   5173   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
 3914   5174   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 3915   5175   
index 20c7cd6..3b30173 100644
 3916   5176   
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
 3917   5177   
new file mode 100644
 3918   5178   
index 0000000..379dcb2
 3919         -
-- /dev/null
        5179  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 3920   5180   
@@ -0,0 +1,4 @@
        5181  +
{
        5182  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5183  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5184  +
}
 3921   5185   
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
 3922   5186   
similarity index 99%
 3923   5187   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
 3924   5188   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 3925   5189   
index f9fb726..7e93f58 100644
 3926   5190   
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
 3927   5191   
new file mode 100644
 3928   5192   
index 0000000..48311a8
 3929         -
-- /dev/null
        5193  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 3930   5194   
@@ -0,0 +1 @@
        5195  +
3045022100a8e6e2918ceb211f77810150d828be217af238ca95db6f88264d668ffacefb8b02204122d651c775a3ed8f40f3bfe37a2c8fec28cd53027b599eddd7115e06ca4bb0
              \
 No newline at end of file
 3931   5196   
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
 3932   5197   
new file mode 100644
 3933   5198   
index 0000000..82da9be
 3934         -
-- /dev/null
        5199  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 3935   5200   
@@ -0,0 +1,3 @@
        5201  +
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
        5202  +
Host:example.amazonaws.com
        5203  +
 3936   5204   
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
 3937   5205   
similarity index 99%
 3938   5206   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
 3939   5207   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 3940   5208   
index ef06e89..4aab9a2 100644
 3941   5209   
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
 3942   5210   
similarity index 80%
 3943   5211   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
 3944   5212   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 3945   5213   
index da760cd..a149694 100644
 3946         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
        5214  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 3947   5215   
@@ -1,3 +1,2 @@
 3948   5216   
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 3949   5217   
Host:example.amazonaws.com
 3950         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3951   5218   
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
 3952   5219   
new file mode 100644
 3953   5220   
index 0000000..0468d80
 3954         -
-- /dev/null
        5221  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 3955   5222   
@@ -0,0 +1,12 @@
        5223  +
{
        5224  +
    "credentials": {
        5225  +
        "access_key_id": "AKIDEXAMPLE",
        5226  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5227  +
    },
        5228  +
    "expiration_in_seconds": 3600,
        5229  +
    "normalize": true,
        5230  +
    "region": "us-east-1",
        5231  +
    "service": "service",
        5232  +
    "sign_body": false,
        5233  +
    "timestamp": "2015-08-30T12:36:00Z"
        5234  +
}
              \
 No newline at end of file
 3956   5235   
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
 3957   5236   
new file mode 100644
 3958   5237   
index 0000000..0f1afe7
 3959         -
-- /dev/null
        5238  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 3960   5239   
@@ -0,0 +1,9 @@
        5240  +
GET
        5241  +
/%E1%88%B4
        5242  +
        5243  +
host:example.amazonaws.com
        5244  +
x-amz-date:20150830T123600Z
        5245  +
x-amz-region-set:us-east-1
        5246  +
        5247  +
host;x-amz-date;x-amz-region-set
        5248  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3961   5249   
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
 3962   5250   
new file mode 100644
 3963   5251   
index 0000000..4b9af6c
 3964         -
-- /dev/null
        5252  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 3965   5253   
@@ -0,0 +1 @@
        5254  +
3044022009b73628ce2929e224b781c591bdc93fc3381cef5f63992eefb82a286276fa0902203cbc6071d1be7b8c91ec0a04b921881c48cbea2a0a86481f6fa7a983e36190c0
              \
 No newline at end of file
 3966   5255   
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
 3967   5256   
new file mode 100644
 3968   5257   
index 0000000..d42d7b3
 3969         -
-- /dev/null
        5258  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 3970   5259   
@@ -0,0 +1,6 @@
        5260  +
GET /ሴ HTTP/1.1
        5261  +
Host:example.amazonaws.com
        5262  +
X-Amz-Date:20150830T123600Z
        5263  +
X-Amz-Region-Set:us-east-1
        5264  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210082c462efc22f340d7d20b19e0c9b38400e9395bedd9269e01e959ef915ca2846022050d38df1572786ef8befe01d888335c15b0f17fb1d795858fa3cb79e060ba375
        5265  +
 3971   5266   
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
 3972   5267   
new file mode 100644
 3973   5268   
index 0000000..0827f62
 3974         -
-- /dev/null
        5269  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 3975   5270   
@@ -0,0 +1,4 @@
        5271  +
AWS4-ECDSA-P256-SHA256
        5272  +
20150830T123600Z
        5273  +
20150830/service/aws4_request
        5274  +
7c8a7084825e715f0e217a7470ce3611bcfedb5b70329d9b36bba5cefd39c11a
              \
 No newline at end of file
 3976   5275   
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
 3977   5276   
new file mode 100644
 3978   5277   
index 0000000..379dcb2
 3979         -
-- /dev/null
        5278  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 3980   5279   
@@ -0,0 +1,4 @@
        5280  +
{
        5281  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5282  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5283  +
}
 3981   5284   
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
 3982   5285   
new file mode 100644
 3983   5286   
index 0000000..a41a2f8
 3984         -
-- /dev/null
        5287  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 3985   5288   
@@ -0,0 +1,7 @@
        5289  +
GET
        5290  +
/%E1%88%B4
        5291  +
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
        5292  +
host:example.amazonaws.com
        5293  +
        5294  +
host
        5295  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3986   5296   
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
 3987   5297   
new file mode 100644
 3988   5298   
index 0000000..a5c7f4f
 3989         -
-- /dev/null
        5299  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 3990   5300   
@@ -0,0 +1 @@
        5301  +
30460221008cf2ac3d46b7529fe7b73add56626a546fc9372b458e197dbd355198465e0918022100c059b86e01bd11d31c5fe19ee7c73fe3b8058ad2cebe2fe74c779c4a6a95684a
              \
 No newline at end of file
 3991   5302   
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
 3992   5303   
new file mode 100644
 3993   5304   
index 0000000..492ed33
 3994         -
-- /dev/null
        5305  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 3995   5306   
@@ -0,0 +1,3 @@
        5307  +
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
        5308  +
Host:example.amazonaws.com
        5309  +
 3996   5310   
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
 3997   5311   
new file mode 100644
 3998   5312   
index 0000000..a93108f
 3999         -
-- /dev/null
        5313  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 4000   5314   
@@ -0,0 +1,4 @@
        5315  +
AWS4-ECDSA-P256-SHA256
        5316  +
20150830T123600Z
        5317  +
20150830/service/aws4_request
        5318  +
b77c78c8276c5eac930db70b21b69b34d0c2560e1a963ab28e28481ef6a4ff66
              \
 No newline at end of file
 4001   5319   
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
 4002   5320   
new file mode 100644
 4003   5321   
index 0000000..9e273f6
 4004         -
-- /dev/null
        5322  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 4005   5323   
@@ -0,0 +1,2 @@
        5324  +
GET /ሴ HTTP/1.1
        5325  +
Host:example.amazonaws.com
 4006   5326   
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
 4007   5327   
new file mode 100644
 4008   5328   
index 0000000..0468d80
 4009         -
-- /dev/null
        5329  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 4010   5330   
@@ -0,0 +1,12 @@
        5331  +
{
        5332  +
    "credentials": {
        5333  +
        "access_key_id": "AKIDEXAMPLE",
        5334  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5335  +
    },
        5336  +
    "expiration_in_seconds": 3600,
        5337  +
    "normalize": true,
        5338  +
    "region": "us-east-1",
        5339  +
    "service": "service",
        5340  +
    "sign_body": false,
        5341  +
    "timestamp": "2015-08-30T12:36:00Z"
        5342  +
}
              \
 No newline at end of file
 4011   5343   
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
 4012   5344   
similarity index 99%
 4013   5345   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
 4014   5346   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4015   5347   
index bb9d4bf..edc0bb4 100644
 4016   5348   
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
 4017   5349   
new file mode 100644
 4018   5350   
index 0000000..ee9a272
 4019         -
-- /dev/null
        5351  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 4020   5352   
@@ -0,0 +1 @@
        5353  +
3044022075e5fe54105695e4af6f5b59ff39f4f1d84de3bfdd546a6b9212936a78e743ac02204f25f3b9826688eb9743088f426eabd6b306432fd2c4c5c5aa2bbb9058267542
              \
 No newline at end of file
 4021   5354   
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
 4022   5355   
new file mode 100644
 4023   5356   
index 0000000..2090343
 4024         -
-- /dev/null
        5357  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 4025   5358   
@@ -0,0 +1,6 @@
        5359  +
GET /?Param1=value1 HTTP/1.1
        5360  +
Host:example.amazonaws.com
        5361  +
X-Amz-Date:20150830T123600Z
        5362  +
X-Amz-Region-Set:us-east-1
        5363  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210093d40fe05684ddadfadfafc4b8565d18ca94d590fc897577224bf09696bbde6102206f12bb5e2503781303cf6880c0a2136d4b820221eb9d6ac5ad61378b16b8ea5d
        5364  +
 4026   5365   
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
 4027   5366   
similarity index 99%
 4028   5367   
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
 4029   5368   
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
 4030   5369   
index a176f1d..06ed74f 100644
 4031   5370   
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
 4032   5371   
new file mode 100644
 4033   5372   
index 0000000..379dcb2
 4034         -
-- /dev/null
        5373  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 4035   5374   
@@ -0,0 +1,4 @@
        5375  +
{
        5376  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5377  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5378  +
}
 4036   5379   
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
 4037   5380   
similarity index 99%
 4038   5381   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
 4039   5382   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4040   5383   
index 344384b..a875d70 100644
 4041   5384   
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
 4042   5385   
new file mode 100644
 4043   5386   
index 0000000..ef93624
 4044         -
-- /dev/null
        5387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 4045   5388   
@@ -0,0 +1 @@
        5389  +
30460221009a9e99aefe8effed47320e6e9f54cb943e2f72ce638ed7aae2a6711240304b82022100a90e99f053dd51912a6993299229e19aebbd81e68d4d24a1bdedcc6717c9f456
              \
 No newline at end of file
 4046   5390   
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
 4047   5391   
new file mode 100644
 4048   5392   
index 0000000..92829f7
 4049         -
-- /dev/null
        5393  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 4050   5394   
@@ -0,0 +1,3 @@
        5395  +
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
        5396  +
Host:example.amazonaws.com
        5397  +
 4051   5398   
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
 4052   5399   
similarity index 99%
 4053   5400   
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
 4054   5401   
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
 4055   5402   
index b625052..4ff9191 100644
 4056   5403   
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
 4057   5404   
similarity index 67%
 4058   5405   
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
 4059   5406   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4060   5407   
index 970d0a0..f4a03bb 100644
 4061         -
-- 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
        5408  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4062   5409   
@@ -1,3 +1,2 @@
 4063   5410   
GET /?Param1=value1 HTTP/1.1
 4064   5411   
Host:example.amazonaws.com
 4065         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4066   5412   
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
 4067   5413   
new file mode 100644
 4068   5414   
index 0000000..0468d80
 4069         -
-- /dev/null
        5415  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 4070   5416   
@@ -0,0 +1,12 @@
        5417  +
{
        5418  +
    "credentials": {
        5419  +
        "access_key_id": "AKIDEXAMPLE",
        5420  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5421  +
    },
        5422  +
    "expiration_in_seconds": 3600,
        5423  +
    "normalize": true,
        5424  +
    "region": "us-east-1",
        5425  +
    "service": "service",
        5426  +
    "sign_body": false,
        5427  +
    "timestamp": "2015-08-30T12:36:00Z"
        5428  +
}
              \
 No newline at end of file
 4071   5429   
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
 4072   5430   
new file mode 100644
 4073   5431   
index 0000000..da07537
 4074         -
-- /dev/null
        5432  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 4075   5433   
@@ -0,0 +1,9 @@
        5434  +
GET
        5435  +
/
        5436  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        5437  +
host:example.amazonaws.com
        5438  +
x-amz-date:20150830T123600Z
        5439  +
x-amz-region-set:us-east-1
        5440  +
        5441  +
host;x-amz-date;x-amz-region-set
        5442  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4076   5443   
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
 4077   5444   
new file mode 100644
 4078   5445   
index 0000000..edb21e5
 4079         -
-- /dev/null
        5446  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 4080   5447   
@@ -0,0 +1 @@
        5448  +
304402201c9d8aa856d87542e2fc29ccb3841bf604d7582a8ab2ca8e6c9e21c98693f35502207052f84ecd1dc8b6468a536e9d1bdc990cf14bae8142c1cc945f15bcf0e87613
              \
 No newline at end of file
 4081   5449   
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
 4082   5450   
new file mode 100644
 4083   5451   
index 0000000..e60394c
 4084         -
-- /dev/null
        5452  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 4085   5453   
@@ -0,0 +1,6 @@
        5454  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5455  +
Host:example.amazonaws.com
        5456  +
X-Amz-Date:20150830T123600Z
        5457  +
X-Amz-Region-Set:us-east-1
        5458  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100cef3137947f52af13fe5591d4ddcff0260176e7b2a668b43ac8f0cba2e489fe502203b4fe53c9fe3e8925643fe0e4c3ec0b3ea6262917bf7300d2e2abb399078e6de
        5459  +
 4086   5460   
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
 4087   5461   
new file mode 100644
 4088   5462   
index 0000000..1dfc886
 4089         -
-- /dev/null
        5463  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 4090   5464   
@@ -0,0 +1,4 @@
        5465  +
AWS4-ECDSA-P256-SHA256
        5466  +
20150830T123600Z
        5467  +
20150830/service/aws4_request
        5468  +
55568a29040b287c72015a5ab482d9aaceeb1e9881f3bc946378bc3d6079f6a5
              \
 No newline at end of file
 4091   5469   
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
 4092   5470   
new file mode 100644
 4093   5471   
index 0000000..379dcb2
 4094         -
-- /dev/null
        5472  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 4095   5473   
@@ -0,0 +1,4 @@
        5474  +
{
        5475  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5476  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5477  +
}
 4096   5478   
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
 4097   5479   
new file mode 100644
 4098   5480   
index 0000000..e94dc0c
 4099         -
-- /dev/null
        5481  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 4100   5482   
@@ -0,0 +1,7 @@
        5483  +
GET
        5484  +
/
        5485  +
%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
        5486  +
host:example.amazonaws.com
        5487  +
        5488  +
host
        5489  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4101   5490   
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
 4102   5491   
new file mode 100644
 4103   5492   
index 0000000..7489437
 4104         -
-- /dev/null
        5493  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4105   5494   
@@ -0,0 +1 @@
        5495  +
3046022100dcc853d7fbd59ceebd1ac57d404b979a7252cf88c79dcc6d58167902750235fd022100ffa98128e35b03aa434287165980f78533e9e6dfc80373cea82b047f4f0554ee
              \
 No newline at end of file
 4106   5496   
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
 4107   5497   
new file mode 100644
 4108   5498   
index 0000000..90c0e73
 4109         -
-- /dev/null
        5499  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4110   5500   
@@ -0,0 +1,3 @@
        5501  +
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
        5502  +
Host:example.amazonaws.com
        5503  +
 4111   5504   
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
 4112   5505   
new file mode 100644
 4113   5506   
index 0000000..ab8a711
 4114         -
-- /dev/null
        5507  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4115   5508   
@@ -0,0 +1,4 @@
        5509  +
AWS4-ECDSA-P256-SHA256
        5510  +
20150830T123600Z
        5511  +
20150830/service/aws4_request
        5512  +
56d9ab07692614338f2aa44f1018ad4102b19305fba8b83383d2d7c6ca816614
              \
 No newline at end of file
 4116   5513   
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
 4117   5514   
new file mode 100644
 4118   5515   
index 0000000..368c6e3
 4119         -
-- /dev/null
        5516  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4120   5517   
@@ -0,0 +1,2 @@
        5518  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5519  +
Host:example.amazonaws.com
 4121   5520   
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
 4122   5521   
new file mode 100644
 4123   5522   
index 0000000..0468d80
 4124         -
-- /dev/null
        5523  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4125   5524   
@@ -0,0 +1,12 @@
        5525  +
{
        5526  +
    "credentials": {
        5527  +
        "access_key_id": "AKIDEXAMPLE",
        5528  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5529  +
    },
        5530  +
    "expiration_in_seconds": 3600,
        5531  +
    "normalize": true,
        5532  +
    "region": "us-east-1",
        5533  +
    "service": "service",
        5534  +
    "sign_body": false,
        5535  +
    "timestamp": "2015-08-30T12:36:00Z"
        5536  +
}
              \
 No newline at end of file
 4126   5537   
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
 4127   5538   
similarity index 99%
 4128   5539   
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
 4129   5540   
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
 4130   5541   
index 74f625a..3db56f7 100644
 4131   5542   
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
 4132   5543   
new file mode 100644
 4133   5544   
index 0000000..e6042bc
 4134         -
-- /dev/null
        5545  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4135   5546   
@@ -0,0 +1 @@
        5547  +
3045022100b342b0d62487d235a5baf82e970102670a8d7af34c61f086125d204a90724d9e022070304e846de3de228c57e528b61f4addfdb5fa788a8a452e483c6a286d8803f5
              \
 No newline at end of file
 4136   5548   
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
 4137   5549   
new file mode 100644
 4138   5550   
index 0000000..5505969
 4139         -
-- /dev/null
        5551  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4140   5552   
@@ -0,0 +1,6 @@
        5553  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        5554  +
Host:example.amazonaws.com
        5555  +
X-Amz-Date:20150830T123600Z
        5556  +
X-Amz-Region-Set:us-east-1
        5557  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220394fa0699225f403514cb4db03b7c479f64c5f9864bf520b871bb23a054d6517022100d4445c909fc62a43c6c485a8582621e0e14c6ef1e4218072bc2dcaffc1188f18
        5558  +
 4141   5559   
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
 4142   5560   
similarity index 99%
 4143   5561   
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
 4144   5562   
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
 4145   5563   
index 44873b7..e8f5e31 100644
 4146   5564   
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
 4147   5565   
new file mode 100644
 4148   5566   
index 0000000..379dcb2
 4149         -
-- /dev/null
        5567  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4150   5568   
@@ -0,0 +1,4 @@
        5569  +
{
        5570  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5571  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5572  +
}
 4151   5573   
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
 4152   5574   
similarity index 99%
 4153   5575   
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
 4154   5576   
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
 4155   5577   
index 6d30727..3fe6a9f 100644
 4156   5578   
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
 4157   5579   
new file mode 100644
 4158   5580   
index 0000000..3f35de8
 4159         -
-- /dev/null
        5581  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4160   5582   
@@ -0,0 +1 @@
        5583  +
304402207c976c47b1bcf7333ad10fcf78498bb14a368a6cd8f58703d47c9e91c4468c13022059a3715bafae9410271bf3355ccd0bbc622fe90f3c0168203d83323297789de5
              \
 No newline at end of file
 4161   5584   
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
 4162   5585   
new file mode 100644
 4163   5586   
index 0000000..30b336b
 4164         -
-- /dev/null
        5587  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4165   5588   
@@ -0,0 +1,3 @@
        5589  +
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
        5590  +
Host:example.amazonaws.com
        5591  +
 4166   5592   
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
 4167   5593   
similarity index 99%
 4168   5594   
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
 4169   5595   
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
 4170   5596   
index 99d0510..7f0565f 100644
 4171   5597   
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
 4172   5598   
similarity index 100%
 4173   5599   
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
 4174   5600   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 4175   5601   
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
 4176   5602   
new file mode 100644
 4177   5603   
index 0000000..0468d80
 4178         -
-- /dev/null
        5604  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 4179   5605   
@@ -0,0 +1,12 @@
        5606  +
{
        5607  +
    "credentials": {
        5608  +
        "access_key_id": "AKIDEXAMPLE",
        5609  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5610  +
    },
        5611  +
    "expiration_in_seconds": 3600,
        5612  +
    "normalize": true,
        5613  +
    "region": "us-east-1",
        5614  +
    "service": "service",
        5615  +
    "sign_body": false,
        5616  +
    "timestamp": "2015-08-30T12:36:00Z"
        5617  +
}
              \
 No newline at end of file
 4180   5618   
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
 4181   5619   
similarity index 99%
 4182   5620   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
 4183   5621   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4184   5622   
index 816c862..cc4537a 100644
 4185   5623   
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
 4186   5624   
new file mode 100644
 4187   5625   
index 0000000..70d38c1
 4188         -
-- /dev/null
        5626  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 4189   5627   
@@ -0,0 +1 @@
        5628  +
3045022100ce7ae9d07bea650598803710644006d47de14a884d0777abd71ccf76164a36c70220256f34ad94c5cb1291a05f7680c2a0068c51d2a31a4e2fe2100d4a58197565ed
              \
 No newline at end of file
 4190   5629   
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
 4191   5630   
new file mode 100644
 4192   5631   
index 0000000..0647eea
 4193         -
-- /dev/null
        5632  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 4194   5633   
@@ -0,0 +1,6 @@
        5634  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5635  +
Host:example.amazonaws.com
        5636  +
X-Amz-Date:20150830T123600Z
        5637  +
X-Amz-Region-Set:us-east-1
        5638  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220023b0ce37b4e3f7fe6b6e155dab72846b461d22ff4820f019a07afef476f61ee022100f985e993037270cc48ac905b360046d077770a2b28aa829ea909430b1b3ed8aa
        5639  +
 4195   5640   
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
 4196   5641   
similarity index 99%
 4197   5642   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
 4198   5643   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 4199   5644   
index 6129fc5..cc19d14 100644
 4200   5645   
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
 4201   5646   
new file mode 100644
 4202   5647   
index 0000000..379dcb2
 4203         -
-- /dev/null
        5648  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 4204   5649   
@@ -0,0 +1,4 @@
        5650  +
{
        5651  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5652  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5653  +
}
 4205   5654   
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
 4206   5655   
similarity index 99%
 4207   5656   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
 4208   5657   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 4209   5658   
index b77ee9f..ed6a10e 100644
 4210   5659   
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
 4211   5660   
new file mode 100644
 4212   5661   
index 0000000..2ceba7b
 4213         -
-- /dev/null
        5662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 4214   5663   
@@ -0,0 +1 @@
        5664  +
30450220720698c40b04f1a2e1f94e91ed9a59f8b2a2e70cb55e6dd245d0aec039cad6ea022100b2076666b780735e1ddabf773f141ff49f8df3686ffb6c4c7798ba22470e3819
              \
 No newline at end of file
 4215   5665   
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
 4216   5666   
new file mode 100644
 4217   5667   
index 0000000..0cd6d0a
 4218         -
-- /dev/null
        5668  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 4219   5669   
@@ -0,0 +1,3 @@
        5670  +
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
        5671  +
Host:example.amazonaws.com
        5672  +
 4220   5673   
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
 4221   5674   
similarity index 99%
 4222   5675   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
 4223   5676   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 4224   5677   
index 1cfed7a..aad1421 100644
 4225   5678   
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
 4226   5679   
similarity index 86%
 4227   5680   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
 4228   5681   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4229   5682   
index d2833b3..36b2fe3 100644
 4230         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
        5683  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4231   5684   
@@ -1,3 +1,2 @@
 4232   5685   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4233   5686   
Host:example.amazonaws.com
 4234         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4235   5687   
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
 4236   5688   
new file mode 100644
 4237   5689   
index 0000000..0468d80
 4238         -
-- /dev/null
        5690  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 4239   5691   
@@ -0,0 +1,12 @@
        5692  +
{
        5693  +
    "credentials": {
        5694  +
        "access_key_id": "AKIDEXAMPLE",
        5695  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5696  +
    },
        5697  +
    "expiration_in_seconds": 3600,
        5698  +
    "normalize": true,
        5699  +
    "region": "us-east-1",
        5700  +
    "service": "service",
        5701  +
    "sign_body": false,
        5702  +
    "timestamp": "2015-08-30T12:36:00Z"
        5703  +
}
              \
 No newline at end of file
 4240   5704   
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
 4241   5705   
new file mode 100644
 4242   5706   
index 0000000..76db73d
 4243         -
-- /dev/null
        5707  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 4244   5708   
@@ -0,0 +1,9 @@
        5709  +
GET
        5710  +
/
        5711  +
        5712  +
host:example.amazonaws.com
        5713  +
x-amz-date:20150830T123600Z
        5714  +
x-amz-region-set:us-east-1
        5715  +
        5716  +
host;x-amz-date;x-amz-region-set
        5717  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4245   5718   
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
 4246   5719   
new file mode 100644
 4247   5720   
index 0000000..281cc62
 4248         -
-- /dev/null
        5721  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 4249   5722   
@@ -0,0 +1 @@
        5723  +
304402202f36c5363f01990fac07fb18efd255fb82fa3807a8a84946f0b5ac2b71ac96f5022068a86869075a8ca0fe4f875f6a07af6df16538f156dba648c9a96b7c3d687924
              \
 No newline at end of file
 4250   5724   
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
 4251   5725   
new file mode 100644
 4252   5726   
index 0000000..cce9925
 4253         -
-- /dev/null
        5727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 4254   5728   
@@ -0,0 +1,6 @@
        5729  +
GET / HTTP/1.1
        5730  +
Host:example.amazonaws.com
        5731  +
X-Amz-Date:20150830T123600Z
        5732  +
X-Amz-Region-Set:us-east-1
        5733  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502201f8540fba7741deef60d162a2cf5a8abece28db296174e82420ae6790d93b8af022100d3109ac9ec7995b9e976efa2c54b278d3fab0737e3c73483771773d2061d8f3f
        5734  +
 4255   5735   
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
 4256   5736   
new file mode 100644
 4257   5737   
index 0000000..600f1d8
 4258         -
-- /dev/null
        5738  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 4259   5739   
@@ -0,0 +1,4 @@
        5740  +
AWS4-ECDSA-P256-SHA256
        5741  +
20150830T123600Z
        5742  +
20150830/service/aws4_request
        5743  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4260   5744   
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
 4261   5745   
new file mode 100644
 4262   5746   
index 0000000..379dcb2
 4263         -
-- /dev/null
        5747  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 4264   5748   
@@ -0,0 +1,4 @@
        5749  +
{
        5750  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5751  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5752  +
}
 4265   5753   
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
 4266   5754   
new file mode 100644
 4267   5755   
index 0000000..779c51c
 4268         -
-- /dev/null
        5756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 4269   5757   
@@ -0,0 +1,7 @@
        5758  +
GET
        5759  +
/
        5760  +
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
        5761  +
host:example.amazonaws.com
        5762  +
        5763  +
host
        5764  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4270   5765   
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
 4271   5766   
new file mode 100644
 4272   5767   
index 0000000..2979e5e
 4273         -
-- /dev/null
        5768  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 4274   5769   
@@ -0,0 +1 @@
        5770  +
304402203840161a4739cd19b33c2186657554e140b84ce1fe9021074f154410b97ffad002200606f4430d72826616b2cd47590fcee42bbf23cb0287458389a43f9e6edd897d
              \
 No newline at end of file
 4275   5771   
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
 4276   5772   
new file mode 100644
 4277   5773   
index 0000000..1b3179c
 4278         -
-- /dev/null
        5774  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 4279   5775   
@@ -0,0 +1,3 @@
        5776  +
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
        5777  +
Host:example.amazonaws.com
        5778  +
 4280   5779   
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
 4281   5780   
new file mode 100644
 4282   5781   
index 0000000..6e29a7e
 4283         -
-- /dev/null
        5782  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 4284   5783   
@@ -0,0 +1,4 @@
        5784  +
AWS4-ECDSA-P256-SHA256
        5785  +
20150830T123600Z
        5786  +
20150830/service/aws4_request
        5787  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4285   5788   
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
 4286   5789   
similarity index 60%
 4287   5790   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
 4288   5791   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4289   5792   
index 0f7a9bf..e659c3b 100644
 4290         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
        5793  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4291   5794   
@@ -1,3 +1,2 @@
 4292   5795   
GET / HTTP/1.1
 4293   5796   
Host:example.amazonaws.com
 4294         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4295   5797   
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
 4296   5798   
new file mode 100644
 4297   5799   
index 0000000..0468d80
 4298         -
-- /dev/null
        5800  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 4299   5801   
@@ -0,0 +1,12 @@
        5802  +
{
        5803  +
    "credentials": {
        5804  +
        "access_key_id": "AKIDEXAMPLE",
        5805  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5806  +
    },
        5807  +
    "expiration_in_seconds": 3600,
        5808  +
    "normalize": true,
        5809  +
    "region": "us-east-1",
        5810  +
    "service": "service",
        5811  +
    "sign_body": false,
        5812  +
    "timestamp": "2015-08-30T12:36:00Z"
        5813  +
}
              \
 No newline at end of file
 4300   5814   
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
 4301   5815   
new file mode 100644
 4302   5816   
index 0000000..8841ddf
 4303         -
-- /dev/null
        5817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 4304   5818   
@@ -0,0 +1,9 @@
        5819  +
GET
        5820  +
/
        5821  +
%E1%88%B4=bar
        5822  +
host:example.amazonaws.com
        5823  +
x-amz-date:20150830T123600Z
        5824  +
x-amz-region-set:us-east-1
        5825  +
        5826  +
host;x-amz-date;x-amz-region-set
        5827  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4305   5828   
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
 4306   5829   
new file mode 100644
 4307   5830   
index 0000000..1497add
 4308         -
-- /dev/null
        5831  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 4309   5832   
@@ -0,0 +1 @@
        5833  +
3046022100b47fe24b090d857f34597a58a4e8acd0ea9639462e606af7e1fa1e2c3fae1d630221008ce7f870adf7d2c06f299da0c9870402b027c6a50ff027881655a664ff294cc3
              \
 No newline at end of file
 4310   5834   
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
 4311   5835   
new file mode 100644
 4312   5836   
index 0000000..961bc10
 4313         -
-- /dev/null
        5837  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 4314   5838   
@@ -0,0 +1,6 @@
        5839  +
GET /?ሴ=bar HTTP/1.1
        5840  +
Host:example.amazonaws.com
        5841  +
X-Amz-Date:20150830T123600Z
        5842  +
X-Amz-Region-Set:us-east-1
        5843  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502206e0b9d70bb0413a557946314e04739d721c9f301d452c072590edfdcb9320572022100846f242fb0346c8c56c76a6f0e70c521d7ac02742f09c2e7b5253f1e9afe5a44
        5844  +
 4315   5845   
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
 4316   5846   
new file mode 100644
 4317   5847   
index 0000000..e78ed70
 4318         -
-- /dev/null
        5848  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 4319   5849   
@@ -0,0 +1,4 @@
        5850  +
AWS4-ECDSA-P256-SHA256
        5851  +
20150830T123600Z
        5852  +
20150830/service/aws4_request
        5853  +
b27131d754045e85823698b1fe3fc9694c17b16d97f4c43cef2359a1233c7b76
              \
 No newline at end of file
 4320   5854   
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
 4321   5855   
new file mode 100644
 4322   5856   
index 0000000..379dcb2
 4323         -
-- /dev/null
        5857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 4324   5858   
@@ -0,0 +1,4 @@
        5859  +
{
        5860  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5861  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5862  +
}
 4325   5863   
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
 4326   5864   
new file mode 100644
 4327   5865   
index 0000000..6d5ae93
 4328         -
-- /dev/null
        5866  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 4329   5867   
@@ -0,0 +1,7 @@
        5868  +
GET
        5869  +
/
        5870  +
%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
        5871  +
host:example.amazonaws.com
        5872  +
        5873  +
host
        5874  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4330   5875   
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
 4331   5876   
new file mode 100644
 4332   5877   
index 0000000..92107f2
 4333         -
-- /dev/null
        5878  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 4334   5879   
@@ -0,0 +1 @@
        5880  +
3044022076d8b03a19db63abc106c50f13487d5363f1eac2c77bc4eda764eadba8f84c6502205c0aa76554ba223a97958be9ff34aca35d84cb7b8c7ba698793ead9e6788e241
              \
 No newline at end of file
 4335   5881   
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
 4336   5882   
new file mode 100644
 4337   5883   
index 0000000..bb8a75b
 4338         -
-- /dev/null
        5884  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 4339   5885   
@@ -0,0 +1,3 @@
        5886  +
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
        5887  +
Host:example.amazonaws.com
        5888  +
 4340   5889   
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
 4341   5890   
new file mode 100644
 4342   5891   
index 0000000..9fa94c7
 4343         -
-- /dev/null
        5892  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 4344   5893   
@@ -0,0 +1,4 @@
        5894  +
AWS4-ECDSA-P256-SHA256
        5895  +
20150830T123600Z
        5896  +
20150830/service/aws4_request
        5897  +
e22d57192c68232f914afff959b8aa1027756098f879c7d4d7615a2469f85c1f
              \
 No newline at end of file
 4345   5898   
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
 4346   5899   
new file mode 100644
 4347   5900   
index 0000000..aff333a
 4348         -
-- /dev/null
        5901  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 4349   5902   
@@ -0,0 +1,2 @@
        5903  +
GET /?ሴ=bar HTTP/1.1
        5904  +
Host:example.amazonaws.com
 4350   5905   
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
 4351   5906   
new file mode 100644
 4352   5907   
index 0000000..a334e18
 4353         -
-- /dev/null
        5908  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 4354   5909   
@@ -0,0 +1,13 @@
        5910  +
{
        5911  +
    "credentials": {
        5912  +
        "access_key_id": "AKIDEXAMPLE",
        5913  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        5914  +
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
        5915  +
    },
        5916  +
    "expiration_in_seconds": 3600,
        5917  +
    "normalize": true,
        5918  +
    "region": "us-east-1",
        5919  +
    "service": "service",
        5920  +
    "sign_body": false,
        5921  +
    "timestamp": "2015-08-30T12:36:00Z"
        5922  +
}
              \
 No newline at end of file
 4355   5923   
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
 4356   5924   
similarity index 99%
 4357   5925   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
 4358   5926   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 4359   5927   
index f14defd..0e9ad42 100644
 4360   5928   
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
 4361   5929   
new file mode 100644
 4362   5930   
index 0000000..a7673b5
 4363         -
-- /dev/null
        5931  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 4364   5932   
@@ -0,0 +1 @@
        5933  +
3044022035c6bc9a8cab8a434bd8bd1cc3b6f1401842f530f1537722ad10d72a1577f8c80220101352fe0720715efbab80f82edb133175f0b61cad85daf943ad615852f9ae10
              \
 No newline at end of file
 4365   5934   
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
 4366   5935   
new file mode 100644
 4367   5936   
index 0000000..ed16e76
 4368         -
-- /dev/null
        5937  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 4369   5938   
@@ -0,0 +1,7 @@
        5939  +
GET / HTTP/1.1
        5940  +
Host:example.amazonaws.com
        5941  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        5942  +
X-Amz-Date:20150830T123600Z
        5943  +
X-Amz-Region-Set:us-east-1
        5944  +
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
        5945  +
 4370   5946   
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
 4371   5947   
similarity index 99%
 4372   5948   
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
 4373   5949   
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
 4374   5950   
index 4edece5..6c1ec65 100644
 4375   5951   
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
 4376   5952   
new file mode 100644
 4377   5953   
index 0000000..379dcb2
 4378         -
-- /dev/null
        5954  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 4379   5955   
@@ -0,0 +1,4 @@
        5956  +
{
        5957  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5958  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5959  +
}
 4380   5960   
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
 4381   5961   
similarity index 99%
 4382   5962   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
 4383   5963   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 4384   5964   
index 7c042af..1876b42 100644
 4385   5965   
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
 4386   5966   
new file mode 100644
 4387   5967   
index 0000000..903dfb4
 4388         -
-- /dev/null
        5968  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 4389   5969   
@@ -0,0 +1 @@
        5970  +
3046022100d51f7ae1ac1b6b3db6c40f69aafb4306f81cdd2d87a85f69b2c4cb8fd057cf21022100cdb787a698c3f53d961f5b6279a0ff246097f50c874bcbf7a249bf4c0f118fb3
              \
 No newline at end of file
 4390   5971   
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
 4391   5972   
new file mode 100644
 4392   5973   
index 0000000..bf1d246
 4393         -
-- /dev/null
        5974  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 4394   5975   
@@ -0,0 +1,3 @@
        5976  +
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
        5977  +
Host:example.amazonaws.com
        5978  +
 4395   5979   
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
 4396   5980   
similarity index 99%
 4397   5981   
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
 4398   5982   
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
 4399   5983   
index 0fd066a..f1b1790 100644
 4400   5984   
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
 4401   5985   
similarity index 60%
 4402   5986   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
 4403   5987   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4404   5988   
index 0f7a9bf..e659c3b 100644
 4405         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
        5989  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4406   5990   
@@ -1,3 +1,2 @@
 4407   5991   
GET / HTTP/1.1
 4408   5992   
Host:example.amazonaws.com
 4409         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4410   5993   
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
 4411   5994   
new file mode 100644
 4412   5995   
index 0000000..76db73d
 4413         -
-- /dev/null
        5996  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 4414   5997   
@@ -0,0 +1,9 @@
        5998  +
GET
        5999  +
/
        6000  +
        6001  +
host:example.amazonaws.com
        6002  +
x-amz-date:20150830T123600Z
        6003  +
x-amz-region-set:us-east-1
        6004  +
        6005  +
host;x-amz-date;x-amz-region-set
        6006  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4415   6007   
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
 4416   6008   
new file mode 100644
 4417   6009   
index 0000000..0468d80
 4418         -
-- /dev/null
        6010  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 4419   6011   
@@ -0,0 +1,12 @@
        6012  +
{
        6013  +
    "credentials": {
        6014  +
        "access_key_id": "AKIDEXAMPLE",
        6015  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6016  +
    },
        6017  +
    "expiration_in_seconds": 3600,
        6018  +
    "normalize": true,
        6019  +
    "region": "us-east-1",
        6020  +
    "service": "service",
        6021  +
    "sign_body": false,
        6022  +
    "timestamp": "2015-08-30T12:36:00Z"
        6023  +
}
              \
 No newline at end of file
 4420   6024   
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
 4421   6025   
new file mode 100644
 4422   6026   
index 0000000..76db73d
 4423         -
-- /dev/null
        6027  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 4424   6028   
@@ -0,0 +1,9 @@
        6029  +
GET
        6030  +
/
        6031  +
        6032  +
host:example.amazonaws.com
        6033  +
x-amz-date:20150830T123600Z
        6034  +
x-amz-region-set:us-east-1
        6035  +
        6036  +
host;x-amz-date;x-amz-region-set
        6037  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4425   6038   
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
 4426   6039   
new file mode 100644
 4427   6040   
index 0000000..a96ff24
 4428         -
-- /dev/null
        6041  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 4429   6042   
@@ -0,0 +1 @@
        6043  +
3045022018b4e277d0281864beb51d3600e23f88510ea5031d68ddfbb68614b82a5eb7d2022100effb9c5f22ed9ef3ae0ab243d21f06bce82365bbb79529a07b6888c343ae5f8c
              \
 No newline at end of file
 4430   6044   
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
 4431   6045   
new file mode 100644
 4432   6046   
index 0000000..689078b
 4433         -
-- /dev/null
        6047  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 4434   6048   
@@ -0,0 +1,6 @@
        6049  +
GET / HTTP/1.1
        6050  +
Host:example.amazonaws.com
        6051  +
X-Amz-Date:20150830T123600Z
        6052  +
X-Amz-Region-Set:us-east-1
        6053  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100fddaaf816a31e30d04973875b13bc27b98da10907a3a1872fd5819a221334abc022100de2ee81d83b54f31efc82834de07e6cd4d5c6f25bfa08e0f29a15bb0977c343e
        6054  +
 4435   6055   
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
 4436   6056   
new file mode 100644
 4437   6057   
index 0000000..600f1d8
 4438         -
-- /dev/null
        6058  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 4439   6059   
@@ -0,0 +1,4 @@
        6060  +
AWS4-ECDSA-P256-SHA256
        6061  +
20150830T123600Z
        6062  +
20150830/service/aws4_request
        6063  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4440   6064   
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
 4441   6065   
new file mode 100644
 4442   6066   
index 0000000..379dcb2
 4443         -
-- /dev/null
        6067  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 4444   6068   
@@ -0,0 +1,4 @@
        6069  +
{
        6070  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6071  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6072  +
}
 4445   6073   
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
 4446   6074   
new file mode 100644
 4447   6075   
index 0000000..779c51c
 4448         -
-- /dev/null
        6076  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 4449   6077   
@@ -0,0 +1,7 @@
        6078  +
GET
        6079  +
/
        6080  +
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
        6081  +
host:example.amazonaws.com
        6082  +
        6083  +
host
        6084  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4450   6085   
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
 4451   6086   
new file mode 100644
 4452   6087   
index 0000000..cc42158
 4453         -
-- /dev/null
        6088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 4454   6089   
@@ -0,0 +1 @@
        6090  +
3045022100b3246f8e1442dd58e73292ae1294720c3256ee58f6cea50f3a3f83b4a4b0331a0220329693f7745c9008a5887c0529ceccb0fae4e16d707b712ea66acdbaf963769a
              \
 No newline at end of file
 4455   6091   
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
 4456   6092   
new file mode 100644
 4457   6093   
index 0000000..dc6d01d
 4458         -
-- /dev/null
        6094  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 4459   6095   
@@ -0,0 +1,3 @@
        6096  +
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
        6097  +
Host:example.amazonaws.com
        6098  +
 4460   6099   
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
 4461   6100   
new file mode 100644
 4462   6101   
index 0000000..6e29a7e
 4463         -
-- /dev/null
        6102  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 4464   6103   
@@ -0,0 +1,4 @@
        6104  +
AWS4-ECDSA-P256-SHA256
        6105  +
20150830T123600Z
        6106  +
20150830/service/aws4_request
        6107  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4465   6108   
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
 4466   6109   
new file mode 100644
 4467   6110   
index 0000000..e659c3b
 4468         -
-- /dev/null
        6111  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 4469   6112   
@@ -0,0 +1,2 @@
        6113  +
GET / HTTP/1.1
        6114  +
Host:example.amazonaws.com
 4470   6115   
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
 4471   6116   
new file mode 100644
 4472   6117   
index 0000000..600f1d8
 4473         -
-- /dev/null
        6118  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 4474   6119   
@@ -0,0 +1,4 @@
        6120  +
AWS4-ECDSA-P256-SHA256
        6121  +
20150830T123600Z
        6122  +
20150830/service/aws4_request
        6123  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4475   6124   
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
 4476   6125   
new file mode 100644
 4477   6126   
index 0000000..0468d80
 4478         -
-- /dev/null
        6127  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 4479   6128   
@@ -0,0 +1,12 @@
        6129  +
{
        6130  +
    "credentials": {
        6131  +
        "access_key_id": "AKIDEXAMPLE",
        6132  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6133  +
    },
        6134  +
    "expiration_in_seconds": 3600,
        6135  +
    "normalize": true,
        6136  +
    "region": "us-east-1",
        6137  +
    "service": "service",
        6138  +
    "sign_body": false,
        6139  +
    "timestamp": "2015-08-30T12:36:00Z"
        6140  +
}
              \
 No newline at end of file
 4480   6141   
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
 4481   6142   
similarity index 99%
 4482   6143   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
 4483   6144   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 4484   6145   
index a6942c1..e881ac7 100644
 4485   6146   
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
 4486   6147   
new file mode 100644
 4487   6148   
index 0000000..4210210
 4488         -
-- /dev/null
        6149  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 4489   6150   
@@ -0,0 +1 @@
        6151  +
3044022025397839d55c2147eead39170f5b1758c9f9fb4ccbcda4c8612a23df8e90c13d022079f5fc1377201691a11be43def8be12fe882e998589317508ff67b8dbe982722
              \
 No newline at end of file
 4490   6152   
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
 4491   6153   
new file mode 100644
 4492   6154   
index 0000000..257b110
 4493         -
-- /dev/null
        6155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 4494   6156   
@@ -0,0 +1,6 @@
        6157  +
POST / HTTP/1.1
        6158  +
Host:example.amazonaws.com
        6159  +
X-Amz-Date:20150830T123600Z
        6160  +
X-Amz-Region-Set:us-east-1
        6161  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304602210081bb2a93eae5cce843abe0e7cac2f0e4cecdd0a79cb8d60e5b9dc4c8e8906b61022100e18c8119f50b8218da995ada62080d88ff75d2f02309c3685a02dfb9a83b103f
        6162  +
 4495   6163   
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
 4496   6164   
similarity index 99%
 4497   6165   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
 4498   6166   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 4499   6167   
index d5650cb..f8adf13 100644
 4500   6168   
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
 4501   6169   
new file mode 100644
 4502   6170   
index 0000000..379dcb2
 4503         -
-- /dev/null
        6171  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 4504   6172   
@@ -0,0 +1,4 @@
        6173  +
{
        6174  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6175  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6176  +
}
 4505   6177   
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
 4506   6178   
similarity index 99%
 4507   6179   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
 4508   6180   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 4509   6181   
index e48ce07..5ea8e3c 100644
 4510   6182   
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
 4511   6183   
new file mode 100644
 4512   6184   
index 0000000..9e2069e
 4513         -
-- /dev/null
        6185  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 4514   6186   
@@ -0,0 +1 @@
        6187  +
304402204afe4ce8de62e37853d0cb8a00f9601532fdeca89d6d8591c72d5bbf728bee2f02202feb0d8e680cab063e0c3c9090c0483f400511678ce83169ddce3e6d040f9ed8
              \
 No newline at end of file
 4515   6188   
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
 4516   6189   
new file mode 100644
 4517   6190   
index 0000000..67f5d29
 4518         -
-- /dev/null
        6191  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 4519   6192   
@@ -0,0 +1,3 @@
        6193  +
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
        6194  +
Host:example.amazonaws.com
        6195  +
 4520   6196   
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
 4521   6197   
similarity index 99%
 4522   6198   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
 4523   6199   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 4524   6200   
index 34e3382..711c162 100644
 4525   6201   
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
 4526   6202   
similarity index 61%
 4527   6203   
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
 4528   6204   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4529   6205   
index 3dc4179..3f0a82a 100644
 4530         -
-- 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
        6206  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4531   6207   
@@ -1,3 +1,2 @@
 4532   6208   
POST / HTTP/1.1
 4533   6209   
Host:example.amazonaws.com
 4534         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4535   6210   
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
 4536   6211   
new file mode 100644
 4537   6212   
index 0000000..0468d80
 4538         -
-- /dev/null
        6213  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 4539   6214   
@@ -0,0 +1,12 @@
        6215  +
{
        6216  +
    "credentials": {
        6217  +
        "access_key_id": "AKIDEXAMPLE",
        6218  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6219  +
    },
        6220  +
    "expiration_in_seconds": 3600,
        6221  +
    "normalize": true,
        6222  +
    "region": "us-east-1",
        6223  +
    "service": "service",
        6224  +
    "sign_body": false,
        6225  +
    "timestamp": "2015-08-30T12:36:00Z"
        6226  +
}
              \
 No newline at end of file
 4540   6227   
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
 4541   6228   
similarity index 99%
 4542   6229   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
 4543   6230   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 4544   6231   
index a8e1727..2883822 100644
 4545   6232   
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
 4546   6233   
new file mode 100644
 4547   6234   
index 0000000..e3c2e6e
 4548         -
-- /dev/null
        6235  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 4549   6236   
@@ -0,0 +1 @@
        6237  +
304502210097752f8c9953078cbb6b370471cb7029aea9517d59fb835d8befce66a91e6c4a022043a8c62681ff76e6cbaaeaed2fff2fcfee8efceebb7bd9e562ecd5a08b2c563f
              \
 No newline at end of file
 4550   6238   
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
 4551   6239   
new file mode 100644
 4552   6240   
index 0000000..1d6e288
 4553         -
-- /dev/null
        6241  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 4554   6242   
@@ -0,0 +1,7 @@
        6243  +
POST / HTTP/1.1
        6244  +
Host:example.amazonaws.com
        6245  +
My-Header1:value1
        6246  +
X-Amz-Date:20150830T123600Z
        6247  +
X-Amz-Region-Set:us-east-1
        6248  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3046022100a5dc03771b33997d8eeb15d639cb7bdef2aff78a4a59c7996070e5f94fe149780221009a732061539208209ba0ae6755bef956c258a0c0ac6a6916489486efde21cfeb
        6249  +
 4555   6250   
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
 4556   6251   
similarity index 99%
 4557   6252   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
 4558   6253   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 4559   6254   
index f6e3e9b..7c5236a 100644
 4560   6255   
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
 4561   6256   
new file mode 100644
 4562   6257   
index 0000000..379dcb2
 4563         -
-- /dev/null
        6258  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 4564   6259   
@@ -0,0 +1,4 @@
        6260  +
{
        6261  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6262  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6263  +
}
 4565   6264   
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
 4566   6265   
similarity index 99%
 4567   6266   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
 4568   6267   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 4569   6268   
index 0ae73e1..2cf3f29 100644
 4570   6269   
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
 4571   6270   
new file mode 100644
 4572   6271   
index 0000000..2a08401
 4573         -
-- /dev/null
        6272  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 4574   6273   
@@ -0,0 +1 @@
        6274  +
304502204f2a31513c9bea5c92dd8045e226dc1db150f768e60b538cacce157c623873dc022100ab5d654ce3c7b917656cec2cf58a3689159e89deed5241ca21e19a40173674c4
              \
 No newline at end of file
 4575   6275   
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
 4576   6276   
new file mode 100644
 4577   6277   
index 0000000..8d2343f
 4578         -
-- /dev/null
        6278  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 4579   6279   
@@ -0,0 +1,4 @@
        6280  +
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
        6281  +
Host:example.amazonaws.com
        6282  +
My-Header1:value1
        6283  +
 4580   6284   
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
 4581   6285   
similarity index 99%
 4582   6286   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
 4583   6287   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 4584   6288   
index 8cb96bf..2c4db7a 100644
 4585   6289   
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
 4586   6290   
similarity index 69%
 4587   6291   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
 4588   6292   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4589   6293   
index 0253f19..917720e 100644
 4590         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
        6294  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4591   6295   
@@ -1,4 +1,3 @@
 4592   6296   
POST / HTTP/1.1
 4593   6297   
Host:example.amazonaws.com
 4594   6298   
My-Header1:value1
 4595         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4596   6299   
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
 4597   6300   
new file mode 100644
 4598   6301   
index 0000000..0468d80
 4599         -
-- /dev/null
        6302  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 4600   6303   
@@ -0,0 +1,12 @@
        6304  +
{
        6305  +
    "credentials": {
        6306  +
        "access_key_id": "AKIDEXAMPLE",
        6307  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6308  +
    },
        6309  +
    "expiration_in_seconds": 3600,
        6310  +
    "normalize": true,
        6311  +
    "region": "us-east-1",
        6312  +
    "service": "service",
        6313  +
    "sign_body": false,
        6314  +
    "timestamp": "2015-08-30T12:36:00Z"
        6315  +
}
              \
 No newline at end of file
 4601   6316   
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
 4602   6317   
similarity index 99%
 4603   6318   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
 4604   6319   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 4605   6320   
index 1dc3ef8..164e65c 100644
 4606   6321   
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
 4607   6322   
new file mode 100644
 4608   6323   
index 0000000..7072b0e
 4609         -
-- /dev/null
        6324  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 4610   6325   
@@ -0,0 +1 @@
        6326  +
304402207b3baf259f5d29f13511eb4c9b236045c43168ca70369ed639611f4bff9eb6490220465e922e8b19146de9c70147440f4ee80a3318f0c756c8050dbfd641e6ff0456
              \
 No newline at end of file
 4611   6327   
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
 4612   6328   
new file mode 100644
 4613   6329   
index 0000000..17f5e3e
 4614         -
-- /dev/null
        6330  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 4615   6331   
@@ -0,0 +1,7 @@
        6332  +
POST / HTTP/1.1
        6333  +
Host:example.amazonaws.com
        6334  +
My-Header1:VALUE1
        6335  +
X-Amz-Date:20150830T123600Z
        6336  +
X-Amz-Region-Set:us-east-1
        6337  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022100c72dd4d54c45d3eb30858c6227e9512f41b7379b7c685e39e0cd39a793d7ee3102205c900d330270e31d2f7b5138fb3d791b6743f6f3b9ffbc34a4adcc8307591b11
        6338  +
 4616   6339   
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
 4617   6340   
similarity index 99%
 4618   6341   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
 4619   6342   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 4620   6343   
index 59c7e45..620f54e 100644
 4621   6344   
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
 4622   6345   
new file mode 100644
 4623   6346   
index 0000000..379dcb2
 4624         -
-- /dev/null
        6347  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 4625   6348   
@@ -0,0 +1,4 @@
        6349  +
{
        6350  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6351  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6352  +
}
 4626   6353   
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
 4627   6354   
similarity index 99%
 4628   6355   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
 4629   6356   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 4630   6357   
index 377e6f3..23e0da3 100644
 4631   6358   
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
 4632   6359   
new file mode 100644
 4633   6360   
index 0000000..a18acb8
 4634         -
-- /dev/null
        6361  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 4635   6362   
@@ -0,0 +1 @@
        6363  +
30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
              \
 No newline at end of file
 4636   6364   
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
 4637   6365   
new file mode 100644
 4638   6366   
index 0000000..7cbdcfa
 4639         -
-- /dev/null
        6367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 4640   6368   
@@ -0,0 +1,4 @@
        6369  +
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
        6370  +
Host:example.amazonaws.com
        6371  +
My-Header1:VALUE1
        6372  +
 4641   6373   
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
 4642   6374   
similarity index 99%
 4643   6375   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
 4644   6376   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 4645   6377   
index 84a7afd..0c90627 100644
 4646   6378   
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
 4647   6379   
similarity index 69%
 4648   6380   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
 4649   6381   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4650   6382   
index 3f9987a..5f14c91 100644
 4651         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
        6383  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4652   6384   
@@ -1,4 +1,3 @@
 4653   6385   
POST / HTTP/1.1
 4654   6386   
Host:example.amazonaws.com
 4655   6387   
My-Header1:VALUE1
 4656         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4657   6388   
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
 4658   6389   
new file mode 100644
 4659   6390   
index 0000000..8f1d5ce
 4660         -
-- /dev/null
        6391  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 4661   6392   
@@ -0,0 +1,14 @@
        6393  +
{
        6394  +
    "credentials": {
        6395  +
        "access_key_id": "AKIDEXAMPLE",
        6396  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6397  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6398  +
    },
        6399  +
    "expiration_in_seconds": 3600,
        6400  +
    "normalize": true,
        6401  +
    "region": "us-east-1",
        6402  +
    "service": "service",
        6403  +
    "sign_body": false,
        6404  +
    "timestamp": "2015-08-30T12:36:00Z",
        6405  +
    "omit_session_token": true
        6406  +
}
 4662   6407   
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
 4663   6408   
similarity index 99%
 4664   6409   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
 4665   6410   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 4666   6411   
index a6942c1..e881ac7 100644
 4667   6412   
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
 4668   6413   
new file mode 100644
 4669   6414   
index 0000000..9c5ecb9
 4670         -
-- /dev/null
        6415  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 4671   6416   
@@ -0,0 +1 @@
        6417  +
3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
              \
 No newline at end of file
 4672   6418   
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
 4673   6419   
similarity index 52%
 4674   6420   
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
 4675   6421   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4676   6422   
index 9d91775..61b6527 100644
 4677         -
-- 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
        6423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4678   6424   
@@ -1,4 +1,7 @@
 4679   6425   
POST / HTTP/1.1
 4680   6426   
Host:example.amazonaws.com
 4681         -
X-Amz-Date:20150830T123600Z
 4682   6427   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6428  +
X-Amz-Date:20150830T123600Z
        6429  +
X-Amz-Region-Set:us-east-1
        6430  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
        6431  +
 4683   6432   
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
 4684   6433   
similarity index 99%
 4685   6434   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
 4686   6435   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 4687   6436   
index d5650cb..f8adf13 100644
 4688   6437   
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
 4689   6438   
new file mode 100644
 4690   6439   
index 0000000..379dcb2
 4691         -
-- /dev/null
        6440  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 4692   6441   
@@ -0,0 +1,4 @@
        6442  +
{
        6443  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6444  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6445  +
}
 4693   6446   
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
 4694   6447   
similarity index 99%
 4695   6448   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
 4696   6449   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 4697   6450   
index e48ce07..5ea8e3c 100644
 4698   6451   
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
 4699   6452   
new file mode 100644
 4700   6453   
index 0000000..ff8823a
 4701         -
-- /dev/null
        6454  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 4702   6455   
@@ -0,0 +1 @@
        6456  +
3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
              \
 No newline at end of file
 4703   6457   
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
 4704   6458   
new file mode 100644
 4705   6459   
index 0000000..cfac41b
 4706         -
-- /dev/null
        6460  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 4707   6461   
@@ -0,0 +1,3 @@
        6462  +
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
        6463  +
Host:example.amazonaws.com
        6464  +
 4708   6465   
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
 4709   6466   
similarity index 99%
 4710   6467   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
 4711   6468   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 4712   6469   
index 34e3382..711c162 100644
 4713   6470   
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
 4714   6471   
similarity index 61%
 4715   6472   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
 4716   6473   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4717   6474   
index 3dc4179..3f0a82a 100644
 4718         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
        6475  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4719   6476   
@@ -1,3 +1,2 @@
 4720   6477   
POST / HTTP/1.1
 4721   6478   
Host:example.amazonaws.com
 4722         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4723   6479   
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
 4724   6480   
new file mode 100644
 4725   6481   
index 0000000..5187392
 4726         -
-- /dev/null
        6482  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 4727   6483   
@@ -0,0 +1,14 @@
        6484  +
{
        6485  +
    "credentials": {
        6486  +
        "access_key_id": "AKIDEXAMPLE",
        6487  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6488  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6489  +
    },
        6490  +
    "expiration_in_seconds": 3600,
        6491  +
    "normalize": true,
        6492  +
    "region": "us-east-1",
        6493  +
    "service": "service",
        6494  +
    "sign_body": false,
        6495  +
    "timestamp": "2015-08-30T12:36:00Z",
        6496  +
    "omit_session_token": false
        6497  +
}
 4728   6498   
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
 4729   6499   
similarity index 99%
 4730   6500   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
 4731   6501   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 4732   6502   
index dd408c8..e95924e 100644
 4733   6503   
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
 4734   6504   
new file mode 100644
 4735   6505   
index 0000000..1573f07
 4736         -
-- /dev/null
        6506  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 4737   6507   
@@ -0,0 +1 @@
        6508  +
30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
              \
 No newline at end of file
 4738   6509   
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
 4739   6510   
new file mode 100644
 4740   6511   
index 0000000..6ef9a08
 4741         -
-- /dev/null
        6512  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 4742   6513   
@@ -0,0 +1,7 @@
        6514  +
POST / HTTP/1.1
        6515  +
Host:example.amazonaws.com
        6516  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6517  +
X-Amz-Date:20150830T123600Z
        6518  +
X-Amz-Region-Set:us-east-1
        6519  +
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
        6520  +
 4743   6521   
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
 4744   6522   
similarity index 99%
 4745   6523   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
 4746   6524   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 4747   6525   
index f352b54..3c3235f 100644
 4748   6526   
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
 4749   6527   
new file mode 100644
 4750   6528   
index 0000000..379dcb2
 4751         -
-- /dev/null
        6529  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 4752   6530   
@@ -0,0 +1,4 @@
        6531  +
{
        6532  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6533  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6534  +
}
 4753   6535   
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
 4754   6536   
similarity index 99%
 4755   6537   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
 4756   6538   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 4757   6539   
index 832cdc0..63b7de5 100644
 4758   6540   
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
 4759   6541   
new file mode 100644
 4760   6542   
index 0000000..713f57c
 4761         -
-- /dev/null
        6543  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 4762   6544   
@@ -0,0 +1 @@
        6545  +
304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
              \
 No newline at end of file
 4763   6546   
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
 4764   6547   
new file mode 100644
 4765   6548   
index 0000000..32c3bb3
 4766         -
-- /dev/null
        6549  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 4767   6550   
@@ -0,0 +1,3 @@
        6551  +
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
        6552  +
Host:example.amazonaws.com
        6553  +
 4768   6554   
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
 4769   6555   
similarity index 99%
 4770   6556   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
 4771   6557   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 4772   6558   
index d7f3668..b46cd8c 100644
 4773   6559   
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
 4774   6560   
similarity index 60%
 4775   6561   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
 4776   6562   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4777   6563   
index 8b5efc8..3f0a82a 100644
 4778         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
        6564  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4779   6565   
@@ -1,3 +1,2 @@
 4780   6566   
POST / HTTP/1.1
 4781   6567   
Host:example.amazonaws.com
 4782         -
X-Amz-Date:20150830T123600Z
 4783   6568   
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
 4784   6569   
new file mode 100644
 4785   6570   
index 0000000..0468d80
 4786         -
-- /dev/null
        6571  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 4787   6572   
@@ -0,0 +1,12 @@
        6573  +
{
        6574  +
    "credentials": {
        6575  +
        "access_key_id": "AKIDEXAMPLE",
        6576  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6577  +
    },
        6578  +
    "expiration_in_seconds": 3600,
        6579  +
    "normalize": true,
        6580  +
    "region": "us-east-1",
        6581  +
    "service": "service",
        6582  +
    "sign_body": false,
        6583  +
    "timestamp": "2015-08-30T12:36:00Z"
        6584  +
}
              \
 No newline at end of file
 4788   6585   
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
 4789   6586   
similarity index 99%
 4790   6587   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
 4791   6588   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 4792   6589   
index 02af60f..34b8c11 100644
 4793   6590   
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
 4794   6591   
new file mode 100644
 4795   6592   
index 0000000..aac6427
 4796         -
-- /dev/null
        6593  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 4797   6594   
@@ -0,0 +1 @@
        6595  +
3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
              \
 No newline at end of file
 4798   6596   
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
 4799   6597   
new file mode 100644
 4800   6598   
index 0000000..a611436
 4801         -
-- /dev/null
        6599  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 4802   6600   
@@ -0,0 +1,6 @@
        6601  +
POST /?Param1=value1 HTTP/1.1
        6602  +
Host:example.amazonaws.com
        6603  +
X-Amz-Date:20150830T123600Z
        6604  +
X-Amz-Region-Set:us-east-1
        6605  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
        6606  +
 4803   6607   
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
 4804   6608   
similarity index 99%
 4805   6609   
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
 4806   6610   
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
 4807   6611   
index 4256b4f..ad88dff 100644
 4808   6612   
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
 4809   6613   
new file mode 100644
 4810   6614   
index 0000000..379dcb2
 4811         -
-- /dev/null
        6615  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 4812   6616   
@@ -0,0 +1,4 @@
        6617  +
{
        6618  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6619  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6620  +
}
 4813   6621   
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
 4814   6622   
similarity index 99%
 4815   6623   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
 4816   6624   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 4817   6625   
index fa84bbd..76d5ad6 100644
 4818   6626   
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
 4819   6627   
new file mode 100644
 4820   6628   
index 0000000..4cb1c94
 4821         -
-- /dev/null
        6629  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 4822   6630   
@@ -0,0 +1 @@
        6631  +
3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
              \
 No newline at end of file
 4823   6632   
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
 4824   6633   
new file mode 100644
 4825   6634   
index 0000000..bd22b97
 4826         -
-- /dev/null
        6635  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 4827   6636   
@@ -0,0 +1,3 @@
        6637  +
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
        6638  +
Host:example.amazonaws.com
        6639  +
 4828   6640   
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
 4829   6641   
similarity index 99%
 4830   6642   
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
 4831   6643   
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
 4832   6644   
index de270ef..8c9d319 100644
 4833   6645   
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
 4834   6646   
similarity index 67%
 4835   6647   
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
 4836   6648   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4837   6649   
index 9157bc7..c9d6e5d 100644
 4838         -
-- 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
        6650  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4839   6651   
@@ -1,3 +1,2 @@
 4840   6652   
POST /?Param1=value1 HTTP/1.1
 4841   6653   
Host:example.amazonaws.com
 4842         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4843   6654   
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
 4844   6655   
new file mode 100644
 4845   6656   
index 0000000..0468d80
 4846         -
-- /dev/null
        6657  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 4847   6658   
@@ -0,0 +1,12 @@
        6659  +
{
        6660  +
    "credentials": {
        6661  +
        "access_key_id": "AKIDEXAMPLE",
        6662  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6663  +
    },
        6664  +
    "expiration_in_seconds": 3600,
        6665  +
    "normalize": true,
        6666  +
    "region": "us-east-1",
        6667  +
    "service": "service",
        6668  +
    "sign_body": false,
        6669  +
    "timestamp": "2015-08-30T12:36:00Z"
        6670  +
}
              \
 No newline at end of file
 4848   6671   
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
 4849   6672   
similarity index 99%
 4850   6673   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
 4851   6674   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 4852   6675   
index 02af60f..34b8c11 100644
 4853   6676   
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
 4854   6677   
new file mode 100644
 4855   6678   
index 0000000..34f75c8
 4856         -
-- /dev/null
        6679  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 4857   6680   
@@ -0,0 +1 @@
        6681  +
3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
              \
 No newline at end of file
 4858   6682   
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
 4859   6683   
new file mode 100644
 4860   6684   
index 0000000..c731408
 4861         -
-- /dev/null
        6685  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 4862   6686   
@@ -0,0 +1,6 @@
        6687  +
POST /?Param1=value1 HTTP/1.1
        6688  +
Host:example.amazonaws.com
        6689  +
X-Amz-Date:20150830T123600Z
        6690  +
X-Amz-Region-Set:us-east-1
        6691  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
        6692  +
 4863   6693   
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
 4864   6694   
similarity index 99%
 4865   6695   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
 4866   6696   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 4867   6697   
index 4256b4f..ad88dff 100644
 4868   6698   
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
 4869   6699   
new file mode 100644
 4870   6700   
index 0000000..379dcb2
 4871         -
-- /dev/null
        6701  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 4872   6702   
@@ -0,0 +1,4 @@
        6703  +
{
        6704  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6705  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6706  +
}
 4873   6707   
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
 4874   6708   
similarity index 99%
 4875   6709   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
 4876   6710   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 4877   6711   
index fa84bbd..76d5ad6 100644
 4878   6712   
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
 4879   6713   
new file mode 100644
 4880   6714   
index 0000000..ae000d6
 4881         -
-- /dev/null
        6715  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 4882   6716   
@@ -0,0 +1 @@
        6717  +
304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
              \
 No newline at end of file
 4883   6718   
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
 4884   6719   
new file mode 100644
 4885   6720   
index 0000000..a868f7d
 4886         -
-- /dev/null
        6721  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 4887   6722   
@@ -0,0 +1,3 @@
        6723  +
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
        6724  +
Host:example.amazonaws.com
        6725  +
 4888   6726   
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
 4889   6727   
similarity index 99%
 4890   6728   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
 4891   6729   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 4892   6730   
index de270ef..8c9d319 100644
 4893   6731   
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
 4894   6732   
similarity index 67%
 4895   6733   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
 4896   6734   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 4897   6735   
index 9157bc7..c9d6e5d 100644
 4898         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
        6736  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 4899   6737   
@@ -1,3 +1,2 @@
 4900   6738   
POST /?Param1=value1 HTTP/1.1
 4901   6739   
Host:example.amazonaws.com
 4902         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4903   6740   
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
 4904   6741   
new file mode 100644
 4905   6742   
index 0000000..0468d80
 4906         -
-- /dev/null
        6743  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 4907   6744   
@@ -0,0 +1,12 @@
        6745  +
{
        6746  +
    "credentials": {
        6747  +
        "access_key_id": "AKIDEXAMPLE",
        6748  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6749  +
    },
        6750  +
    "expiration_in_seconds": 3600,
        6751  +
    "normalize": true,
        6752  +
    "region": "us-east-1",
        6753  +
    "service": "service",
        6754  +
    "sign_body": false,
        6755  +
    "timestamp": "2015-08-30T12:36:00Z"
        6756  +
}
              \
 No newline at end of file
 4908   6757   
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
 4909   6758   
similarity index 99%
 4910   6759   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
 4911   6760   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 4912   6761   
index a6942c1..e881ac7 100644
 4913   6762   
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
 4914   6763   
new file mode 100644
 4915   6764   
index 0000000..7c5e47b
 4916         -
-- /dev/null
        6765  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 4917   6766   
@@ -0,0 +1 @@
        6767  +
3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
              \
 No newline at end of file
 4918   6768   
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
 4919   6769   
new file mode 100644
 4920   6770   
index 0000000..c0e50a0
 4921         -
-- /dev/null
        6771  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 4922   6772   
@@ -0,0 +1,6 @@
        6773  +
POST / HTTP/1.1
        6774  +
Host:example.amazonaws.com
        6775  +
X-Amz-Date:20150830T123600Z
        6776  +
X-Amz-Region-Set:us-east-1
        6777  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
        6778  +
 4923   6779   
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
 4924   6780   
similarity index 99%
 4925   6781   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
 4926   6782   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 4927   6783   
index d5650cb..f8adf13 100644
 4928   6784   
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
 4929   6785   
new file mode 100644
 4930   6786   
index 0000000..379dcb2
 4931         -
-- /dev/null
        6787  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 4932   6788   
@@ -0,0 +1,4 @@
        6789  +
{
        6790  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6791  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6792  +
}
 4933   6793   
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
 4934   6794   
similarity index 99%
 4935   6795   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
 4936   6796   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 4937   6797   
index e48ce07..5ea8e3c 100644
 4938   6798   
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
 4939   6799   
new file mode 100644
 4940   6800   
index 0000000..ea8e3b4
 4941         -
-- /dev/null
        6801  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 4942   6802   
@@ -0,0 +1 @@
        6803  +
30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
              \
 No newline at end of file
 4943   6804   
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
 4944   6805   
new file mode 100644
 4945   6806   
index 0000000..616973f
 4946         -
-- /dev/null
        6807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 4947   6808   
@@ -0,0 +1,3 @@
        6809  +
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
        6810  +
Host:example.amazonaws.com
        6811  +
 4948   6812   
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
 4949   6813   
similarity index 99%
 4950   6814   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
 4951   6815   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 4952   6816   
index 34e3382..711c162 100644
 4953   6817   
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
 4954   6818   
new file mode 100644
 4955   6819   
index 0000000..3f0a82a
 4956         -
-- /dev/null
        6820  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 4957   6821   
@@ -0,0 +1,2 @@
        6822  +
POST / HTTP/1.1
        6823  +
Host:example.amazonaws.com
 4958   6824   
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
 4959   6825   
new file mode 100644
 4960   6826   
index 0000000..0db1df1
 4961         -
-- /dev/null
        6827  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 4962   6828   
@@ -0,0 +1,12 @@
        6829  +
{
        6830  +
    "credentials": {
        6831  +
        "access_key_id": "AKIDEXAMPLE",
        6832  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6833  +
    },
        6834  +
    "expiration_in_seconds": 3600,
        6835  +
    "normalize": true,
        6836  +
    "region": "us-east-1",
        6837  +
    "service": "service",
        6838  +
    "sign_body": true,
        6839  +
    "timestamp": "2015-08-30T12:36:00Z"
        6840  +
}
              \
 No newline at end of file
 4963   6841   
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
 4964   6842   
similarity index 62%
 4965   6843   
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
 4966   6844   
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
 4967   6845   
index 05ab787..62639b2 100644
 4968         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
        6846  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 4969   6847   
@@ -1,12 +1,12 @@
 4970   6848   
POST
 4971   6849   
/
 4972   6850   
 4973   6851   
content-length:13
 4974   6852   
content-type:application/x-www-form-urlencoded; charset=utf-8
 4975   6853   
host:example.amazonaws.com
 4976         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6854  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 4977   6855   
x-amz-date:20150830T123600Z
 4978   6856   
x-amz-region-set:us-east-1
 4979   6857   
 4980   6858   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 4981         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6859  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 4982   6860   
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
 4983   6861   
new file mode 100644
 4984   6862   
index 0000000..006ec2e
 4985         -
-- /dev/null
        6863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 4986   6864   
@@ -0,0 +1 @@
        6865  +
3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
              \
 No newline at end of file
 4987   6866   
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
 4988   6867   
new file mode 100644
 4989   6868   
index 0000000..87a11f2
 4990         -
-- /dev/null
        6869  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 4991   6870   
@@ -0,0 +1,10 @@
        6871  +
POST / HTTP/1.1
        6872  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6873  +
Host:example.amazonaws.com
        6874  +
Content-Length:13
        6875  +
X-Amz-Date:20150830T123600Z
        6876  +
X-Amz-Region-Set:us-east-1
        6877  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        6878  +
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
        6879  +
        6880  +
Param1=value1
              \
 No newline at end of file
 4992   6881   
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
 4993   6882   
new file mode 100644
 4994   6883   
index 0000000..c047afb
 4995         -
-- /dev/null
        6884  +
++ 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
 4996   6885   
@@ -0,0 +1,4 @@
        6886  +
AWS4-ECDSA-P256-SHA256
        6887  +
20150830T123600Z
        6888  +
20150830/service/aws4_request
        6889  +
bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
              \
 No newline at end of file
 4997   6890   
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
 4998   6891   
new file mode 100644
 4999   6892   
index 0000000..379dcb2
 5000         -
-- /dev/null
        6893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 5001   6894   
@@ -0,0 +1,4 @@
        6895  +
{
        6896  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6897  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6898  +
}
 5002   6899   
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
 5003   6900   
similarity index 85%
 5004   6901   
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
 5005   6902   
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
 5006   6903   
index fcc454f..6933a8c 100644
 5007         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
        6904  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 5008   6905   
@@ -1,9 +1,9 @@
 5009   6906   
POST
 5010   6907   
/
 5011   6908   
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
 5012   6909   
content-length:13
 5013   6910   
content-type:application/x-www-form-urlencoded; charset=utf-8
 5014   6911   
host:example.amazonaws.com
 5015   6912   
 5016   6913   
content-length;content-type;host
 5017         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6914  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5018   6915   
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
 5019   6916   
new file mode 100644
 5020   6917   
index 0000000..34a2e12
 5021         -
-- /dev/null
        6918  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 5022   6919   
@@ -0,0 +1 @@
        6920  +
3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
              \
 No newline at end of file
 5023   6921   
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
 5024   6922   
new file mode 100644
 5025   6923   
index 0000000..197b99e
 5026         -
-- /dev/null
        6924  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 5027   6925   
@@ -0,0 +1,6 @@
        6926  +
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
        6927  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6928  +
Host:example.amazonaws.com
        6929  +
Content-Length:13
        6930  +
        6931  +
Param1=value1
              \
 No newline at end of file
 5028   6932   
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
 5029   6933   
new file mode 100644
 5030   6934   
index 0000000..9d2bc74
 5031         -
-- /dev/null
        6935  +
++ 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
 5032   6936   
@@ -0,0 +1,4 @@
        6937  +
AWS4-ECDSA-P256-SHA256
        6938  +
20150830T123600Z
        6939  +
20150830/service/aws4_request
        6940  +
d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
              \
 No newline at end of file
 5033   6941   
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
 5034   6942   
similarity index 80%
 5035   6943   
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
 5036   6944   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5037   6945   
index 36015f1..8289eaa 100644
 5038         -
-- 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
        6946  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5039   6947   
@@ -1,6 +1,6 @@
 5040   6948   
POST / HTTP/1.1
 5041   6949   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 5042   6950   
Host:example.amazonaws.com
 5043         -
X-Amz-Date:20150830T123600Z
        6951  +
Content-Length:13
 5044   6952   
 5045   6953   
Param1=value1
              \
 No newline at end of file
 5046   6954   
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
 5047   6955   
new file mode 100644
 5048   6956   
index 0000000..0db1df1
 5049         -
-- /dev/null
        6957  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 5050   6958   
@@ -0,0 +1,12 @@
        6959  +
{
        6960  +
    "credentials": {
        6961  +
        "access_key_id": "AKIDEXAMPLE",
        6962  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6963  +
    },
        6964  +
    "expiration_in_seconds": 3600,
        6965  +
    "normalize": true,
        6966  +
    "region": "us-east-1",
        6967  +
    "service": "service",
        6968  +
    "sign_body": true,
        6969  +
    "timestamp": "2015-08-30T12:36:00Z"
        6970  +
}
              \
 No newline at end of file
 5051   6971   
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
 5052   6972   
similarity index 61%
 5053   6973   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
 5054   6974   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5055   6975   
index 69009dc..797632b 100644
 5056         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
        6976  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5057   6977   
@@ -1,12 +1,12 @@
 5058   6978   
POST
 5059   6979   
/
 5060   6980   
 5061   6981   
content-length:13
 5062   6982   
content-type:application/x-www-form-urlencoded
 5063   6983   
host:example.amazonaws.com
 5064         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6984  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 5065   6985   
x-amz-date:20150830T123600Z
 5066   6986   
x-amz-region-set:us-east-1
 5067   6987   
 5068   6988   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 5069         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6989  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5070   6990   
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
 5071   6991   
new file mode 100644
 5072   6992   
index 0000000..f5a641c
 5073         -
-- /dev/null
        6993  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 5074   6994   
@@ -0,0 +1 @@
        6995  +
304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
              \
 No newline at end of file
 5075   6996   
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
 5076   6997   
new file mode 100644
 5077   6998   
index 0000000..7bd94a7
 5078         -
-- /dev/null
        6999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 5079   7000   
@@ -0,0 +1,10 @@
        7001  +
POST / HTTP/1.1
        7002  +
Content-Type:application/x-www-form-urlencoded
        7003  +
Host:example.amazonaws.com
        7004  +
Content-Length:13
        7005  +
X-Amz-Date:20150830T123600Z
        7006  +
X-Amz-Region-Set:us-east-1
        7007  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        7008  +
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
        7009  +
        7010  +
Param1=value1
              \
 No newline at end of file
 5080   7011   
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
 5081   7012   
new file mode 100644
 5082   7013   
index 0000000..8d25ba9
 5083         -
-- /dev/null
        7014  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 5084   7015   
@@ -0,0 +1,4 @@
        7016  +
AWS4-ECDSA-P256-SHA256
        7017  +
20150830T123600Z
        7018  +
20150830/service/aws4_request
        7019  +
ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
              \
 No newline at end of file
 5085   7020   
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
 5086   7021   
new file mode 100644
 5087   7022   
index 0000000..379dcb2
 5088         -
-- /dev/null
        7023  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 5089   7024   
@@ -0,0 +1,4 @@
        7025  +
{
        7026  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7027  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7028  +
}
 5090   7029   
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
 5091   7030   
similarity index 99%
 5092   7031   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
 5093   7032   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 5094   7033   
index 9ed065b..563ff58 100644
 5095   7034   
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
 5096   7035   
new file mode 100644
 5097   7036   
index 0000000..0c77daf
 5098         -
-- /dev/null
        7037  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 5099   7038   
@@ -0,0 +1 @@
        7039  +
304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
              \
 No newline at end of file
 5100   7040   
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
 5101   7041   
new file mode 100644
 5102   7042   
index 0000000..71d6de9
 5103         -
-- /dev/null
        7043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 5104   7044   
@@ -0,0 +1,6 @@
        7045  +
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
        7046  +
Content-Type:application/x-www-form-urlencoded
        7047  +
Host:example.amazonaws.com
        7048  +
Content-Length:13
        7049  +
        7050  +
Param1=value1
              \
 No newline at end of file
 5105   7051   
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
 5106   7052   
similarity index 99%
 5107   7053   
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
 5108   7054   
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
 5109   7055   
index bef3143..cc7a224 100644
 5110   7056   
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
 5111   7057   
new file mode 100644
 5112   7058   
index 0000000..760b2d3
 5113         -
-- /dev/null
        7059  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 5114   7060   
@@ -0,0 +1,6 @@
        7061  +
POST / HTTP/1.1
        7062  +
Content-Type:application/x-www-form-urlencoded
        7063  +
Host:example.amazonaws.com
        7064  +
Content-Length:13
        7065  +
        7066  +
Param1=value1
              \
 No newline at end of file
 5115   7067   
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
 5116   7068   
index 9bd636f..b53f33f 100644
 5117         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
        7069  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 5118   7070   
@@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
 5119   7071   
            params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
 5120   7072   
        }
 5121   7073   
 5122   7074   
        if let SignatureValues::QueryParams(values) = values {
 5123   7075   
            add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
 5124   7076   
            add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
 5125   7077   
 5126   7078   
            #[cfg(feature = "sigv4a")]
 5127   7079   
            if let Some(regions) = values.region_set {
 5128   7080   
                add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
 5129   7081   
            }
 5130   7082   
 5131   7083   
            add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
 5132   7084   
            add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
 5133   7085   
            add_param(
 5134   7086   
                &mut params,
 5135   7087   
                param::X_AMZ_SIGNED_HEADERS,
 5136   7088   
                values.signed_headers.as_str(),
 5137   7089   
            );
 5138   7090   
 5139   7091   
            if let Some(security_token) = values.security_token {
 5140   7092   
                add_param(
 5141   7093   
                    &mut params,
 5142   7094   
                    settings
 5143   7095   
                        .session_token_name_override
 5144   7096   
                        .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
 5145   7097   
                    security_token,
 5146   7098   
                );
 5147   7099   
            }
 5148   7100   
        }
 5149         -
        // Sort by param name, and then by param value
        7101  +
        7102  +
        // Sort on the _encoded_ key/value pairs
        7103  +
        let mut params: Vec<(String, String)> = params
        7104  +
            .into_iter()
        7105  +
            .map(|x| {
        7106  +
                use aws_smithy_http::query::fmt_string;
        7107  +
                let enc_k = fmt_string(&x.0);
        7108  +
                let enc_v = fmt_string(&x.1);
        7109  +
                (enc_k, enc_v)
        7110  +
            })
        7111  +
            .collect();
        7112  +
 5150   7113   
        params.sort();
 5151   7114   
 5152   7115   
        let mut query = QueryWriter::new(uri);
 5153   7116   
        query.clear_params();
 5154   7117   
        for (key, value) in params {
 5155         -
            query.insert(&key, &value);
        7118  +
            query.insert_encoded(&key, &value);
 5156   7119   
        }
 5157   7120   
 5158   7121   
        let query = query.build_query();
 5159   7122   
        if query.is_empty() {
 5160   7123   
            None
 5161   7124   
        } else {
 5162   7125   
            Some(query)
 5163   7126   
        }
 5164   7127   
    }
 5165   7128   
 5166   7129   
    fn insert_host_header(
 5167   7130   
        canonical_headers: &mut HeaderMap<HeaderValue>,
 5168   7131   
        uri: &Uri,
 5169   7132   
    ) -> HeaderValue {
 5170   7133   
        match canonical_headers.get(&HOST) {
 5171   7134   
            Some(header) => header.clone(),
 5172   7135   
            None => {
 5173   7136   
                let port = uri.port();
 5174   7137   
                let scheme = uri.scheme();
 5175   7138   
                let authority = uri
 5176   7139   
                    .authority()
 5177   7140   
                    .expect("request uri authority must be set for signing")
 5178   7141   
                    .as_str();
 5179   7142   
                let host = uri
 5180   7143   
                    .host()
 5181   7144   
                    .expect("request uri host must be set for signing");
 5182   7145   
 5183   7146   
                // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
 5184   7147   
                // Host header when signing since RFC 2616 indicates that the default port should not be
 5185   7148   
                // sent in the Host header (and Hyper strips default ports if they are present)
 5186   7149   
@@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
 5187   7150   
            service,
 5188   7151   
            hashed_creq,
 5189   7152   
            signature_version: SignatureVersion::V4a,
 5190   7153   
        }
 5191   7154   
    }
 5192   7155   
}
 5193   7156   
 5194   7157   
impl fmt::Display for StringToSign<'_> {
 5195   7158   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 5196   7159   
        write!(
 5197   7160   
            f,
 5198   7161   
            "{}\n{}\n{}\n{}",
 5199   7162   
            self.algorithm,
 5200   7163   
            format_date_time(self.time),
 5201   7164   
            match self.signature_version {
 5202   7165   
                SignatureVersion::V4 => self.scope.to_string(),
 5203   7166   
                SignatureVersion::V4a => self.scope.v4a_display(),
 5204   7167   
            },
 5205   7168   
            self.hashed_creq
 5206   7169   
        )
 5207   7170   
    }
 5208   7171   
}
 5209   7172   
 5210   7173   
#[cfg(test)]
 5211   7174   
mod tests {
 5212   7175   
    use crate::date_time::test_parsers::parse_date_time;
 5213   7176   
    use crate::http_request::canonical_request::{
 5214   7177   
        normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
 5215   7178   
    };
 5216   7179   
    use crate::http_request::test;
        7180  +
    use crate::http_request::test::SigningSuiteTest;
 5217   7181   
    use crate::http_request::{
 5218   7182   
        PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
 5219   7183   
        SigningParams, SigningSettings,
 5220   7184   
    };
 5221   7185   
    use crate::sign::v4;
 5222   7186   
    use crate::sign::v4::sha256_hex_string;
 5223   7187   
    use aws_credential_types::Credentials;
 5224   7188   
    use aws_smithy_http::query_writer::QueryWriter;
 5225   7189   
    use aws_smithy_runtime_api::client::identity::Identity;
 5226   7190   
    use http0::{HeaderValue, Uri};
 5227   7191   
    use pretty_assertions::assert_eq;
 5228   7192   
    use proptest::{prelude::*, proptest};
 5229   7193   
    use std::borrow::Cow;
 5230   7194   
    use std::time::Duration;
 5231   7195   
 5232   7196   
    fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
 5233   7197   
        v4::signing_params::Builder::default()
 5234   7198   
            .identity(identity)
 5235   7199   
            .region("test-region")
 5236   7200   
            .name("testservicename")
 5237   7201   
            .time(parse_date_time("20210511T154045Z").unwrap())
 5238   7202   
            .settings(settings)
 5239   7203   
            .build()
 5240   7204   
            .unwrap()
 5241   7205   
            .into()
 5242   7206   
    }
 5243   7207   
 5244   7208   
    #[test]
 5245   7209   
    fn test_repeated_header() {
 5246         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7210  +
        let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7211  +
        let mut req = test.request();
 5247   7212   
        req.headers.push((
 5248   7213   
            "x-amz-object-attributes".to_string(),
 5249   7214   
            "Checksum".to_string(),
 5250   7215   
        ));
 5251   7216   
        req.headers.push((
 5252   7217   
            "x-amz-object-attributes".to_string(),
 5253   7218   
            "ObjectSize".to_string(),
 5254   7219   
        ));
 5255   7220   
        let req = SignableRequest::from(&req);
 5256   7221   
        let settings = SigningSettings {
 5257   7222   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5258   7223   
            session_token_mode: SessionTokenMode::Exclude,
 5259   7224   
            ..Default::default()
 5260   7225   
        };
 5261   7226   
        let identity = Credentials::for_tests().into();
 5262   7227   
        let signing_params = signing_params(&identity, settings);
 5263   7228   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5264   7229   
 5265   7230   
        assert_eq!(
 5266   7231   
            creq.values.signed_headers().to_string(),
 5267   7232   
            "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
 5268   7233   
        );
 5269   7234   
        assert_eq!(
 5270   7235   
            creq.header_values_for("x-amz-object-attributes"),
 5271   7236   
            "Checksum,ObjectSize",
 5272   7237   
        );
 5273   7238   
    }
 5274   7239   
 5275   7240   
    #[test]
 5276   7241   
    fn test_host_header_properly_handles_ports() {
 5277   7242   
        fn host_header_test_setup(endpoint: String) -> String {
 5278         -
            let mut req = test::v4::test_request("get-vanilla");
        7243  +
            let test = SigningSuiteTest::v4("get-vanilla");
        7244  +
            let mut req = test.request();
 5279   7245   
            req.uri = endpoint;
 5280   7246   
            let req = SignableRequest::from(&req);
 5281   7247   
            let settings = SigningSettings {
 5282   7248   
                payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5283   7249   
                session_token_mode: SessionTokenMode::Exclude,
 5284   7250   
                ..Default::default()
 5285   7251   
            };
 5286   7252   
            let identity = Credentials::for_tests().into();
 5287   7253   
            let signing_params = signing_params(&identity, settings);
 5288   7254   
            let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5289   7255   
            creq.header_values_for("host")
 5290   7256   
        }
 5291   7257   
 5292   7258   
        // HTTP request with 80 port should not be signed with that port
 5293   7259   
        let http_80_host_header = host_header_test_setup("http://localhost:80".into());
 5294   7260   
        assert_eq!(http_80_host_header, "localhost",);
 5295   7261   
 5296   7262   
        // HTTP request with non-80 port should be signed with that port
 5297   7263   
        let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
 5298   7264   
        assert_eq!(http_1234_host_header, "localhost:1234",);
 5299   7265   
 5300   7266   
        // HTTPS request with 443 port should not be signed with that port
 5301   7267   
        let https_443_host_header = host_header_test_setup("https://localhost:443".into());
 5302   7268   
        assert_eq!(https_443_host_header, "localhost",);
 5303   7269   
 5304   7270   
        // HTTPS request with non-443 port should be signed with that port
 5305   7271   
        let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
 5306   7272   
        assert_eq!(https_1234_host_header, "localhost:1234",);
 5307   7273   
    }
 5308   7274   
 5309   7275   
    #[test]
 5310   7276   
    fn test_set_xamz_sha_256() {
 5311         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7277  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7278  +
        let req = test.request();
 5312   7279   
        let req = SignableRequest::from(&req);
 5313   7280   
        let settings = SigningSettings {
 5314   7281   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5315   7282   
            session_token_mode: SessionTokenMode::Exclude,
 5316   7283   
            ..Default::default()
 5317   7284   
        };
 5318   7285   
        let identity = Credentials::for_tests().into();
 5319   7286   
        let mut signing_params = signing_params(&identity, settings);
 5320   7287   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5321   7288   
        assert_eq!(
 5322   7289   
            creq.values.content_sha256(),
 5323   7290   
            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 5324   7291   
        );
 5325   7292   
        // assert that the sha256 header was added
 5326   7293   
        assert_eq!(
 5327   7294   
            creq.values.signed_headers().as_str(),
 5328   7295   
            "host;x-amz-content-sha256;x-amz-date"
 5329   7296   
        );
 5330   7297   
 5331   7298   
        signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
 5332   7299   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5333   7300   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5334   7301   
    }
 5335   7302   
 5336   7303   
    #[test]
 5337   7304   
    fn test_unsigned_payload() {
 5338         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7305  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7306  +
        let mut req = test.request();
 5339   7307   
        req.set_body(SignableBody::UnsignedPayload);
 5340   7308   
        let req: SignableRequest<'_> = SignableRequest::from(&req);
 5341   7309   
 5342   7310   
        let settings = SigningSettings {
 5343   7311   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5344   7312   
            ..Default::default()
 5345   7313   
        };
 5346   7314   
        let identity = Credentials::for_tests().into();
 5347   7315   
        let signing_params = signing_params(&identity, settings);
 5348   7316   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5349   7317   
        assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
 5350   7318   
        assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
 5351   7319   
    }
 5352   7320   
 5353   7321   
    #[test]
 5354   7322   
    fn test_precomputed_payload() {
 5355   7323   
        let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
 5356         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7324  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7325  +
        let mut req = test.request();
 5357   7326   
        req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
 5358   7327   
        let req = SignableRequest::from(&req);
 5359   7328   
        let settings = SigningSettings {
 5360   7329   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5361   7330   
            ..Default::default()
 5362   7331   
        };
 5363   7332   
        let identity = Credentials::for_tests().into();
 5364   7333   
        let signing_params = signing_params(&identity, settings);
 5365   7334   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5366   7335   
        assert_eq!(creq.values.content_sha256(), payload_hash);
 5367   7336   
        assert!(creq.to_string().ends_with(payload_hash));
 5368   7337   
    }
 5369   7338   
 5370   7339   
    #[test]
 5371   7340   
    fn test_generate_scope() {
 5372   7341   
        let expected = "20150830/us-east-1/iam/aws4_request\n";
 5373   7342   
        let scope = SigningScope {
 5374   7343   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5375   7344   
            region: "us-east-1",
 5376   7345   
            service: "iam",
 5377   7346   
        };
 5378   7347   
        assert_eq!(format!("{}\n", scope), expected);
 5379   7348   
    }
 5380   7349   
 5381   7350   
    #[test]
 5382   7351   
    fn test_string_to_sign() {
 5383   7352   
        let time = parse_date_time("20150830T123600Z").unwrap();
 5384         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
 5385         -
        let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
        7353  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7354  +
        let creq = test.canonical_request(SignatureLocation::Headers);
        7355  +
        let expected_sts = test.string_to_sign(SignatureLocation::Headers);
 5386   7356   
        let encoded = sha256_hex_string(creq.as_bytes());
 5387   7357   
 5388   7358   
        let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
 5389   7359   
        assert_eq!(expected_sts, actual.to_string());
 5390   7360   
    }
 5391   7361   
 5392   7362   
    #[test]
 5393   7363   
    fn test_digest_of_canonical_request() {
 5394         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
        7364  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7365  +
        let creq = test.canonical_request(SignatureLocation::Headers);
 5395   7366   
        let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
 5396   7367   
        let actual = sha256_hex_string(creq.as_bytes());
 5397   7368   
        assert_eq!(expected, actual);
 5398   7369   
    }
 5399   7370   
 5400   7371   
    #[test]
 5401   7372   
    fn test_double_url_encode_path() {
 5402         -
        let req = test::v4::test_request("double-encode-path");
        7373  +
        let test = SigningSuiteTest::v4("double-encode-path");
        7374  +
        let req = test.request();
 5403   7375   
        let req = SignableRequest::from(&req);
 5404   7376   
        let identity = Credentials::for_tests().into();
 5405   7377   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5406   7378   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5407   7379   
 5408         -
        let expected = test::v4::test_canonical_request("double-encode-path");
        7380  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5409   7381   
        let actual = format!("{}", creq);
 5410   7382   
        assert_eq!(actual, expected);
 5411   7383   
    }
 5412   7384   
 5413   7385   
    #[test]
 5414   7386   
    fn test_double_url_encode() {
 5415         -
        let req = test::v4::test_request("double-url-encode");
        7387  +
        let test = SigningSuiteTest::v4("double-url-encode");
        7388  +
        let req = test.request();
 5416   7389   
        let req = SignableRequest::from(&req);
 5417   7390   
        let identity = Credentials::for_tests().into();
 5418   7391   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5419   7392   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5420         -
 5421         -
        let expected = test::v4::test_canonical_request("double-url-encode");
        7393  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5422   7394   
        let actual = format!("{}", creq);
 5423   7395   
        assert_eq!(actual, expected);
 5424   7396   
    }
 5425   7397   
 5426   7398   
    #[test]
 5427   7399   
    fn test_tilde_in_uri() {
 5428   7400   
        let req = http0::Request::builder()
 5429   7401   
            .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
 5430   7402   
        let req = SignableRequest::from(&req);
 5431   7403   
        let identity = Credentials::for_tests().into();
 5432   7404   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5433   7405   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5434   7406   
        assert_eq!(
 5435   7407   
            Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
 5436   7408   
            creq.params.as_deref(),
 5437   7409   
        );
 5438   7410   
    }
 5439   7411   
 5440   7412   
    #[test]
 5441   7413   
    fn test_signing_urls_with_percent_encoded_query_strings() {
 5442   7414   
        let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
 5443   7415   
        let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
 5444   7416   
 5445   7417   
        let mut query_writer = QueryWriter::new(&uri);
 5446   7418   
        query_writer.insert("list-type", "2");
 5447   7419   
        query_writer.insert("prefix", &all_printable_ascii_chars);
 5448   7420   
 5449   7421   
        let req = http0::Request::builder()
 5450   7422   
            .uri(query_writer.build_uri())
 5451   7423   
            .body("")
 5452   7424   
            .unwrap()
 5453   7425   
            .into();
 5454   7426   
        let req = SignableRequest::from(&req);
 5455   7427   
        let identity = Credentials::for_tests().into();
 5456   7428   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5457   7429   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5458   7430   
 5459   7431   
        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~";
 5460   7432   
        let actual = creq.params.unwrap();
 5461   7433   
        assert_eq!(expected, actual);
 5462   7434   
    }
 5463   7435   
 5464   7436   
    #[test]
 5465   7437   
    fn test_omit_session_token() {
 5466         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7438  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7439  +
        let req = test.request();
 5467   7440   
        let req = SignableRequest::from(&req);
 5468   7441   
        let settings = SigningSettings {
 5469   7442   
            session_token_mode: SessionTokenMode::Include,
 5470   7443   
            ..Default::default()
 5471   7444   
        };
 5472   7445   
        let identity = Credentials::for_tests_with_session_token().into();
 5473   7446   
        let mut signing_params = signing_params(&identity, settings);
 5474   7447   
 5475   7448   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5476   7449   
        assert_eq!(
 5477   7450   
            creq.values.signed_headers().as_str(),
 5478   7451   
            "host;x-amz-date;x-amz-security-token"
 5479   7452   
        );
 5480   7453   
        assert_eq!(
 5481   7454   
            creq.headers.get("x-amz-security-token").unwrap(),
 5482   7455   
            "notarealsessiontoken"
 5483   7456   
        );
 5484   7457   
 5485   7458   
        signing_params.set_session_token_mode(SessionTokenMode::Exclude);
 5486   7459   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5487   7460   
        assert_eq!(
 5488   7461   
            creq.headers.get("x-amz-security-token").unwrap(),
 5489   7462   
            "notarealsessiontoken"
 5490   7463   
        );
 5491   7464   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5492   7465   
    }
 5493   7466   
 5494   7467   
    // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
 5495   7468   
    #[test]
 5496   7469   
    fn non_presigning_header_exclusion() {
 5497   7470   
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
 5498   7471   
index c4bbbee..30b4743 100644
 5499         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
        7472  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 5500   7473   
@@ -478,436 +478,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 5501   7474   
        sensitive,
 5502   7475   
    });
 5503   7476   
}
 5504   7477   
 5505   7478   
// add signature to authorization header
 5506   7479   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 5507   7480   
fn build_authorization_header(
 5508   7481   
    access_key: &str,
 5509   7482   
    creq: &CanonicalRequest<'_>,
 5510   7483   
    sts: StringToSign<'_>,
 5511   7484   
    signature: &str,
 5512   7485   
    signature_version: SignatureVersion,
 5513   7486   
) -> String {
 5514   7487   
    let scope = match signature_version {
 5515   7488   
        SignatureVersion::V4 => sts.scope.to_string(),
 5516   7489   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 5517   7490   
    };
 5518   7491   
    format!(
 5519   7492   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 5520   7493   
        sts.algorithm,
 5521   7494   
        access_key,
 5522   7495   
        scope,
 5523   7496   
        creq.values.signed_headers().as_str(),
 5524   7497   
        signature
 5525   7498   
    )
 5526   7499   
}
 5527   7500   
#[cfg(test)]
 5528   7501   
mod tests {
 5529   7502   
    use crate::date_time::test_parsers::parse_date_time;
 5530   7503   
    use crate::http_request::sign::{add_header, SignableRequest};
        7504  +
    use crate::http_request::test::SigningSuiteTest;
 5531   7505   
    use crate::http_request::{
 5532         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        7506  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 5533   7507   
        SigningSettings,
 5534   7508   
    };
 5535   7509   
    use crate::sign::v4;
 5536   7510   
    use aws_credential_types::Credentials;
 5537   7511   
    use http0::{HeaderValue, Request};
 5538   7512   
    use pretty_assertions::assert_eq;
 5539   7513   
    use proptest::proptest;
 5540   7514   
    use std::borrow::Cow;
 5541   7515   
    use std::iter;
 5542         -
    use std::time::Duration;
 5543   7516   
 5544   7517   
    macro_rules! assert_req_eq {
 5545   7518   
        (http: $expected:expr, $actual:expr) => {
 5546   7519   
            let mut expected = ($expected).map(|_b|"body");
 5547   7520   
            let mut actual = ($actual).map(|_b|"body");
 5548   7521   
            make_headers_comparable(&mut expected);
 5549   7522   
            make_headers_comparable(&mut actual);
 5550   7523   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 5551   7524   
        };
 5552   7525   
        ($expected:tt, $actual:tt) => {
 5553   7526   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 5554   7527   
        };
 5555   7528   
    }
 5556   7529   
 5557   7530   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 5558   7531   
        for (_name, value) in request.headers_mut() {
 5559   7532   
            value.set_sensitive(false);
 5560   7533   
        }
 5561   7534   
    }
 5562   7535   
 5563         -
    #[test]
 5564         -
    fn test_sign_vanilla_with_headers() {
 5565         -
        let settings = SigningSettings::default();
 5566         -
        let identity = &Credentials::for_tests().into();
 5567         -
        let params = v4::SigningParams {
 5568         -
            identity,
 5569         -
            region: "us-east-1",
 5570         -
            name: "service",
 5571         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5572         -
            settings,
 5573         -
        }
 5574         -
        .into();
 5575         -
 5576         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5577         -
        let signable = SignableRequest::from(&original);
 5578         -
        let out = sign(signable, &params).unwrap();
 5579         -
        assert_eq!(
 5580         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 5581         -
            out.signature
 5582         -
        );
 5583         -
 5584         -
        let mut signed = original.as_http_request();
 5585         -
        out.output.apply_to_request_http0x(&mut signed);
 5586         -
 5587         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 5588         -
        assert_req_eq!(expected, signed);
 5589         -
    }
 5590         -
        7536  +
    // Sigv4A suite tests
 5591   7537   
    #[cfg(feature = "sigv4a")]
 5592         -
    mod sigv4a_tests {
 5593         -
        use super::*;
 5594         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5595         -
        use crate::http_request::{sign, test, SigningParams};
 5596         -
        use crate::sign::v4a;
 5597         -
        use p256::ecdsa::signature::{Signature, Verifier};
 5598         -
        use p256::ecdsa::{DerSignature, SigningKey};
 5599         -
        use pretty_assertions::assert_eq;
 5600         -
 5601         -
        fn new_v4a_signing_params_from_context(
 5602         -
            test_context: &'_ test::v4a::TestContext,
 5603         -
            signature_location: SignatureLocation,
 5604         -
        ) -> SigningParams<'_> {
 5605         -
            let mut params = v4a::SigningParams::from(test_context);
 5606         -
            params.settings.signature_location = signature_location;
 5607         -
 5608         -
            params.into()
 5609         -
        }
 5610         -
 5611         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 5612         -
            let tc = test::v4a::test_context(test_name);
 5613         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 5614         -
 5615         -
            let req = test::v4a::test_request(test_name);
 5616         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 5617         -
            let signable_req = SignableRequest::from(&req);
 5618         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
 5619         -
 5620         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
        7538  +
    mod v4a_suite {
        7539  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 5621   7540   
 5622         -
            let expected_string_to_sign =
 5623         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 5624         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 5625         -
            let actual_string_to_sign = StringToSign::new_v4a(
 5626         -
                *params.time(),
 5627         -
                params.region_set().unwrap(),
 5628         -
                params.name(),
 5629         -
                hashed_creq,
 5630         -
            )
 5631         -
            .to_string();
 5632         -
 5633         -
            assert_eq!(
 5634         -
                expected_string_to_sign, actual_string_to_sign,
 5635         -
                "'string to sign' didn't match"
 5636         -
            );
 5637         -
 5638         -
            let out = sign(signable_req, &params).unwrap();
 5639         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 5640         -
            out.output
 5641         -
                .apply_to_request_http0x(&mut req.as_http_request());
 5642         -
 5643         -
            let creds = params.credentials().unwrap();
 5644         -
            let signing_key =
 5645         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 5646         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 5647         -
            let sig = sig
 5648         -
                .try_into()
 5649         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 5650         -
 5651         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 5652         -
            let peer_public_key = signing_key.verifying_key();
 5653         -
            let sts = actual_string_to_sign.as_bytes();
 5654         -
            peer_public_key.verify(sts, &sig).unwrap();
        7541  +
        #[test]
        7542  +
        fn test_get_header_key_duplicate() {
        7543  +
            run_test_suite_v4a("get-header-key-duplicate")
 5655   7544   
        }
 5656   7545   
 5657   7546   
        #[test]
 5658         -
        fn test_get_header_key_duplicate() {
 5659         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        7547  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7548  +
        fn test_get_header_value_multiline() {
        7549  +
            run_test_suite_v4a("get-header-value-multiline")
 5660   7550   
        }
 5661   7551   
 5662   7552   
        #[test]
 5663   7553   
        fn test_get_header_value_order() {
 5664         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        7554  +
            run_test_suite_v4a("get-header-value-order")
 5665   7555   
        }
 5666   7556   
 5667   7557   
        #[test]
 5668   7558   
        fn test_get_header_value_trim() {
 5669         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        7559  +
            run_test_suite_v4a("get-header-value-trim");
 5670   7560   
        }
 5671   7561   
 5672   7562   
        #[test]
 5673   7563   
        fn test_get_relative_normalized() {
 5674         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        7564  +
            run_test_suite_v4a("get-relative-normalized");
 5675   7565   
        }
 5676   7566   
 5677   7567   
        #[test]
 5678   7568   
        fn test_get_relative_relative_normalized() {
 5679         -
            run_v4a_test_suite(
 5680         -
                "get-relative-relative-normalized",
 5681         -
                SignatureLocation::Headers,
 5682         -
            );
        7569  +
            run_test_suite_v4a("get-relative-relative-normalized");
 5683   7570   
        }
 5684   7571   
 5685   7572   
        #[test]
 5686   7573   
        fn test_get_relative_relative_unnormalized() {
 5687         -
            run_v4a_test_suite(
 5688         -
                "get-relative-relative-unnormalized",
 5689         -
                SignatureLocation::Headers,
 5690         -
            );
        7574  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 5691   7575   
        }
 5692   7576   
 5693   7577   
        #[test]
 5694   7578   
        fn test_get_relative_unnormalized() {
 5695         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        7579  +
            run_test_suite_v4a("get-relative-unnormalized");
 5696   7580   
        }
 5697   7581   
 5698   7582   
        #[test]
 5699   7583   
        fn test_get_slash_dot_slash_normalized() {
 5700         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        7584  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 5701   7585   
        }
 5702   7586   
 5703   7587   
        #[test]
 5704   7588   
        fn test_get_slash_dot_slash_unnormalized() {
 5705         -
            run_v4a_test_suite(
 5706         -
                "get-slash-dot-slash-unnormalized",
 5707         -
                SignatureLocation::Headers,
 5708         -
            );
        7589  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 5709   7590   
        }
 5710   7591   
 5711   7592   
        #[test]
 5712   7593   
        fn test_get_slash_normalized() {
 5713         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        7594  +
            run_test_suite_v4a("get-slash-normalized");
 5714   7595   
        }
 5715   7596   
 5716   7597   
        #[test]
 5717   7598   
        fn test_get_slash_pointless_dot_normalized() {
 5718         -
            run_v4a_test_suite(
 5719         -
                "get-slash-pointless-dot-normalized",
 5720         -
                SignatureLocation::Headers,
 5721         -
            );
        7599  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 5722   7600   
        }
 5723   7601   
 5724   7602   
        #[test]
 5725   7603   
        fn test_get_slash_pointless_dot_unnormalized() {
 5726         -
            run_v4a_test_suite(
 5727         -
                "get-slash-pointless-dot-unnormalized",
 5728         -
                SignatureLocation::Headers,
 5729         -
            );
        7604  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 5730   7605   
        }
 5731   7606   
 5732   7607   
        #[test]
 5733   7608   
        fn test_get_slash_unnormalized() {
 5734         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        7609  +
            run_test_suite_v4a("get-slash-unnormalized");
 5735   7610   
        }
 5736   7611   
 5737   7612   
        #[test]
 5738   7613   
        fn test_get_slashes_normalized() {
 5739         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        7614  +
            run_test_suite_v4a("get-slashes-normalized");
 5740   7615   
        }
 5741   7616   
 5742   7617   
        #[test]
 5743   7618   
        fn test_get_slashes_unnormalized() {
 5744         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        7619  +
            run_test_suite_v4a("get-slashes-unnormalized");
        7620  +
        }
        7621  +
        7622  +
        #[test]
        7623  +
        #[ignore = "relies on single encode of path segments"]
        7624  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7625  +
        // skipped until we add control over double_uri_encode in context.json
        7626  +
        fn test_get_space_normalized() {
        7627  +
            run_test_suite_v4a("get-space-normalized");
        7628  +
        }
        7629  +
        7630  +
        #[test]
        7631  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7632  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7633  +
        fn test_get_space_unnormalized() {
        7634  +
            run_test_suite_v4a("get-space-unnormalized");
 5745   7635   
        }
 5746   7636   
 5747   7637   
        #[test]
 5748   7638   
        fn test_get_unreserved() {
 5749         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        7639  +
            run_test_suite_v4a("get-unreserved");
        7640  +
        }
        7641  +
        7642  +
        #[test]
        7643  +
        #[ignore = "httparse fails on invalid uri character"]
        7644  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7645  +
        fn test_get_utf8() {
        7646  +
            run_test_suite_v4a("get-utf8");
 5750   7647   
        }
 5751   7648   
 5752   7649   
        #[test]
 5753   7650   
        fn test_get_vanilla() {
 5754         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        7651  +
            run_test_suite_v4a("get-vanilla");
 5755   7652   
        }
 5756   7653   
 5757   7654   
        #[test]
 5758   7655   
        fn test_get_vanilla_empty_query_key() {
 5759         -
            run_v4a_test_suite(
 5760         -
                "get-vanilla-empty-query-key",
 5761         -
                SignatureLocation::QueryParams,
 5762         -
            );
        7656  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 5763   7657   
        }
 5764   7658   
 5765   7659   
        #[test]
 5766   7660   
        fn test_get_vanilla_query() {
 5767         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        7661  +
            run_test_suite_v4a("get-vanilla-query");
        7662  +
        }
        7663  +
        7664  +
        #[test]
        7665  +
        fn test_get_vanilla_query_order_encoded() {
        7666  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 5768   7667   
        }
 5769   7668   
 5770   7669   
        #[test]
 5771   7670   
        fn test_get_vanilla_query_order_key_case() {
 5772         -
            run_v4a_test_suite(
 5773         -
                "get-vanilla-query-order-key-case",
 5774         -
                SignatureLocation::QueryParams,
 5775         -
            );
        7671  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 5776   7672   
        }
 5777   7673   
 5778   7674   
        #[test]
 5779   7675   
        fn test_get_vanilla_query_unreserved() {
 5780         -
            run_v4a_test_suite(
 5781         -
                "get-vanilla-query-unreserved",
 5782         -
                SignatureLocation::QueryParams,
 5783         -
            );
        7676  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        7677  +
        }
        7678  +
        7679  +
        #[test]
        7680  +
        #[ignore = "httparse fails on invalid uri character"]
        7681  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7682  +
        fn test_get_vanilla_utf8_query() {
        7683  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 5784   7684   
        }
 5785   7685   
 5786   7686   
        #[test]
 5787   7687   
        fn test_get_vanilla_with_session_token() {
 5788         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        7688  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 5789   7689   
        }
 5790   7690   
 5791   7691   
        #[test]
 5792   7692   
        fn test_post_header_key_case() {
 5793         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        7693  +
            run_test_suite_v4a("post-header-key-case");
 5794   7694   
        }
 5795   7695   
 5796   7696   
        #[test]
 5797   7697   
        fn test_post_header_key_sort() {
 5798         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        7698  +
            run_test_suite_v4a("post-header-key-sort");
 5799   7699   
        }
 5800   7700   
 5801   7701   
        #[test]
 5802   7702   
        fn test_post_header_value_case() {
 5803         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        7703  +
            run_test_suite_v4a("post-header-value-case");
 5804   7704   
        }
 5805   7705   
 5806   7706   
        #[test]
 5807   7707   
        fn test_post_sts_header_after() {
 5808         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        7708  +
            run_test_suite_v4a("post-sts-header-after");
 5809   7709   
        }
 5810   7710   
 5811   7711   
        #[test]
 5812   7712   
        fn test_post_sts_header_before() {
 5813         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        7713  +
            run_test_suite_v4a("post-sts-header-before");
 5814   7714   
        }
 5815   7715   
 5816   7716   
        #[test]
 5817   7717   
        fn test_post_vanilla() {
 5818         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        7718  +
            run_test_suite_v4a("post-vanilla");
 5819   7719   
        }
 5820   7720   
 5821   7721   
        #[test]
 5822   7722   
        fn test_post_vanilla_empty_query_value() {
 5823         -
            run_v4a_test_suite(
 5824         -
                "post-vanilla-empty-query-value",
 5825         -
                SignatureLocation::QueryParams,
 5826         -
            );
        7723  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 5827   7724   
        }
 5828   7725   
 5829   7726   
        #[test]
 5830   7727   
        fn test_post_vanilla_query() {
 5831         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        7728  +
            run_test_suite_v4a("post-vanilla-query");
 5832   7729   
        }
 5833   7730   
 5834   7731   
        #[test]
 5835   7732   
        fn test_post_x_www_form_urlencoded() {
 5836         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        7733  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 5837   7734   
        }
 5838   7735   
 5839   7736   
        #[test]
 5840   7737   
        fn test_post_x_www_form_urlencoded_parameters() {
 5841         -
            run_v4a_test_suite(
 5842         -
                "post-x-www-form-urlencoded-parameters",
 5843         -
                SignatureLocation::QueryParams,
 5844         -
            );
        7738  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 5845   7739   
        }
 5846   7740   
    }
 5847   7741   
 5848   7742   
    #[test]
 5849   7743   
    fn test_sign_url_escape() {
 5850         -
        let test = "double-encode-path";
        7744  +
        let test = SigningSuiteTest::v4("double-encode-path");
 5851   7745   
        let settings = SigningSettings::default();
 5852   7746   
        let identity = &Credentials::for_tests().into();
 5853   7747   
        let params = v4::SigningParams {
 5854   7748   
            identity,
 5855   7749   
            region: "us-east-1",
 5856   7750   
            name: "service",
 5857   7751   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5858   7752   
            settings,
 5859   7753   
        }
 5860   7754   
        .into();
 5861   7755   
 5862         -
        let original = test::v4::test_request(test);
        7756  +
        let original = test.request();
 5863   7757   
        let signable = SignableRequest::from(&original);
 5864   7758   
        let out = sign(signable, &params).unwrap();
 5865   7759   
        assert_eq!(
 5866   7760   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 5867   7761   
            out.signature
 5868   7762   
        );
 5869   7763   
 5870   7764   
        let mut signed = original.as_http_request();
 5871   7765   
        out.output.apply_to_request_http0x(&mut signed);
 5872   7766   
 5873         -
        let expected = test::v4::test_signed_request(test);
 5874         -
        assert_req_eq!(expected, signed);
 5875         -
    }
 5876         -
 5877         -
    #[test]
 5878         -
    fn test_sign_vanilla_with_query_params() {
 5879         -
        let settings = SigningSettings {
 5880         -
            signature_location: SignatureLocation::QueryParams,
 5881         -
            expires_in: Some(Duration::from_secs(35)),
 5882         -
            ..Default::default()
 5883         -
        };
 5884         -
        let identity = &Credentials::for_tests().into();
 5885         -
        let params = v4::SigningParams {
 5886         -
            identity,
 5887         -
            region: "us-east-1",
 5888         -
            name: "service",
 5889         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5890         -
            settings,
 5891         -
        }
 5892         -
        .into();
 5893         -
 5894         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5895         -
        let signable = SignableRequest::from(&original);
 5896         -
        let out = sign(signable, &params).unwrap();
 5897         -
        assert_eq!(
 5898         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 5899         -
            out.signature
 5900         -
        );
 5901         -
 5902         -
        let mut signed = original.as_http_request();
 5903         -
        out.output.apply_to_request_http0x(&mut signed);
 5904         -
 5905         -
        let expected =
 5906         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        7767  +
        let expected = test.signed_request(SignatureLocation::Headers);
 5907   7768   
        assert_req_eq!(expected, signed);
 5908   7769   
    }
 5909   7770   
 5910   7771   
    #[test]
 5911   7772   
    fn test_sign_headers_utf8() {
 5912   7773   
        let settings = SigningSettings::default();
 5913   7774   
        let identity = &Credentials::for_tests().into();
 5914   7775   
        let params = v4::SigningParams {
 5915   7776   
            identity,
 5916   7777   
            region: "us-east-1",
 5917   7778   
            name: "service",
 5918   7779   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5919   7780   
            settings,
 5920   7781   
        }
 5921   7782   
        .into();
 5922   7783   
 5923   7784   
        let original = http0::Request::builder()
 5924   7785   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 5925   7786   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 5926   7787   
            .body("")
 5927   7788   
            .unwrap()
 5928   7789   
            .into();
 5929   7790   
        let signable = SignableRequest::from(&original);
 5930   7791   
        let out = sign(signable, &params).unwrap();
 5931   7792   
        assert_eq!(
 5932   7793   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 5933   7794   
            out.signature
 5934   7795   
        );
 5935   7796   
 5936   7797   
        let mut signed = original.as_http_request();
 5937   7798   
@@ -1138,31 +1026,236 @@ mod tests {
 5938   7799   
        let mut request = http::Request::builder()
 5939   7800   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 5940   7801   
            .body("")
 5941   7802   
            .unwrap();
 5942   7803   
 5943   7804   
        instructions.apply_to_request_http1x(&mut request);
 5944   7805   
 5945   7806   
        assert_eq!(
 5946   7807   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 5947   7808   
            request.uri().path_and_query().unwrap().to_string()
 5948   7809   
        );
 5949   7810   
    }
 5950   7811   
 5951   7812   
    #[test]
 5952   7813   
    fn test_debug_signable_body() {
 5953   7814   
        let sut = SignableBody::Bytes(b"hello signable body");
 5954   7815   
        assert_eq!(
 5955   7816   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 5956   7817   
            format!("{sut:?}")
 5957   7818   
        );
 5958   7819   
 5959   7820   
        let sut = SignableBody::UnsignedPayload;
 5960   7821   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 5961   7822   
 5962   7823   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 5963   7824   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 5964   7825   
 5965   7826   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 5966   7827   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 5967   7828   
    }
        7829  +
        7830  +
    // v4 test suite
        7831  +
    mod v4_suite {
        7832  +
        use crate::http_request::test::run_test_suite_v4;
        7833  +
        7834  +
        #[test]
        7835  +
        fn test_get_header_key_duplicate() {
        7836  +
            run_test_suite_v4("get-header-key-duplicate");
        7837  +
        }
        7838  +
        7839  +
        #[test]
        7840  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7841  +
        fn test_get_header_value_multiline() {
        7842  +
            run_test_suite_v4("get-header-value-multiline");
        7843  +
        }
        7844  +
        7845  +
        #[test]
        7846  +
        fn test_get_header_value_order() {
        7847  +
            run_test_suite_v4("get-header-value-order");
        7848  +
        }
        7849  +
        7850  +
        #[test]
        7851  +
        fn test_get_header_value_trim() {
        7852  +
            run_test_suite_v4("get-header-value-trim");
        7853  +
        }
        7854  +
        7855  +
        #[test]
        7856  +
        fn test_get_relative_normalized() {
        7857  +
            run_test_suite_v4("get-relative-normalized");
        7858  +
        }
        7859  +
        7860  +
        #[test]
        7861  +
        fn test_get_relative_relative_normalized() {
        7862  +
            run_test_suite_v4("get-relative-relative-normalized");
        7863  +
        }
        7864  +
        7865  +
        #[test]
        7866  +
        fn test_get_relative_relative_unnormalized() {
        7867  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        7868  +
        }
        7869  +
        7870  +
        #[test]
        7871  +
        fn test_get_relative_unnormalized() {
        7872  +
            run_test_suite_v4("get-relative-unnormalized");
        7873  +
        }
        7874  +
        7875  +
        #[test]
        7876  +
        fn test_get_slash_dot_slash_normalized() {
        7877  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        7878  +
        }
        7879  +
        7880  +
        #[test]
        7881  +
        fn test_get_slash_dot_slash_unnormalized() {
        7882  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        7883  +
        }
        7884  +
        7885  +
        #[test]
        7886  +
        fn test_get_slash_normalized() {
        7887  +
            run_test_suite_v4("get-slash-normalized");
        7888  +
        }
        7889  +
        7890  +
        #[test]
        7891  +
        fn test_get_slash_pointless_dot_normalized() {
        7892  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        7893  +
        }
        7894  +
        7895  +
        #[test]
        7896  +
        fn test_get_slash_pointless_dot_unnormalized() {
        7897  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        7898  +
        }
        7899  +
        7900  +
        #[test]
        7901  +
        fn test_get_slash_unnormalized() {
        7902  +
            run_test_suite_v4("get-slash-unnormalized");
        7903  +
        }
        7904  +
        7905  +
        #[test]
        7906  +
        fn test_get_slashes_normalized() {
        7907  +
            run_test_suite_v4("get-slashes-normalized");
        7908  +
        }
        7909  +
        7910  +
        #[test]
        7911  +
        fn test_get_slashes_unnormalized() {
        7912  +
            run_test_suite_v4("get-slashes-unnormalized");
        7913  +
        }
        7914  +
        7915  +
        #[test]
        7916  +
        #[ignore = "relies on single encode of path segments"]
        7917  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7918  +
        // skipped until we add control over double_uri_encode in context.json
        7919  +
        fn test_get_space_normalized() {
        7920  +
            run_test_suite_v4("get-space-normalized");
        7921  +
        }
        7922  +
        7923  +
        #[test]
        7924  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7925  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7926  +
        fn test_get_space_unnormalized() {
        7927  +
            run_test_suite_v4("get-space-unnormalized");
        7928  +
        }
        7929  +
        7930  +
        #[test]
        7931  +
        fn test_get_unreserved() {
        7932  +
            run_test_suite_v4("get-unreserved");
        7933  +
        }
        7934  +
        7935  +
        #[test]
        7936  +
        #[ignore = "httparse fails on invalid uri character"]
        7937  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7938  +
        fn test_get_utf8() {
        7939  +
            run_test_suite_v4("get-utf8");
        7940  +
        }
        7941  +
        7942  +
        #[test]
        7943  +
        fn test_get_vanilla() {
        7944  +
            run_test_suite_v4("get-vanilla");
        7945  +
        }
        7946  +
        7947  +
        #[test]
        7948  +
        fn test_get_vanilla_empty_query_key() {
        7949  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        7950  +
        }
        7951  +
        7952  +
        #[test]
        7953  +
        fn test_get_vanilla_query() {
        7954  +
            run_test_suite_v4("get-vanilla-query");
        7955  +
        }
        7956  +
        7957  +
        #[test]
        7958  +
        fn test_get_vanilla_query_order_encoded() {
        7959  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        7960  +
        }
        7961  +
        7962  +
        #[test]
        7963  +
        fn test_get_vanilla_query_order_key_case() {
        7964  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        7965  +
        }
        7966  +
        7967  +
        #[test]
        7968  +
        fn test_get_vanilla_query_unreserved() {
        7969  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        7970  +
        }
        7971  +
        7972  +
        #[test]
        7973  +
        #[ignore = "httparse fails on invalid uri character"]
        7974  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7975  +
        fn test_get_vanilla_utf8_query() {
        7976  +
            run_test_suite_v4("get-vanilla-utf8-query");
        7977  +
        }
        7978  +
        7979  +
        #[test]
        7980  +
        fn test_get_vanilla_with_session_token() {
        7981  +
            run_test_suite_v4("get-vanilla-with-session-token");
        7982  +
        }
        7983  +
        7984  +
        #[test]
        7985  +
        fn test_post_header_key_case() {
        7986  +
            run_test_suite_v4("post-header-key-case");
        7987  +
        }
        7988  +
        7989  +
        #[test]
        7990  +
        fn test_post_header_key_sort() {
        7991  +
            run_test_suite_v4("post-header-key-sort");
        7992  +
        }
        7993  +
        7994  +
        #[test]
        7995  +
        fn test_post_header_value_case() {
        7996  +
            run_test_suite_v4("post-header-value-case");
        7997  +
        }
        7998  +
        7999  +
        #[test]
        8000  +
        fn test_post_sts_header_after() {
        8001  +
            run_test_suite_v4("post-sts-header-after");
        8002  +
        }
        8003  +
        8004  +
        #[test]
        8005  +
        fn test_post_sts_header_before() {
        8006  +
            run_test_suite_v4("post-sts-header-before");
        8007  +
        }
        8008  +
        8009  +
        #[test]
        8010  +
        fn test_post_vanilla() {
        8011  +
            run_test_suite_v4("post-vanilla");
        8012  +
        }
        8013  +
        8014  +
        #[test]
        8015  +
        fn test_post_vanilla_empty_query_value() {
        8016  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        8017  +
        }
        8018  +
        8019  +
        #[test]
        8020  +
        fn test_post_vanilla_query() {
        8021  +
            run_test_suite_v4("post-vanilla-query");
        8022  +
        }
        8023  +
        8024  +
        #[test]
        8025  +
        fn test_post_x_www_form_urlencoded() {
        8026  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        8027  +
        }
        8028  +
        8029  +
        #[test]
        8030  +
        fn test_post_x_www_form_urlencoded_parameters() {
        8031  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        8032  +
        }
        8033  +
    }
 5968   8034   
}
 5969   8035   
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
 5970   8036   
index be6c496..86eec20 100644
 5971         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        8037  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 5972   8038   
@@ -1,242 +1,453 @@
 5973   8039   
/*
 5974   8040   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 5975   8041   
 * SPDX-License-Identifier: Apache-2.0
 5976   8042   
 */
 5977   8043   
 5978   8044   
//! Functions shared between the tests of several modules.
 5979   8045   
 5980         -
use crate::http_request::{SignableBody, SignableRequest};
        8046  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        8047  +
use crate::http_request::{
        8048  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        8049  +
    SigningSettings,
        8050  +
};
        8051  +
use aws_credential_types::Credentials;
        8052  +
use aws_smithy_runtime_api::client::identity::Identity;
 5981   8053   
use http0::{Method, Uri};
        8054  +
use std::borrow::Cow;
 5982   8055   
use std::error::Error as StdError;
        8056  +
use std::time::{Duration, SystemTime};
        8057  +
use time::format_description::well_known::Rfc3339;
        8058  +
use time::OffsetDateTime;
        8059  +
        8060  +
/// Common test suite collection
        8061  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        8062  +
enum Collection {
        8063  +
    V4,
        8064  +
    V4A,
        8065  +
}
 5983   8066   
 5984         -
pub(crate) mod v4 {
 5985         -
    use super::*;
        8067  +
/// A test from the common CRT test suite
        8068  +
#[derive(Debug, Clone)]
        8069  +
pub(crate) struct SigningSuiteTest {
        8070  +
    test_name: &'static str,
        8071  +
    collection: Collection,
        8072  +
}
 5986   8073   
 5987         -
    fn path(name: &str, ext: &str) -> String {
 5988         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        8074  +
impl SigningSuiteTest {
        8075  +
    /// Create a new test from the V4 test suite
        8076  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        8077  +
        Self {
        8078  +
            test_name,
        8079  +
            collection: Collection::V4,
 5989   8080   
        }
 5990         -
 5991         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 5992         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 5993         -
        read(&path(name, "creq")).trim().to_string()
 5994   8081   
    }
 5995   8082   
 5996         -
    pub(crate) fn test_sts(name: &str) -> String {
 5997         -
        read(&path(name, "sts"))
        8083  +
    /// Create a new test from the V4a test suite
        8084  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        8085  +
        Self {
        8086  +
            test_name,
        8087  +
            collection: Collection::V4A,
 5998   8088   
        }
 5999         -
 6000         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6001         -
        test_parsed_request(name, "req")
 6002   8089   
    }
 6003   8090   
 6004         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 6005         -
        test_parsed_request(name, "sreq")
        8091  +
    /// Get the path to a file in this test suite directory
        8092  +
    fn path(&self, filename: &str) -> String {
        8093  +
        let dir = match self.collection {
        8094  +
            Collection::V4 => "v4",
        8095  +
            Collection::V4A => "v4a",
        8096  +
        };
        8097  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 6006   8098   
    }
 6007   8099   
 6008         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 6009         -
        test_parsed_request(name, "qpsreq")
        8100  +
    /// Get the HTTP request for the test
        8101  +
    pub(crate) fn request(&self) -> TestRequest {
        8102  +
        test_parsed_request(&self.path("request.txt"))
 6010   8103   
    }
 6011   8104   
 6012         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 6013         -
        let path = path(name, ext);
 6014         -
        match parse_request(read(&path).as_bytes()) {
 6015         -
            Ok(parsed) => parsed,
 6016         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        8105  +
    /// Get the signed HTTP request for the test
        8106  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        8107  +
        match signature_location {
        8108  +
            SignatureLocation::QueryParams => {
        8109  +
                test_parsed_request(&self.path("query-signed-request.txt"))
 6017   8110   
            }
        8111  +
            SignatureLocation::Headers => {
        8112  +
                test_parsed_request(&self.path("header-signed-request.txt"))
 6018   8113   
            }
 6019         -
 6020         -
    #[test]
 6021         -
    fn test_parse() {
 6022         -
        test_request("post-header-key-case");
 6023   8114   
        }
 6024         -
 6025         -
    #[test]
 6026         -
    fn test_read_query_params() {
 6027         -
        test_request("get-vanilla-query-order-key-case");
 6028   8115   
    }
 6029         -
}
 6030         -
 6031         -
#[cfg(feature = "sigv4a")]
 6032         -
pub(crate) mod v4a {
 6033         -
    use super::*;
 6034         -
    use crate::http_request::{
 6035         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 6036         -
    };
 6037         -
    use aws_credential_types::Credentials;
 6038         -
    use aws_smithy_runtime_api::client::identity::Identity;
 6039         -
    use serde_derive::Deserialize;
 6040         -
    use std::time::{Duration, SystemTime};
 6041         -
    use time::format_description::well_known::Rfc3339;
 6042         -
    use time::OffsetDateTime;
 6043   8116   
 6044         -
    fn path(test_name: &str, definition_name: &str) -> String {
 6045         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        8117  +
    /// Get the canonical request for the test
        8118  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        8119  +
        match signature_location {
        8120  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        8121  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
 6046   8122   
        }
 6047         -
 6048         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6049         -
        test_parsed_request(&path(name, "request"))
 6050   8123   
    }
 6051   8124   
 6052         -
    pub(crate) fn test_canonical_request(
 6053         -
        name: &str,
 6054         -
        signature_location: SignatureLocation,
 6055         -
    ) -> String {
        8125  +
    /// Get the string to sign for the test
        8126  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
 6056   8127   
        match signature_location {
 6057         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 6058         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        8128  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        8129  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 6059   8130   
        }
 6060   8131   
    }
 6061   8132   
 6062         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
        8133  +
    /// Get the signature for the test
        8134  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
 6063   8135   
        match signature_location {
 6064         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 6065         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        8136  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        8137  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        8138  +
        }
 6066   8139   
    }
        8140  +
        8141  +
    /// Get the test context for the test
        8142  +
    pub(crate) fn context(&self) -> TestContext {
        8143  +
        let context = read(&self.path("context.json"));
        8144  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        8145  +
        tc_builder.build()
 6067   8146   
    }
        8147  +
}
 6068   8148   
 6069         -
    fn test_parsed_request(path: &str) -> TestRequest {
        8149  +
fn test_parsed_request(path: &str) -> TestRequest {
 6070   8150   
    match parse_request(read(path).as_bytes()) {
 6071   8151   
        Ok(parsed) => parsed,
 6072   8152   
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 6073   8153   
    }
 6074         -
    }
        8154  +
}
 6075   8155   
 6076         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 6077         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 6078         -
        let context = read(&path);
 6079         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 6080         -
        tc_builder.build()
 6081         -
    }
        8156  +
fn new_v4_signing_params_from_context(
        8157  +
    test_context: &'_ TestContext,
        8158  +
    signature_location: SignatureLocation,
        8159  +
) -> crate::http_request::SigningParams<'_> {
        8160  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        8161  +
    params.settings.signature_location = signature_location;
        8162  +
    params.into()
        8163  +
}
        8164  +
        8165  +
/// Run the given test from the v4 suite for both header and query
        8166  +
/// signature locations
        8167  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        8168  +
    run_v4_test(test_name, SignatureLocation::Headers);
        8169  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        8170  +
}
        8171  +
        8172  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        8173  +
    assert_eq!(expected.scheme(), actual.scheme());
        8174  +
    assert_eq!(expected.authority(), actual.authority());
        8175  +
    assert_eq!(expected.path(), actual.path());
        8176  +
        8177  +
    // query params may be out of order
        8178  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8179  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        8180  +
    expected_params.sort();
        8181  +
        8182  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8183  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        8184  +
    actual_params.sort();
        8185  +
        8186  +
    assert_eq!(expected_params, actual_params);
        8187  +
}
 6082   8188   
 6083         -
    pub(crate) struct TestContext {
        8189  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        8190  +
    let expected = expected.as_http_request();
        8191  +
    let actual = actual;
        8192  +
    assert_eq!(expected.method(), actual.method());
        8193  +
    assert_eq!(
        8194  +
        expected.headers().len(),
        8195  +
        actual.headers().len(),
        8196  +
        "extra or missing headers"
        8197  +
    );
        8198  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        8199  +
    assert_uri_eq(expected.uri(), actual.uri());
        8200  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        8201  +
}
        8202  +
        8203  +
/// Run the given test from the v4 suite for the given signature location
        8204  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        8205  +
    let test = SigningSuiteTest::v4(test_name);
        8206  +
    let tc = test.context();
        8207  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        8208  +
        8209  +
    let req = test.request();
        8210  +
    let expected_creq = test.canonical_request(signature_location);
        8211  +
    let signable_req = SignableRequest::from(&req);
        8212  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8213  +
        8214  +
    // check canonical request
        8215  +
    assert_eq!(
        8216  +
        expected_creq,
        8217  +
        actual_creq.to_string(),
        8218  +
        "canonical request didn't match (signature location: {signature_location:?})"
        8219  +
    );
        8220  +
        8221  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        8222  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8223  +
    let actual_string_to_sign = StringToSign::new_v4(
        8224  +
        *params.time(),
        8225  +
        params.region().unwrap(),
        8226  +
        params.name(),
        8227  +
        hashed_creq,
        8228  +
    )
        8229  +
    .to_string();
        8230  +
        8231  +
    // check string to sign
        8232  +
    assert_eq!(
        8233  +
        expected_string_to_sign, actual_string_to_sign,
        8234  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        8235  +
    );
        8236  +
        8237  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        8238  +
    let mut signed = req.as_http_request();
        8239  +
    out.output.apply_to_request_http0x(&mut signed);
        8240  +
        8241  +
    // check signature
        8242  +
    assert_eq!(
        8243  +
        test.signature(signature_location),
        8244  +
        out.signature,
        8245  +
        "signature didn't match (signature location: {signature_location:?})"
        8246  +
    );
        8247  +
        8248  +
    let expected = test.signed_request(signature_location);
        8249  +
    assert_requests_eq(expected, signed);
        8250  +
}
        8251  +
        8252  +
/// Test suite context.json
        8253  +
pub(crate) struct TestContext {
 6084   8254   
    pub(crate) identity: Identity,
 6085   8255   
    pub(crate) expiration_in_seconds: u64,
 6086   8256   
    pub(crate) normalize: bool,
 6087   8257   
    pub(crate) region: String,
 6088   8258   
    pub(crate) service: String,
 6089   8259   
    pub(crate) timestamp: String,
 6090   8260   
    pub(crate) omit_session_token: bool,
 6091   8261   
    pub(crate) sign_body: bool,
 6092         -
    }
 6093         -
 6094         -
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 6095         -
        fn from(tc: &'a TestContext) -> Self {
 6096         -
            crate::sign::v4a::SigningParams {
 6097         -
                identity: &tc.identity,
 6098         -
                region_set: &tc.region,
 6099         -
                name: &tc.service,
 6100         -
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 6101         -
                    .unwrap()
 6102         -
                    .into(),
 6103         -
                settings: SigningSettings {
 6104         -
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6105         -
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 6106         -
                    uri_path_normalization_mode: tc.normalize.into(),
 6107         -
                    session_token_mode: if tc.omit_session_token {
 6108         -
                        SessionTokenMode::Exclude
 6109         -
                    } else {
 6110         -
                        SessionTokenMode::Include
 6111         -
                    },
 6112         -
                    payload_checksum_kind: if tc.sign_body {
 6113         -
                        PayloadChecksumKind::XAmzSha256
 6114         -
                    } else {
 6115         -
                        PayloadChecksumKind::NoHeader
 6116         -
                    },
 6117         -
                    ..Default::default()
 6118         -
                },
 6119         -
            }
 6120         -
        }
 6121         -
    }
        8262  +
}
 6122   8263   
 6123         -
    // Serde has limitations requiring this odd workaround.
 6124         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 6125         -
    fn return_true() -> bool {
        8264  +
// Serde has limitations requiring this odd workaround.
        8265  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        8266  +
fn return_true() -> bool {
 6126   8267   
    true
 6127         -
    }
        8268  +
}
 6128   8269   
 6129         -
    #[derive(Deserialize)]
 6130         -
    pub(crate) struct TestContextBuilder {
        8270  +
#[derive(serde_derive::Deserialize)]
        8271  +
pub(crate) struct TestContextBuilder {
 6131   8272   
    credentials: TestContextCreds,
 6132   8273   
    expiration_in_seconds: u64,
 6133   8274   
    normalize: bool,
 6134   8275   
    region: String,
 6135   8276   
    service: String,
 6136   8277   
    timestamp: String,
 6137   8278   
    #[serde(default)]
 6138   8279   
    omit_session_token: bool,
 6139   8280   
    #[serde(default = "return_true")]
 6140   8281   
    sign_body: bool,
 6141         -
    }
        8282  +
}
 6142   8283   
 6143         -
    impl TestContextBuilder {
        8284  +
impl TestContextBuilder {
 6144   8285   
    pub(crate) fn build(self) -> TestContext {
 6145   8286   
        let identity = Identity::new(
 6146   8287   
            Credentials::from_keys(
 6147   8288   
                &self.credentials.access_key_id,
 6148   8289   
                &self.credentials.secret_access_key,
 6149   8290   
                self.credentials.token.clone(),
 6150   8291   
            ),
 6151   8292   
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 6152   8293   
        );
 6153   8294   
 6154   8295   
        TestContext {
 6155   8296   
            identity,
 6156   8297   
            expiration_in_seconds: self.expiration_in_seconds,
 6157   8298   
            normalize: self.normalize,
 6158   8299   
            region: self.region,
 6159   8300   
            service: self.service,
 6160   8301   
            timestamp: self.timestamp,
 6161   8302   
            omit_session_token: self.omit_session_token,
 6162   8303   
            sign_body: self.sign_body,
 6163   8304   
        }
 6164   8305   
    }
 6165         -
    }
        8306  +
}
 6166   8307   
 6167         -
    #[derive(Deserialize)]
 6168         -
    pub(crate) struct TestContextCreds {
        8308  +
#[derive(serde_derive::Deserialize)]
        8309  +
pub(crate) struct TestContextCreds {
 6169   8310   
    access_key_id: String,
 6170   8311   
    secret_access_key: String,
 6171   8312   
    token: Option<String>,
        8313  +
}
        8314  +
        8315  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        8316  +
    fn from(tc: &'a TestContext) -> Self {
        8317  +
        crate::sign::v4::SigningParams {
        8318  +
            identity: &tc.identity,
        8319  +
            region: &tc.region,
        8320  +
            name: &tc.service,
        8321  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8322  +
                .unwrap()
        8323  +
                .into(),
        8324  +
            settings: SigningSettings {
        8325  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8326  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8327  +
                uri_path_normalization_mode: tc.normalize.into(),
        8328  +
                session_token_mode: if tc.omit_session_token {
        8329  +
                    SessionTokenMode::Exclude
        8330  +
                } else {
        8331  +
                    SessionTokenMode::Include
        8332  +
                },
        8333  +
                payload_checksum_kind: if tc.sign_body {
        8334  +
                    PayloadChecksumKind::XAmzSha256
        8335  +
                } else {
        8336  +
                    PayloadChecksumKind::NoHeader
        8337  +
                },
        8338  +
                ..Default::default()
        8339  +
            },
        8340  +
        }
        8341  +
    }
        8342  +
}
        8343  +
        8344  +
#[cfg(feature = "sigv4a")]
        8345  +
pub(crate) mod v4a {
        8346  +
    use super::*;
        8347  +
    use crate::http_request::{
        8348  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        8349  +
    };
        8350  +
    use crate::sign::v4a;
        8351  +
    use p256::ecdsa::signature::{Signature, Verifier};
        8352  +
    use p256::ecdsa::{DerSignature, SigningKey};
        8353  +
    use std::time::Duration;
        8354  +
    use time::format_description::well_known::Rfc3339;
        8355  +
    use time::OffsetDateTime;
        8356  +
        8357  +
    fn new_v4a_signing_params_from_context(
        8358  +
        test_context: &'_ TestContext,
        8359  +
        signature_location: SignatureLocation,
        8360  +
    ) -> crate::http_request::SigningParams<'_> {
        8361  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        8362  +
        params.settings.signature_location = signature_location;
        8363  +
        params.into()
        8364  +
    }
        8365  +
        8366  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        8367  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        8368  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
        8369  +
    }
        8370  +
        8371  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        8372  +
        let test = SigningSuiteTest::v4a(test_name);
        8373  +
        let tc = test.context();
        8374  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        8375  +
        8376  +
        let req = test.request();
        8377  +
        let expected_creq = test.canonical_request(signature_location);
        8378  +
        let signable_req = SignableRequest::from(&req);
        8379  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8380  +
        8381  +
        assert_eq!(
        8382  +
            expected_creq,
        8383  +
            actual_creq.to_string(),
        8384  +
            "canonical request didn't match (signature location: {signature_location:?})"
        8385  +
        );
        8386  +
        8387  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        8388  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8389  +
        let actual_string_to_sign = StringToSign::new_v4a(
        8390  +
            *params.time(),
        8391  +
            params.region_set().unwrap(),
        8392  +
            params.name(),
        8393  +
            hashed_creq,
        8394  +
        )
        8395  +
        .to_string();
        8396  +
        8397  +
        assert_eq!(
        8398  +
            expected_string_to_sign, actual_string_to_sign,
        8399  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        8400  +
        );
        8401  +
        8402  +
        let out = sign(signable_req, &params).unwrap();
        8403  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        8404  +
        out.output
        8405  +
            .apply_to_request_http0x(&mut req.as_http_request());
        8406  +
        8407  +
        let creds = params.credentials().unwrap();
        8408  +
        let signing_key =
        8409  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        8410  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        8411  +
        let sig = sig
        8412  +
            .try_into()
        8413  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        8414  +
        8415  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        8416  +
        let peer_public_key = signing_key.verifying_key();
        8417  +
        let sts = actual_string_to_sign.as_bytes();
        8418  +
        peer_public_key.verify(sts, &sig).unwrap();
        8419  +
        // TODO(sigv4a) - use public.key.json as verifying key?
        8420  +
    }
        8421  +
        8422  +
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
        8423  +
        fn from(tc: &'a TestContext) -> Self {
        8424  +
            crate::sign::v4a::SigningParams {
        8425  +
                identity: &tc.identity,
        8426  +
                region_set: &tc.region,
        8427  +
                name: &tc.service,
        8428  +
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8429  +
                    .unwrap()
        8430  +
                    .into(),
        8431  +
                settings: SigningSettings {
        8432  +
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8433  +
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8434  +
                    uri_path_normalization_mode: tc.normalize.into(),
        8435  +
                    session_token_mode: if tc.omit_session_token {
        8436  +
                        SessionTokenMode::Exclude
        8437  +
                    } else {
        8438  +
                        SessionTokenMode::Include
        8439  +
                    },
        8440  +
                    payload_checksum_kind: if tc.sign_body {
        8441  +
                        PayloadChecksumKind::XAmzSha256
        8442  +
                    } else {
        8443  +
                        PayloadChecksumKind::NoHeader
        8444  +
                    },
        8445  +
                    ..Default::default()
        8446  +
                },
        8447  +
            }
        8448  +
        }
 6172   8449   
    }
 6173   8450   
 6174   8451   
    #[test]
 6175   8452   
    fn test_parse() {
 6176         -
        let req = test_request("post-header-key-case");
        8453  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 6177   8454   
        assert_eq!(req.method, "POST");
 6178   8455   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6179   8456   
        assert!(req.headers.is_empty());
 6180   8457   
    }
 6181   8458   
 6182   8459   
    #[test]
 6183   8460   
    fn test_read_query_params() {
 6184         -
        let req = test_request("get-header-value-trim");
        8461  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 6185   8462   
        assert_eq!(req.method, "GET");
 6186   8463   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6187   8464   
        assert!(!req.headers.is_empty());
 6188   8465   
    }
 6189   8466   
}
 6190   8467   
 6191   8468   
fn read(path: &str) -> String {
 6192   8469   
    println!("Loading `{}` for test case...", path);
 6193   8470   
    let v = {
 6194   8471   
        match std::fs::read_to_string(path) {
 6195   8472   
            // This replacement is necessary for tests to pass on Windows, as reading the
 6196   8473   
            // test snapshots from the file system results in CRLF line endings being inserted.
 6197   8474   
            Ok(value) => value.replace("\r\n", "\n"),
 6198   8475   
            Err(err) => {
 6199   8476   
                panic!("failed to load test case `{}`: {}", path, err);
 6200   8477   
            }
 6201   8478   
        }
 6202   8479   
    };
 6203   8480   
 6204   8481   
    v.trim().to_string()
 6205   8482   
}
 6206   8483   
 6207   8484   
pub(crate) struct TestRequest {
 6208   8485   
    pub(crate) uri: String,
 6209   8486   
    pub(crate) method: String,
 6210   8487   
    pub(crate) headers: Vec<(String, String)>,
 6211   8488   
    pub(crate) body: TestSignedBody,
 6212   8489   
}
 6213   8490   
 6214   8491   
pub(crate) enum TestSignedBody {
 6215   8492   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 6216   8493   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 6217   8494   
                    )
 6218   8495   
                })
 6219   8496   
                .collect::<Vec<_>>(),
 6220   8497   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 6221   8498   
        }
 6222   8499   
    }
 6223   8500   
}
 6224   8501   
 6225   8502   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 6226   8503   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 6227   8504   
        SignableRequest::new(
 6228   8505   
            &request.method,
 6229   8506   
            &request.uri,
 6230   8507   
            request
 6231   8508   
                .headers
 6232   8509   
                .iter()
 6233   8510   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 6234   8511   
            request.body.as_signable_body(),
 6235   8512   
        )
 6236   8513   
        .expect("URI MUST be valid")
 6237   8514   
    }
 6238   8515   
}
 6239   8516   
 6240   8517   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 6241   8518   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 6242   8519   
    // httparse 1.5 requires two trailing newlines to head the header section.
 6243   8520   
    let mut with_newline = Vec::from(s);
 6244   8521   
    with_newline.push(b'\n');
 6245   8522   
    let mut req = httparse::Request::new(&mut headers);
 6246         -
    let _ = req.parse(&with_newline).unwrap();
        8523  +
    let status = req.parse(&with_newline).unwrap();
        8524  +
        8525  +
    let body = if status.is_complete() {
        8526  +
        let body_offset = status.unwrap();
        8527  +
        // ignore the newline we added, take from original
        8528  +
        &s[body_offset..]
        8529  +
    } else {
        8530  +
        &[]
        8531  +
    };
 6247   8532   
 6248   8533   
    let mut uri_builder = Uri::builder().scheme("https");
 6249   8534   
    if let Some(path) = req.path {
 6250   8535   
        uri_builder = uri_builder.path_and_query(path);
 6251   8536   
    }
 6252   8537   
 6253   8538   
    let mut headers = vec![];
 6254   8539   
    for header in req.headers {
 6255   8540   
        let name = header.name.to_lowercase();
 6256   8541   
        if name == "host" {
 6257   8542   
            uri_builder = uri_builder.authority(header.value);
 6258   8543   
        } else if !name.is_empty() {
 6259   8544   
            headers.push((
 6260   8545   
                header.name.to_string(),
 6261   8546   
                std::str::from_utf8(header.value)?.to_string(),
 6262   8547   
            ));
 6263   8548   
        }
 6264   8549   
    }
 6265   8550   
 6266   8551   
    Ok(TestRequest {
 6267   8552   
        uri: uri_builder.build()?.to_string(),
 6268   8553   
        method: req.method.unwrap().to_string(),
 6269   8554   
        headers,
 6270         -
        body: TestSignedBody::Bytes(vec![]),
        8555  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 6271   8556   
    })
 6272   8557   
}
 6273   8558   
 6274   8559   
#[test]
 6275   8560   
fn test_parse_headers() {
 6276   8561   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 6277   8562   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 6278   8563   
    assert_eq!(
 6279   8564   
        httparse::parse_headers(buf, &mut headers),
 6280   8565   
        Ok(httparse::Status::Complete((
 6281   8566   
            56,
 6282   8567   
            &[
 6283   8568   
                httparse::Header {
 6284   8569   
                    name: "Host",
 6285   8570   
                    value: b"example.amazonaws.com",
 6286   8571   
                },
 6287   8572   
                httparse::Header {
 6288   8573   
                    name: "X-Amz-Date",
 6289   8574   
                    value: b"20150830T123600Z",
 6290   8575   
                }
 6291   8576   
            ][..]
 6292   8577   
        )))
 6293   8578   
    );
 6294   8579   
}
 6295   8580   
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
 6296   8581   
index a208453..fc00249 100644
 6297         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        8582  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 6298   8583   
@@ -168,52 +168,54 @@ pub mod signing_params {
 6299   8584   
        );
 6300   8585   
 6301   8586   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 6302   8587   
        /// a required argument was not given.
 6303   8588   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 6304   8589   
            Ok(SigningParams {
 6305   8590   
                identity: self
 6306   8591   
                    .identity
 6307   8592   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 6308   8593   
                region: self
 6309   8594   
                    .region
 6310   8595   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 6311   8596   
                name: self
 6312   8597   
                    .name
 6313   8598   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 6314   8599   
                time: self
 6315   8600   
                    .time
 6316   8601   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 6317   8602   
                settings: self
 6318   8603   
                    .settings
 6319   8604   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 6320   8605   
            })
 6321   8606   
        }
 6322   8607   
    }
 6323   8608   
}
 6324   8609   
 6325   8610   
#[cfg(test)]
 6326   8611   
mod tests {
 6327   8612   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 6328   8613   
    use crate::date_time::test_parsers::parse_date_time;
 6329         -
    use crate::http_request::test;
 6330   8614   
 6331   8615   
    #[test]
 6332   8616   
    fn test_signature_calculation() {
 6333   8617   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 6334         -
        let creq = test::v4::test_canonical_request("iam");
        8618  +
        let creq = r#"AWS4-HMAC-SHA256
        8619  +
20150830T123600Z
        8620  +
20150830/us-east-1/iam/aws4_request
        8621  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 6335   8622   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6336   8623   
 6337   8624   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 6338   8625   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 6339   8626   
 6340   8627   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 6341   8628   
        assert_eq!(expected, &signature);
 6342   8629   
    }
 6343   8630   
 6344   8631   
    #[test]
 6345   8632   
    fn sign_payload_empty_string() {
 6346   8633   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 6347   8634   
        let actual = sha256_hex_string([]);
 6348   8635   
        assert_eq!(expected, actual);
 6349   8636   
    }
 6350   8637   
}
 6351   8638   
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
 6352   8639   
index ce78c38..8c2f591 100644
 6353         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        8640  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 6354   8641   
@@ -1,43 +1,43 @@
 6355   8642   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6356   8643   
[package]
 6357   8644   
name = "aws-smithy-checksums"
 6358   8645   
version = "0.63.5"
 6359   8646   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 6360   8647   
description = "Checksum calculation and verification callbacks"
 6361   8648   
edition = "2021"
 6362   8649   
license = "Apache-2.0"
 6363   8650   
repository = "https://github.com/smithy-lang/smithy-rs"
 6364   8651   
[package.metadata.docs.rs]
 6365   8652   
all-features = true
 6366   8653   
targets = ["x86_64-unknown-linux-gnu"]
 6367   8654   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6368   8655   
rustdoc-args = ["--cfg", "docsrs"]
 6369   8656   
 6370   8657   
[dependencies]
 6371   8658   
bytes = "1.10.0"
 6372   8659   
crc-fast = "1.3.0"
 6373   8660   
hex = "0.4.3"
 6374   8661   
http = "0.2.9"
 6375   8662   
http-body = "0.4.5"
 6376   8663   
md-5 = "0.10"
 6377   8664   
pin-project-lite = "0.2.14"
 6378   8665   
sha1 = "0.10"
 6379   8666   
sha2 = "0.10"
 6380   8667   
tracing = "0.1.40"
 6381   8668   
 6382   8669   
[dependencies.aws-smithy-http]
 6383   8670   
path = "../aws-smithy-http"
 6384         -
version = "0.62.2"
        8671  +
version = "0.62.3"
 6385   8672   
 6386   8673   
[dependencies.aws-smithy-types]
 6387   8674   
path = "../aws-smithy-types"
 6388   8675   
version = "1.3.2"
 6389   8676   
 6390   8677   
[dev-dependencies]
 6391   8678   
bytes-utils = "0.1.2"
 6392   8679   
pretty_assertions = "1.3"
 6393   8680   
tracing-test = "0.2.1"
 6394   8681   
 6395   8682   
[dev-dependencies.tokio]
 6396   8683   
version = "1.23.1"
 6397   8684   
features = ["macros", "rt"]
 6398   8685   
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
 6399   8686   
index 970c99e..d3c7a49 100644
 6400         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        8687  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 6401   8688   
@@ -1,34 +1,34 @@
 6402   8689   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6403   8690   
[package]
 6404   8691   
name = "aws-smithy-http"
 6405         -
version = "0.62.2"
        8692  +
version = "0.62.3"
 6406   8693   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6407   8694   
description = "Smithy HTTP logic for smithy-rs."
 6408   8695   
edition = "2021"
 6409   8696   
license = "Apache-2.0"
 6410   8697   
repository = "https://github.com/smithy-lang/smithy-rs"
 6411   8698   
[package.metadata.docs.rs]
 6412   8699   
all-features = true
 6413   8700   
targets = ["x86_64-unknown-linux-gnu"]
 6414   8701   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6415   8702   
rustdoc-args = ["--cfg", "docsrs"]
 6416   8703   
 6417   8704   
[features]
 6418   8705   
event-stream = ["aws-smithy-eventstream"]
 6419   8706   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 6420   8707   
 6421   8708   
[dependencies]
 6422   8709   
bytes = "1.10.0"
 6423   8710   
bytes-utils = "0.1"
 6424   8711   
percent-encoding = "2.3.1"
 6425   8712   
pin-project-lite = "0.2.14"
 6426   8713   
pin-utils = "0.1.0"
 6427   8714   
tracing = "0.1.40"
 6428   8715   
futures-core = "0.3.31"
 6429   8716   
 6430   8717   
[dependencies.aws-smithy-eventstream]
 6431   8718   
path = "../aws-smithy-eventstream"
 6432   8719   
optional = true
 6433   8720   
version = "0.60.10"
 6434   8721   
 6435   8722   
[dependencies.aws-smithy-runtime-api]
 6436   8723   
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
 6437   8724   
index 508f7a2..361545e 100644
 6438         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        8725  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 6439   8726   
@@ -1,27 +1,27 @@
 6440   8727   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6441   8728   
[[bin]]
 6442   8729   
name = "read_many_from_str"
 6443   8730   
path = "fuzz_targets/read_many_from_str.rs"
 6444   8731   
test = false
 6445   8732   
doc = false
 6446   8733   
 6447   8734   
[package]
 6448   8735   
name = "aws-smithy-http-fuzz"
 6449   8736   
version = "0.0.0"
 6450   8737   
authors = ["Automatically generated"]
 6451   8738   
publish = false
 6452   8739   
edition = "2021"
 6453   8740   
 6454   8741   
[package.metadata]
 6455   8742   
cargo-fuzz = true
 6456   8743   
 6457   8744   
[dependencies]
 6458   8745   
libfuzzer-sys = "=0.4.7"
 6459   8746   
http = "0.2.3"
 6460   8747   
 6461   8748   
[dependencies.aws-smithy-http]
 6462   8749   
path = ".."
 6463         -
version = "0.62.2"
        8750  +
version = "0.62.3"
 6464   8751   
 6465   8752   
[workspace]
 6466   8753   
members = ["."]
 6467   8754   
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
 6468   8755   
index fef41d0..2792229 100644
 6469         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        8756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 6470   8757   
@@ -25,68 +25,74 @@ impl QueryWriter {
 6471   8758   
    pub fn new(uri: &Uri) -> Self {
 6472   8759   
        let new_path_and_query = uri
 6473   8760   
            .path_and_query()
 6474   8761   
            .map(|pq| pq.to_string())
 6475   8762   
            .unwrap_or_default();
 6476   8763   
        let prefix = if uri.query().is_none() {
 6477   8764   
            Some('?')
 6478   8765   
        } else if !uri.query().unwrap_or_default().is_empty() {
 6479   8766   
            Some('&')
 6480   8767   
        } else {
 6481   8768   
            None
 6482   8769   
        };
 6483   8770   
        QueryWriter {
 6484   8771   
            base_uri: uri.clone(),
 6485   8772   
            new_path_and_query,
 6486   8773   
            prefix,
 6487   8774   
        }
 6488   8775   
    }
 6489   8776   
 6490   8777   
    /// Clears all query parameters.
 6491   8778   
    pub fn clear_params(&mut self) {
 6492   8779   
        if let Some(index) = self.new_path_and_query.find('?') {
 6493   8780   
            self.new_path_and_query.truncate(index);
 6494   8781   
            self.prefix = Some('?');
 6495   8782   
        }
 6496   8783   
    }
 6497   8784   
 6498   8785   
    /// Inserts a new query parameter. The key and value are percent encoded
 6499   8786   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 6500   8787   
    pub fn insert(&mut self, k: &str, v: &str) {
        8788  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        8789  +
    }
        8790  +
    
        8791  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        8792  +
    /// as is.
        8793  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 6501   8794   
        if let Some(prefix) = self.prefix {
 6502   8795   
            self.new_path_and_query.push(prefix);
 6503   8796   
        }
 6504   8797   
        self.prefix = Some('&');
 6505         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        8798  +
        self.new_path_and_query.push_str(encoded_k);
 6506   8799   
        self.new_path_and_query.push('=');
        8800  +
        self.new_path_and_query.push_str(encoded_v)
 6507   8801   
        
 6508         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
 6509   8802   
    }
 6510   8803   
 6511   8804   
    /// Returns just the built query string.
 6512   8805   
    pub fn build_query(self) -> String {
 6513   8806   
        self.build_uri().query().unwrap_or_default().to_string()
 6514   8807   
    }
 6515   8808   
 6516   8809   
    /// Returns a full [`Uri`] with the query string updated.
 6517   8810   
    pub fn build_uri(self) -> Uri {
 6518   8811   
        let mut parts = self.base_uri.into_parts();
 6519   8812   
        parts.path_and_query = Some(
 6520   8813   
            self.new_path_and_query
 6521   8814   
                .parse()
 6522   8815   
                .expect("adding query should not invalidate URI"),
 6523   8816   
        );
 6524   8817   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 6525   8818   
    }
 6526   8819   
}
 6527   8820   
 6528   8821   
#[cfg(test)]
 6529   8822   
mod test {
 6530   8823   
    use super::QueryWriter;
 6531   8824   
    use http_02x::Uri;
 6532   8825   
 6533   8826   
    #[test]
 6534   8827   
    fn empty_uri() {
 6535   8828   
        let uri = Uri::from_static("http://www.example.com");
 6536   8829   
        let mut query_writer = QueryWriter::new(&uri);
 6537   8830   
        query_writer.insert("key", "val%ue");
 6538   8831   
        query_writer.insert("another", "value");
 6539   8832   
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
 6540   8833   
index f108978..df7a9fe 100644
 6541         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
        8834  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 6542   8835   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 6543   8836   
 6544   8837   
[package.metadata.smithy-rs-release-tooling]
 6545   8838   
stable = true
 6546   8839   
[package.metadata.cargo-udeps.ignore]
 6547   8840   
normal = ["aws-smithy-http"]
 6548   8841   
 6549   8842   
[features]
 6550   8843   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 6551   8844   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 6552   8845   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 6553   8846   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 6554   8847   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 6555   8848   
rt-tokio = ["tokio/rt"]
 6556   8849   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 6557   8850   
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"]
 6558   8851   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 6559   8852   
 6560   8853   
[dependencies]
 6561   8854   
bytes = "1.10.0"
 6562   8855   
fastrand = "2.3.0"
 6563   8856   
pin-project-lite = "0.2.14"
 6564   8857   
pin-utils = "0.1.0"
 6565   8858   
tracing = "0.1.40"
 6566   8859   
 6567   8860   
[dependencies.aws-smithy-async]
 6568   8861   
path = "../aws-smithy-async"
 6569   8862   
version = "1.2.5"
 6570   8863   
 6571   8864   
[dependencies.aws-smithy-http]
 6572   8865   
path = "../aws-smithy-http"
 6573         -
version = "0.62.2"
        8866  +
version = "0.62.3"
 6574   8867   
 6575   8868   
[dependencies.aws-smithy-observability]
 6576   8869   
path = "../aws-smithy-observability"
 6577   8870   
version = "0.1.3"
 6578   8871   
 6579   8872   
[dependencies.aws-smithy-runtime-api]
 6580   8873   
path = "../aws-smithy-runtime-api"
 6581   8874   
version = "1.8.5"
 6582   8875   
 6583   8876   
[dependencies.aws-smithy-types]
 6584   8877   
path = "../aws-smithy-types"
 6585   8878   
features = ["http-body-0-4-x"]
 6586   8879   
version = "1.3.2"
 6587   8880   
 6588   8881   
[dependencies.aws-smithy-http-client]
 6589   8882   
path = "../aws-smithy-http-client"
 6590   8883   
optional = true
 6591   8884   
version = "1.0.6"
 6592   8885   
 6593   8886   
[dependencies.http-02x]
 6594   8887   
package = "http"
 6595   8888   
version = "0.2.9"
 6596   8889   
 6597   8890   
[dependencies.http-1x]
 6598   8891   
package = "http"
 6599   8892   
version = "1"
 6600   8893   
 6601   8894   
[dependencies.http-body-04x]
 6602   8895   
package = "http-body"
 6603   8896   
version = "0.4.5"
 6604   8897   
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
 6605   8898   
index 4e050c6..f58eb1c 100644
 6606         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
        8899  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 6607   8900   
@@ -1,33 +1,33 @@
 6608   8901   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6609   8902   
[package]
 6610   8903   
name = "aws-smithy-wasm"
 6611   8904   
version = "0.1.4"
 6612   8905   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 6613   8906   
description = "Smithy WebAssembly configuration for smithy-rs."
 6614   8907   
edition = "2021"
 6615   8908   
license = "Apache-2.0"
 6616   8909   
repository = "https://github.com/awslabs/smithy-rs"
 6617   8910   
[package.metadata.docs.rs]
 6618   8911   
all-features = true
 6619   8912   
targets = ["x86_64-unknown-linux-gnu"]
 6620   8913   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6621   8914   
rustdoc-args = ["--cfg", "docsrs"]
 6622   8915   
 6623   8916   
[dependencies]
 6624   8917   
bytes = "1.10.0"
 6625   8918   
http = "1.0.0"
 6626   8919   
tracing = "0.1.40"
 6627   8920   
wasi = "0.12.1"
 6628   8921   
 6629   8922   
[dependencies.aws-smithy-runtime-api]
 6630   8923   
path = "../aws-smithy-runtime-api"
 6631   8924   
features = ["http-1x"]
 6632   8925   
version = "1.8.5"
 6633   8926   
 6634   8927   
[dependencies.aws-smithy-http]
 6635   8928   
path = "../aws-smithy-http"
 6636         -
version = "0.62.2"
        8929  +
version = "0.62.3"
 6637   8930   
 6638   8931   
[dependencies.aws-smithy-types]
 6639   8932   
path = "../aws-smithy-types"
 6640   8933   
version = "1.3.2"
 6641   8934   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6642   8935   
index a880648..139e808 100644
 6643         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
        8936  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6644   8937   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 6645   8938   
edition = "2021"
 6646   8939   
license = "Apache-2.0"
 6647   8940   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6648   8941   
rust-version = "1.86.0"
 6649   8942   
readme = "README.md"
 6650   8943   
[package.metadata.smithy]
 6651   8944   
codegen-version = "ci"
 6652   8945   
[package.metadata.docs.rs]
 6653   8946   
all-features = true
 6654   8947   
targets = ["x86_64-unknown-linux-gnu"]
 6655   8948   
[dependencies.aws-credential-types]
 6656   8949   
path = "../aws-credential-types"
 6657   8950   
version = "1.2.4"
 6658   8951   
 6659   8952   
[dependencies.aws-runtime]
 6660   8953   
path = "../aws-runtime"
 6661   8954   
features = ["event-stream"]
 6662   8955   
version = "1.5.9"
 6663   8956   
 6664   8957   
[dependencies.aws-smithy-async]
 6665   8958   
path = "../aws-smithy-async"
 6666   8959   
version = "1.2.5"
 6667   8960   
 6668   8961   
[dependencies.aws-smithy-eventstream]
 6669   8962   
path = "../aws-smithy-eventstream"
 6670   8963   
version = "0.60.10"
 6671   8964   
 6672   8965   
[dependencies.aws-smithy-http]
 6673   8966   
path = "../aws-smithy-http"
 6674   8967   
features = ["event-stream"]
 6675         -
version = "0.62.2"
        8968  +
version = "0.62.3"
 6676   8969   
 6677   8970   
[dependencies.aws-smithy-json]
 6678   8971   
path = "../aws-smithy-json"
 6679   8972   
version = "0.61.4"
 6680   8973   
 6681   8974   
[dependencies.aws-smithy-runtime]
 6682   8975   
path = "../aws-smithy-runtime"
 6683   8976   
features = ["client"]
 6684   8977   
version = "1.8.5"
 6685   8978   
 6686   8979   
[dependencies.aws-smithy-runtime-api]
 6687   8980   
path = "../aws-smithy-runtime-api"
 6688   8981   
features = ["client", "http-02x"]
 6689   8982   
version = "1.8.5"
 6690   8983   
 6691   8984   
[dependencies.aws-smithy-types]
 6692   8985   
path = "../aws-smithy-types"
 6693   8986   
version = "1.3.2"
 6694   8987   
 6695   8988   
[dependencies.aws-types]
 6696   8989   
path = "../aws-types"
 6697   8990   
version = "1.3.8"
 6698   8991   
 6699   8992   
[dependencies.bytes]
 6700   8993   
version = "1.4.0"
 6701   8994   
 6702   8995   
[dependencies.fastrand]
 6703   8996   
version = "2.0.0"
 6704   8997   
 6705   8998   
[dependencies.http]
 6706   8999   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6707   9000   
index 415ecc9..667d12b 100644
 6708         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
        9001  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6709   9002   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 6710   9003   
edition = "2021"
 6711   9004   
license = "Apache-2.0"
 6712   9005   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6713   9006   
rust-version = "1.86.0"
 6714   9007   
readme = "README.md"
 6715   9008   
[package.metadata.smithy]
 6716   9009   
codegen-version = "ci"
 6717   9010   
[package.metadata.docs.rs]
 6718   9011   
all-features = true
 6719   9012   
targets = ["x86_64-unknown-linux-gnu"]
 6720   9013   
[dependencies.aws-credential-types]
 6721   9014   
path = "../aws-credential-types"
 6722   9015   
version = "1.2.4"
 6723   9016   
 6724   9017   
[dependencies.aws-runtime]
 6725   9018   
path = "../aws-runtime"
 6726   9019   
features = ["event-stream"]
 6727   9020   
version = "1.5.9"
 6728   9021   
 6729   9022   
[dependencies.aws-smithy-async]
 6730   9023   
path = "../aws-smithy-async"
 6731   9024   
version = "1.2.5"
 6732   9025   
 6733   9026   
[dependencies.aws-smithy-eventstream]
 6734   9027   
path = "../aws-smithy-eventstream"
 6735   9028   
version = "0.60.10"
 6736   9029   
 6737   9030   
[dependencies.aws-smithy-http]
 6738   9031   
path = "../aws-smithy-http"
 6739   9032   
features = ["event-stream"]
 6740         -
version = "0.62.2"
        9033  +
version = "0.62.3"
 6741   9034   
 6742   9035   
[dependencies.aws-smithy-json]
 6743   9036   
path = "../aws-smithy-json"
 6744   9037   
version = "0.61.4"
 6745   9038   
 6746   9039   
[dependencies.aws-smithy-runtime]
 6747   9040   
path = "../aws-smithy-runtime"
 6748   9041   
features = ["client"]
 6749   9042   
version = "1.8.5"
 6750   9043   
 6751   9044   
[dependencies.aws-smithy-runtime-api]
 6752   9045   
path = "../aws-smithy-runtime-api"
 6753   9046   
features = ["client", "http-02x"]
 6754   9047   
version = "1.8.5"
 6755   9048   
 6756   9049   
[dependencies.aws-smithy-types]
 6757   9050   
path = "../aws-smithy-types"
 6758   9051   
version = "1.3.2"
 6759   9052   
 6760   9053   
[dependencies.aws-types]
 6761   9054   
path = "../aws-types"
 6762   9055   
version = "1.3.8"
 6763   9056   
 6764   9057   
[dependencies.bytes]
 6765   9058   
version = "1.4.0"
 6766   9059   
 6767   9060   
[dependencies.fastrand]
 6768   9061   
version = "2.0.0"
 6769   9062   
 6770   9063   
[dependencies.http]
 6771   9064   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6772   9065   
index 8871cab..ed88de6 100644
 6773         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
        9066  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6774   9067   
@@ -1,61 +1,61 @@
 6775   9068   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6776   9069   
[package]
 6777   9070   
name = "aws-sdk-codecatalyst"
 6778   9071   
version = "0.0.0-local"
 6779   9072   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6780   9073   
description = "AWS SDK for Amazon CodeCatalyst"
 6781   9074   
edition = "2021"
 6782   9075   
license = "Apache-2.0"
 6783   9076   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6784   9077   
rust-version = "1.86.0"
 6785   9078   
readme = "README.md"
 6786   9079   
[package.metadata.smithy]
 6787   9080   
codegen-version = "ci"
 6788   9081   
[package.metadata.docs.rs]
 6789   9082   
all-features = true
 6790   9083   
targets = ["x86_64-unknown-linux-gnu"]
 6791   9084   
[dependencies.aws-credential-types]
 6792   9085   
path = "../aws-credential-types"
 6793   9086   
version = "1.2.4"
 6794   9087   
 6795   9088   
[dependencies.aws-runtime]
 6796   9089   
path = "../aws-runtime"
 6797   9090   
version = "1.5.9"
 6798   9091   
 6799   9092   
[dependencies.aws-smithy-async]
 6800   9093   
path = "../aws-smithy-async"
 6801   9094   
version = "1.2.5"
 6802   9095   
 6803   9096   
[dependencies.aws-smithy-http]
 6804   9097   
path = "../aws-smithy-http"
 6805         -
version = "0.62.2"
        9098  +
version = "0.62.3"
 6806   9099   
 6807   9100   
[dependencies.aws-smithy-json]
 6808   9101   
path = "../aws-smithy-json"
 6809   9102   
version = "0.61.4"
 6810   9103   
 6811   9104   
[dependencies.aws-smithy-runtime]
 6812   9105   
path = "../aws-smithy-runtime"
 6813   9106   
features = ["client", "http-auth"]
 6814   9107   
version = "1.8.5"
 6815   9108   
 6816   9109   
[dependencies.aws-smithy-runtime-api]
 6817   9110   
path = "../aws-smithy-runtime-api"
 6818   9111   
features = ["client", "http-02x", "http-auth"]
 6819   9112   
version = "1.8.5"
 6820   9113   
 6821   9114   
[dependencies.aws-smithy-types]
 6822   9115   
path = "../aws-smithy-types"
 6823   9116   
version = "1.3.2"
 6824   9117   
 6825   9118   
[dependencies.aws-types]
 6826   9119   
path = "../aws-types"
 6827   9120   
version = "1.3.8"
 6828   9121   
 6829   9122   
[dependencies.bytes]
 6830   9123   
version = "1.4.0"
 6831   9124   
 6832   9125   
[dependencies.fastrand]
 6833   9126   
version = "2.0.0"
 6834   9127   
 6835   9128   
[dependencies.http]
 6836   9129   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6837   9130   
index 89573ff..05238af 100644
 6838         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
        9131  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6839   9132   
@@ -1,61 +1,61 @@
 6840   9133   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6841   9134   
[package]
 6842   9135   
name = "aws-sdk-config"
 6843   9136   
version = "0.0.0-local"
 6844   9137   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6845   9138   
description = "AWS SDK for AWS Config"
 6846   9139   
edition = "2021"
 6847   9140   
license = "Apache-2.0"
 6848   9141   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6849   9142   
rust-version = "1.86.0"
 6850   9143   
readme = "README.md"
 6851   9144   
[package.metadata.smithy]
 6852   9145   
codegen-version = "ci"
 6853   9146   
[package.metadata.docs.rs]
 6854   9147   
all-features = true
 6855   9148   
targets = ["x86_64-unknown-linux-gnu"]
 6856   9149   
[dependencies.aws-credential-types]
 6857   9150   
path = "../aws-credential-types"
 6858   9151   
version = "1.2.4"
 6859   9152   
 6860   9153   
[dependencies.aws-runtime]
 6861   9154   
path = "../aws-runtime"
 6862   9155   
version = "1.5.9"
 6863   9156   
 6864   9157   
[dependencies.aws-smithy-async]
 6865   9158   
path = "../aws-smithy-async"
 6866   9159   
version = "1.2.5"
 6867   9160   
 6868   9161   
[dependencies.aws-smithy-http]
 6869   9162   
path = "../aws-smithy-http"
 6870         -
version = "0.62.2"
        9163  +
version = "0.62.3"
 6871   9164   
 6872   9165   
[dependencies.aws-smithy-json]
 6873   9166   
path = "../aws-smithy-json"
 6874   9167   
version = "0.61.4"
 6875   9168   
 6876   9169   
[dependencies.aws-smithy-runtime]
 6877   9170   
path = "../aws-smithy-runtime"
 6878   9171   
features = ["client"]
 6879   9172   
version = "1.8.5"
 6880   9173   
 6881   9174   
[dependencies.aws-smithy-runtime-api]
 6882   9175   
path = "../aws-smithy-runtime-api"
 6883   9176   
features = ["client", "http-02x"]
 6884   9177   
version = "1.8.5"
 6885   9178   
 6886   9179   
[dependencies.aws-smithy-types]
 6887   9180   
path = "../aws-smithy-types"
 6888   9181   
version = "1.3.2"
 6889   9182   
 6890   9183   
[dependencies.aws-types]
 6891   9184   
path = "../aws-types"
 6892   9185   
version = "1.3.8"
 6893   9186   
 6894   9187   
[dependencies.bytes]
 6895   9188   
version = "1.4.0"
 6896   9189   
 6897   9190   
[dependencies.fastrand]
 6898   9191   
version = "2.0.0"
 6899   9192   
 6900   9193   
[dependencies.http]
 6901   9194   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 6902   9195   
index d397c58..2c1062b 100644
 6903         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
        9196  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 6904   9197   
@@ -1,61 +1,61 @@
 6905   9198   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6906   9199   
[package]
 6907   9200   
name = "aws-sdk-dynamodb"
 6908   9201   
version = "0.0.0-local"
 6909   9202   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6910   9203   
description = "AWS SDK for Amazon DynamoDB"
 6911   9204   
edition = "2021"
 6912   9205   
license = "Apache-2.0"
 6913   9206   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6914   9207   
rust-version = "1.86.0"
 6915   9208   
readme = "README.md"
 6916   9209   
[package.metadata.smithy]
 6917   9210   
codegen-version = "ci"
 6918   9211   
[package.metadata.docs.rs]
 6919   9212   
all-features = true
 6920   9213   
targets = ["x86_64-unknown-linux-gnu"]
 6921   9214   
[dependencies.aws-credential-types]
 6922   9215   
path = "../aws-credential-types"
 6923   9216   
version = "1.2.4"
 6924   9217   
 6925   9218   
[dependencies.aws-runtime]
 6926   9219   
path = "../aws-runtime"
 6927   9220   
version = "1.5.9"
 6928   9221   
 6929   9222   
[dependencies.aws-smithy-async]
 6930   9223   
path = "../aws-smithy-async"
 6931   9224   
version = "1.2.5"
 6932   9225   
 6933   9226   
[dependencies.aws-smithy-http]
 6934   9227   
path = "../aws-smithy-http"
 6935         -
version = "0.62.2"
        9228  +
version = "0.62.3"
 6936   9229   
 6937   9230   
[dependencies.aws-smithy-json]
 6938   9231   
path = "../aws-smithy-json"
 6939   9232   
version = "0.61.4"
 6940   9233   
 6941   9234   
[dependencies.aws-smithy-runtime]
 6942   9235   
path = "../aws-smithy-runtime"
 6943   9236   
features = ["client"]
 6944   9237   
version = "1.8.5"
 6945   9238   
 6946   9239   
[dependencies.aws-smithy-runtime-api]
 6947   9240   
path = "../aws-smithy-runtime-api"
 6948   9241   
features = ["client", "http-02x"]
 6949   9242   
version = "1.8.5"
 6950   9243   
 6951   9244   
[dependencies.aws-smithy-types]
 6952   9245   
path = "../aws-smithy-types"
 6953   9246   
version = "1.3.2"
 6954   9247   
 6955   9248   
[dependencies.aws-types]
 6956   9249   
path = "../aws-types"
 6957   9250   
version = "1.3.8"
 6958   9251   
 6959   9252   
[dependencies.bytes]
 6960   9253   
version = "1.4.0"
 6961   9254   
 6962   9255   
[dependencies.fastrand]
 6963   9256   
version = "2.0.0"
 6964   9257   
 6965   9258   
[dependencies.http]
 6966   9259   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 6967   9260   
index c0ba315..46168af 100644
 6968         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
        9261  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 6969   9262   
@@ -1,61 +1,61 @@
 6970   9263   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6971   9264   
[package]
 6972   9265   
name = "aws-sdk-ec2"
 6973   9266   
version = "0.0.0-local"
 6974   9267   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6975   9268   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 6976   9269   
edition = "2021"
 6977   9270   
license = "Apache-2.0"
 6978   9271   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6979   9272   
rust-version = "1.86.0"
 6980   9273   
readme = "README.md"
 6981   9274   
[package.metadata.smithy]
 6982   9275   
codegen-version = "ci"
 6983   9276   
[package.metadata.docs.rs]
 6984   9277   
all-features = true
 6985   9278   
targets = ["x86_64-unknown-linux-gnu"]
 6986   9279   
[dependencies.aws-credential-types]
 6987   9280   
path = "../aws-credential-types"
 6988   9281   
version = "1.2.4"
 6989   9282   
 6990   9283   
[dependencies.aws-runtime]
 6991   9284   
path = "../aws-runtime"
 6992   9285   
version = "1.5.9"
 6993   9286   
 6994   9287   
[dependencies.aws-smithy-async]
 6995   9288   
path = "../aws-smithy-async"
 6996   9289   
version = "1.2.5"
 6997   9290   
 6998   9291   
[dependencies.aws-smithy-http]
 6999   9292   
path = "../aws-smithy-http"
 7000         -
version = "0.62.2"
        9293  +
version = "0.62.3"
 7001   9294   
 7002   9295   
[dependencies.aws-smithy-json]
 7003   9296   
path = "../aws-smithy-json"
 7004   9297   
version = "0.61.4"
 7005   9298   
 7006   9299   
[dependencies.aws-smithy-query]
 7007   9300   
path = "../aws-smithy-query"
 7008   9301   
version = "0.60.7"
 7009   9302   
 7010   9303   
[dependencies.aws-smithy-runtime]
 7011   9304   
path = "../aws-smithy-runtime"
 7012   9305   
features = ["client"]
 7013   9306   
version = "1.8.5"
 7014   9307   
 7015   9308   
[dependencies.aws-smithy-runtime-api]
 7016   9309   
path = "../aws-smithy-runtime-api"
 7017   9310   
features = ["client", "http-02x"]
 7018   9311   
version = "1.8.5"
 7019   9312   
 7020   9313   
[dependencies.aws-smithy-types]
 7021   9314   
path = "../aws-smithy-types"
 7022   9315   
version = "1.3.2"
 7023   9316   
 7024   9317   
[dependencies.aws-smithy-xml]
 7025   9318   
path = "../aws-smithy-xml"
 7026   9319   
version = "0.60.10"
 7027   9320   
 7028   9321   
[dependencies.aws-types]
 7029   9322   
path = "../aws-types"
 7030   9323   
version = "1.3.8"
 7031   9324   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7032   9325   
index 4474d17..095d40e 100644
 7033         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
        9326  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7034   9327   
@@ -1,61 +1,61 @@
 7035   9328   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7036   9329   
[package]
 7037   9330   
name = "aws-sdk-ecs"
 7038   9331   
version = "0.0.0-local"
 7039   9332   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7040   9333   
description = "AWS SDK for Amazon EC2 Container Service"
 7041   9334   
edition = "2021"
 7042   9335   
license = "Apache-2.0"
 7043   9336   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7044   9337   
rust-version = "1.86.0"
 7045   9338   
readme = "README.md"
 7046   9339   
[package.metadata.smithy]
 7047   9340   
codegen-version = "ci"
 7048   9341   
[package.metadata.docs.rs]
 7049   9342   
all-features = true
 7050   9343   
targets = ["x86_64-unknown-linux-gnu"]
 7051   9344   
[dependencies.aws-credential-types]
 7052   9345   
path = "../aws-credential-types"
 7053   9346   
version = "1.2.4"
 7054   9347   
 7055   9348   
[dependencies.aws-runtime]
 7056   9349   
path = "../aws-runtime"
 7057   9350   
version = "1.5.9"
 7058   9351   
 7059   9352   
[dependencies.aws-smithy-async]
 7060   9353   
path = "../aws-smithy-async"
 7061   9354   
version = "1.2.5"
 7062   9355   
 7063   9356   
[dependencies.aws-smithy-http]
 7064   9357   
path = "../aws-smithy-http"
 7065         -
version = "0.62.2"
        9358  +
version = "0.62.3"
 7066   9359   
 7067   9360   
[dependencies.aws-smithy-json]
 7068   9361   
path = "../aws-smithy-json"
 7069   9362   
version = "0.61.4"
 7070   9363   
 7071   9364   
[dependencies.aws-smithy-runtime]
 7072   9365   
path = "../aws-smithy-runtime"
 7073   9366   
features = ["client"]
 7074   9367   
version = "1.8.5"
 7075   9368   
 7076   9369   
[dependencies.aws-smithy-runtime-api]
 7077   9370   
path = "../aws-smithy-runtime-api"
 7078   9371   
features = ["client", "http-02x"]
 7079   9372   
version = "1.8.5"
 7080   9373   
 7081   9374   
[dependencies.aws-smithy-types]
 7082   9375   
path = "../aws-smithy-types"
 7083   9376   
version = "1.3.2"
 7084   9377   
 7085   9378   
[dependencies.aws-types]
 7086   9379   
path = "../aws-types"
 7087   9380   
version = "1.3.8"
 7088   9381   
 7089   9382   
[dependencies.bytes]
 7090   9383   
version = "1.4.0"
 7091   9384   
 7092   9385   
[dependencies.fastrand]
 7093   9386   
version = "2.0.0"
 7094   9387   
 7095   9388   
[dependencies.http]
 7096   9389   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7097   9390   
index 15b1d77..16d7d89 100644
 7098         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
        9391  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7099   9392   
@@ -1,65 +1,65 @@
 7100   9393   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7101   9394   
[package]
 7102   9395   
name = "aws-sdk-glacier"
 7103   9396   
version = "0.0.0-local"
 7104   9397   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7105   9398   
description = "AWS SDK for Amazon Glacier"
 7106   9399   
edition = "2021"
 7107   9400   
license = "Apache-2.0"
 7108   9401   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7109   9402   
rust-version = "1.86.0"
 7110   9403   
readme = "README.md"
 7111   9404   
[package.metadata.smithy]
 7112   9405   
codegen-version = "ci"
 7113   9406   
[package.metadata.docs.rs]
 7114   9407   
all-features = true
 7115   9408   
targets = ["x86_64-unknown-linux-gnu"]
 7116   9409   
[dependencies.aws-credential-types]
 7117   9410   
path = "../aws-credential-types"
 7118   9411   
version = "1.2.4"
 7119   9412   
 7120   9413   
[dependencies.aws-runtime]
 7121   9414   
path = "../aws-runtime"
 7122   9415   
version = "1.5.9"
 7123   9416   
 7124   9417   
[dependencies.aws-sigv4]
 7125   9418   
path = "../aws-sigv4"
 7126         -
version = "1.3.3"
        9419  +
version = "1.3.4"
 7127   9420   
 7128   9421   
[dependencies.aws-smithy-async]
 7129   9422   
path = "../aws-smithy-async"
 7130   9423   
version = "1.2.5"
 7131   9424   
 7132   9425   
[dependencies.aws-smithy-http]
 7133   9426   
path = "../aws-smithy-http"
 7134         -
version = "0.62.2"
        9427  +
version = "0.62.3"
 7135   9428   
 7136   9429   
[dependencies.aws-smithy-json]
 7137   9430   
path = "../aws-smithy-json"
 7138   9431   
version = "0.61.4"
 7139   9432   
 7140   9433   
[dependencies.aws-smithy-runtime]
 7141   9434   
path = "../aws-smithy-runtime"
 7142   9435   
features = ["client"]
 7143   9436   
version = "1.8.5"
 7144   9437   
 7145   9438   
[dependencies.aws-smithy-runtime-api]
 7146   9439   
path = "../aws-smithy-runtime-api"
 7147   9440   
features = ["client", "http-02x"]
 7148   9441   
version = "1.8.5"
 7149   9442   
 7150   9443   
[dependencies.aws-smithy-types]
 7151   9444   
path = "../aws-smithy-types"
 7152   9445   
version = "1.3.2"
 7153   9446   
 7154   9447   
[dependencies.aws-types]
 7155   9448   
path = "../aws-types"
 7156   9449   
version = "1.3.8"
 7157   9450   
 7158   9451   
[dependencies.bytes]
 7159   9452   
version = "1.4.0"
 7160   9453   
 7161   9454   
[dependencies.fastrand]
 7162   9455   
version = "2.0.0"
 7163   9456   
 7164   9457   
[dependencies.hex]
 7165   9458   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7166   9459   
index d718a3a..65e6f24 100644
 7167         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
        9460  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7168   9461   
@@ -1,61 +1,61 @@
 7169   9462   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7170   9463   
[package]
 7171   9464   
name = "aws-sdk-iam"
 7172   9465   
version = "0.0.0-local"
 7173   9466   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7174   9467   
description = "AWS SDK for AWS Identity and Access Management"
 7175   9468   
edition = "2021"
 7176   9469   
license = "Apache-2.0"
 7177   9470   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7178   9471   
rust-version = "1.86.0"
 7179   9472   
readme = "README.md"
 7180   9473   
[package.metadata.smithy]
 7181   9474   
codegen-version = "ci"
 7182   9475   
[package.metadata.docs.rs]
 7183   9476   
all-features = true
 7184   9477   
targets = ["x86_64-unknown-linux-gnu"]
 7185   9478   
[dependencies.aws-credential-types]
 7186   9479   
path = "../aws-credential-types"
 7187   9480   
version = "1.2.4"
 7188   9481   
 7189   9482   
[dependencies.aws-runtime]
 7190   9483   
path = "../aws-runtime"
 7191   9484   
version = "1.5.9"
 7192   9485   
 7193   9486   
[dependencies.aws-smithy-async]
 7194   9487   
path = "../aws-smithy-async"
 7195   9488   
version = "1.2.5"
 7196   9489   
 7197   9490   
[dependencies.aws-smithy-http]
 7198   9491   
path = "../aws-smithy-http"
 7199         -
version = "0.62.2"
        9492  +
version = "0.62.3"
 7200   9493   
 7201   9494   
[dependencies.aws-smithy-json]
 7202   9495   
path = "../aws-smithy-json"
 7203   9496   
version = "0.61.4"
 7204   9497   
 7205   9498   
[dependencies.aws-smithy-query]
 7206   9499   
path = "../aws-smithy-query"
 7207   9500   
version = "0.60.7"
 7208   9501   
 7209   9502   
[dependencies.aws-smithy-runtime]
 7210   9503   
path = "../aws-smithy-runtime"
 7211   9504   
features = ["client"]
 7212   9505   
version = "1.8.5"
 7213   9506   
 7214   9507   
[dependencies.aws-smithy-runtime-api]
 7215   9508   
path = "../aws-smithy-runtime-api"
 7216   9509   
features = ["client", "http-02x"]
 7217   9510   
version = "1.8.5"
 7218   9511   
 7219   9512   
[dependencies.aws-smithy-types]
 7220   9513   
path = "../aws-smithy-types"
 7221   9514   
version = "1.3.2"
 7222   9515   
 7223   9516   
[dependencies.aws-smithy-xml]
 7224   9517   
path = "../aws-smithy-xml"
 7225   9518   
version = "0.60.10"
 7226   9519   
 7227   9520   
[dependencies.aws-types]
 7228   9521   
path = "../aws-types"
 7229   9522   
version = "1.3.8"
 7230   9523   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7231   9524   
index 0ed4302..3d828a5 100644
 7232         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
        9525  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7233   9526   
@@ -1,61 +1,61 @@
 7234   9527   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7235   9528   
[package]
 7236   9529   
name = "aws-sdk-kms"
 7237   9530   
version = "0.0.0-local"
 7238   9531   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7239   9532   
description = "AWS SDK for AWS Key Management Service"
 7240   9533   
edition = "2021"
 7241   9534   
license = "Apache-2.0"
 7242   9535   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7243   9536   
rust-version = "1.86.0"
 7244   9537   
readme = "README.md"
 7245   9538   
[package.metadata.smithy]
 7246   9539   
codegen-version = "ci"
 7247   9540   
[package.metadata.docs.rs]
 7248   9541   
all-features = true
 7249   9542   
targets = ["x86_64-unknown-linux-gnu"]
 7250   9543   
[dependencies.aws-credential-types]
 7251   9544   
path = "../aws-credential-types"
 7252   9545   
version = "1.2.4"
 7253   9546   
 7254   9547   
[dependencies.aws-runtime]
 7255   9548   
path = "../aws-runtime"
 7256   9549   
version = "1.5.9"
 7257   9550   
 7258   9551   
[dependencies.aws-smithy-async]
 7259   9552   
path = "../aws-smithy-async"
 7260   9553   
version = "1.2.5"
 7261   9554   
 7262   9555   
[dependencies.aws-smithy-http]
 7263   9556   
path = "../aws-smithy-http"
 7264         -
version = "0.62.2"
        9557  +
version = "0.62.3"
 7265   9558   
 7266   9559   
[dependencies.aws-smithy-json]
 7267   9560   
path = "../aws-smithy-json"
 7268   9561   
version = "0.61.4"
 7269   9562   
 7270   9563   
[dependencies.aws-smithy-runtime]
 7271   9564   
path = "../aws-smithy-runtime"
 7272   9565   
features = ["client"]
 7273   9566   
version = "1.8.5"
 7274   9567   
 7275   9568   
[dependencies.aws-smithy-runtime-api]
 7276   9569   
path = "../aws-smithy-runtime-api"
 7277   9570   
features = ["client", "http-02x"]
 7278   9571   
version = "1.8.5"
 7279   9572   
 7280   9573   
[dependencies.aws-smithy-types]
 7281   9574   
path = "../aws-smithy-types"
 7282   9575   
version = "1.3.2"
 7283   9576   
 7284   9577   
[dependencies.aws-types]
 7285   9578   
path = "../aws-types"
 7286   9579   
version = "1.3.8"
 7287   9580   
 7288   9581   
[dependencies.bytes]
 7289   9582   
version = "1.4.0"
 7290   9583   
 7291   9584   
[dependencies.fastrand]
 7292   9585   
version = "2.0.0"
 7293   9586   
 7294   9587   
[dependencies.http]
 7295   9588   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7296   9589   
index 6518dfc..6b94752 100644
 7297         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
        9590  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7298   9591   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 7299   9592   
edition = "2021"
 7300   9593   
license = "Apache-2.0"
 7301   9594   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7302   9595   
rust-version = "1.86.0"
 7303   9596   
readme = "README.md"
 7304   9597   
[package.metadata.smithy]
 7305   9598   
codegen-version = "ci"
 7306   9599   
[package.metadata.docs.rs]
 7307   9600   
all-features = true
 7308   9601   
targets = ["x86_64-unknown-linux-gnu"]
 7309   9602   
[dependencies.aws-credential-types]
 7310   9603   
path = "../aws-credential-types"
 7311   9604   
version = "1.2.4"
 7312   9605   
 7313   9606   
[dependencies.aws-runtime]
 7314   9607   
path = "../aws-runtime"
 7315   9608   
features = ["event-stream"]
 7316   9609   
version = "1.5.9"
 7317   9610   
 7318   9611   
[dependencies.aws-smithy-async]
 7319   9612   
path = "../aws-smithy-async"
 7320   9613   
version = "1.2.5"
 7321   9614   
 7322   9615   
[dependencies.aws-smithy-eventstream]
 7323   9616   
path = "../aws-smithy-eventstream"
 7324   9617   
version = "0.60.10"
 7325   9618   
 7326   9619   
[dependencies.aws-smithy-http]
 7327   9620   
path = "../aws-smithy-http"
 7328   9621   
features = ["event-stream"]
 7329         -
version = "0.62.2"
        9622  +
version = "0.62.3"
 7330   9623   
 7331   9624   
[dependencies.aws-smithy-json]
 7332   9625   
path = "../aws-smithy-json"
 7333   9626   
version = "0.61.4"
 7334   9627   
 7335   9628   
[dependencies.aws-smithy-runtime]
 7336   9629   
path = "../aws-smithy-runtime"
 7337   9630   
features = ["client"]
 7338   9631   
version = "1.8.5"
 7339   9632   
 7340   9633   
[dependencies.aws-smithy-runtime-api]
 7341   9634   
path = "../aws-smithy-runtime-api"
 7342   9635   
features = ["client", "http-02x"]
 7343   9636   
version = "1.8.5"
 7344   9637   
 7345   9638   
[dependencies.aws-smithy-types]
 7346   9639   
path = "../aws-smithy-types"
 7347   9640   
version = "1.3.2"
 7348   9641   
 7349   9642   
[dependencies.aws-types]
 7350   9643   
path = "../aws-types"
 7351   9644   
version = "1.3.8"
 7352   9645   
 7353   9646   
[dependencies.bytes]
 7354   9647   
version = "1.4.0"
 7355   9648   
 7356   9649   
[dependencies.fastrand]
 7357   9650   
version = "2.0.0"
 7358   9651   
 7359   9652   
[dependencies.http]
 7360   9653   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7361   9654   
index dabb0e0..34cbc15 100644
 7362         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
        9655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7363   9656   
@@ -1,65 +1,65 @@
 7364   9657   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7365   9658   
[package]
 7366   9659   
name = "aws-sdk-polly"
 7367   9660   
version = "0.0.0-local"
 7368   9661   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7369   9662   
description = "AWS SDK for Amazon Polly"
 7370   9663   
edition = "2021"
 7371   9664   
license = "Apache-2.0"
 7372   9665   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7373   9666   
rust-version = "1.86.0"
 7374   9667   
readme = "README.md"
 7375   9668   
[package.metadata.smithy]
 7376   9669   
codegen-version = "ci"
 7377   9670   
[package.metadata.docs.rs]
 7378   9671   
all-features = true
 7379   9672   
targets = ["x86_64-unknown-linux-gnu"]
 7380   9673   
[dependencies.aws-credential-types]
 7381   9674   
path = "../aws-credential-types"
 7382   9675   
version = "1.2.4"
 7383   9676   
 7384   9677   
[dependencies.aws-runtime]
 7385   9678   
path = "../aws-runtime"
 7386   9679   
version = "1.5.9"
 7387   9680   
 7388   9681   
[dependencies.aws-sigv4]
 7389   9682   
path = "../aws-sigv4"
 7390         -
version = "1.3.3"
        9683  +
version = "1.3.4"
 7391   9684   
 7392   9685   
[dependencies.aws-smithy-async]
 7393   9686   
path = "../aws-smithy-async"
 7394   9687   
version = "1.2.5"
 7395   9688   
 7396   9689   
[dependencies.aws-smithy-http]
 7397   9690   
path = "../aws-smithy-http"
 7398         -
version = "0.62.2"
        9691  +
version = "0.62.3"
 7399   9692   
 7400   9693   
[dependencies.aws-smithy-json]
 7401   9694   
path = "../aws-smithy-json"
 7402   9695   
version = "0.61.4"
 7403   9696   
 7404   9697   
[dependencies.aws-smithy-runtime]
 7405   9698   
path = "../aws-smithy-runtime"
 7406   9699   
features = ["client"]
 7407   9700   
version = "1.8.5"
 7408   9701   
 7409   9702   
[dependencies.aws-smithy-runtime-api]
 7410   9703   
path = "../aws-smithy-runtime-api"
 7411   9704   
features = ["client", "http-02x"]
 7412   9705   
version = "1.8.5"
 7413   9706   
 7414   9707   
[dependencies.aws-smithy-types]
 7415   9708   
path = "../aws-smithy-types"
 7416   9709   
version = "1.3.2"
 7417   9710   
 7418   9711   
[dependencies.aws-types]
 7419   9712   
path = "../aws-types"
 7420   9713   
version = "1.3.8"
 7421   9714   
 7422   9715   
[dependencies.bytes]
 7423   9716   
version = "1.4.0"
 7424   9717   
 7425   9718   
[dependencies.fastrand]
 7426   9719   
version = "2.0.0"
 7427   9720   
 7428   9721   
[dependencies.http]
 7429   9722   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7430   9723   
index a884716..f3d8713 100644
 7431         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
        9724  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7432   9725   
@@ -1,61 +1,61 @@
 7433   9726   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7434   9727   
[package]
 7435   9728   
name = "aws-sdk-qldbsession"
 7436   9729   
version = "0.0.0-local"
 7437   9730   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7438   9731   
description = "AWS SDK for Amazon QLDB Session"
 7439   9732   
edition = "2021"
 7440   9733   
license = "Apache-2.0"
 7441   9734   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7442   9735   
rust-version = "1.86.0"
 7443   9736   
readme = "README.md"
 7444   9737   
[package.metadata.smithy]
 7445   9738   
codegen-version = "ci"
 7446   9739   
[package.metadata.docs.rs]
 7447   9740   
all-features = true
 7448   9741   
targets = ["x86_64-unknown-linux-gnu"]
 7449   9742   
[dependencies.aws-credential-types]
 7450   9743   
path = "../aws-credential-types"
 7451   9744   
version = "1.2.4"
 7452   9745   
 7453   9746   
[dependencies.aws-runtime]
 7454   9747   
path = "../aws-runtime"
 7455   9748   
version = "1.5.9"
 7456   9749   
 7457   9750   
[dependencies.aws-smithy-async]
 7458   9751   
path = "../aws-smithy-async"
 7459   9752   
version = "1.2.5"
 7460   9753   
 7461   9754   
[dependencies.aws-smithy-http]
 7462   9755   
path = "../aws-smithy-http"
 7463         -
version = "0.62.2"
        9756  +
version = "0.62.3"
 7464   9757   
 7465   9758   
[dependencies.aws-smithy-json]
 7466   9759   
path = "../aws-smithy-json"
 7467   9760   
version = "0.61.4"
 7468   9761   
 7469   9762   
[dependencies.aws-smithy-runtime]
 7470   9763   
path = "../aws-smithy-runtime"
 7471   9764   
features = ["client"]
 7472   9765   
version = "1.8.5"
 7473   9766   
 7474   9767   
[dependencies.aws-smithy-runtime-api]
 7475   9768   
path = "../aws-smithy-runtime-api"
 7476   9769   
features = ["client", "http-02x"]
 7477   9770   
version = "1.8.5"
 7478   9771   
 7479   9772   
[dependencies.aws-smithy-types]
 7480   9773   
path = "../aws-smithy-types"
 7481   9774   
version = "1.3.2"
 7482   9775   
 7483   9776   
[dependencies.aws-types]
 7484   9777   
path = "../aws-types"
 7485   9778   
version = "1.3.8"
 7486   9779   
 7487   9780   
[dependencies.bytes]
 7488   9781   
version = "1.4.0"
 7489   9782   
 7490   9783   
[dependencies.fastrand]
 7491   9784   
version = "2.0.0"
 7492   9785   
 7493   9786   
[dependencies.http]
 7494   9787   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7495   9788   
index 32a7dc9..a2c752d 100644
 7496         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
        9789  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7497   9790   
@@ -1,61 +1,61 @@
 7498   9791   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7499   9792   
[package]
 7500   9793   
name = "aws-sdk-route53"
 7501   9794   
version = "0.0.0-local"
 7502   9795   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7503   9796   
description = "AWS SDK for Amazon Route 53"
 7504   9797   
edition = "2021"
 7505   9798   
license = "Apache-2.0"
 7506   9799   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7507   9800   
rust-version = "1.86.0"
 7508   9801   
readme = "README.md"
 7509   9802   
[package.metadata.smithy]
 7510   9803   
codegen-version = "ci"
 7511   9804   
[package.metadata.docs.rs]
 7512   9805   
all-features = true
 7513   9806   
targets = ["x86_64-unknown-linux-gnu"]
 7514   9807   
[dependencies.aws-credential-types]
 7515   9808   
path = "../aws-credential-types"
 7516   9809   
version = "1.2.4"
 7517   9810   
 7518   9811   
[dependencies.aws-runtime]
 7519   9812   
path = "../aws-runtime"
 7520   9813   
version = "1.5.9"
 7521   9814   
 7522   9815   
[dependencies.aws-smithy-async]
 7523   9816   
path = "../aws-smithy-async"
 7524   9817   
version = "1.2.5"
 7525   9818   
 7526   9819   
[dependencies.aws-smithy-http]
 7527   9820   
path = "../aws-smithy-http"
 7528         -
version = "0.62.2"
        9821  +
version = "0.62.3"
 7529   9822   
 7530   9823   
[dependencies.aws-smithy-json]
 7531   9824   
path = "../aws-smithy-json"
 7532   9825   
version = "0.61.4"
 7533   9826   
 7534   9827   
[dependencies.aws-smithy-runtime]
 7535   9828   
path = "../aws-smithy-runtime"
 7536   9829   
features = ["client"]
 7537   9830   
version = "1.8.5"
 7538   9831   
 7539   9832   
[dependencies.aws-smithy-runtime-api]
 7540   9833   
path = "../aws-smithy-runtime-api"
 7541   9834   
features = ["client", "http-02x"]
 7542   9835   
version = "1.8.5"
 7543   9836   
 7544   9837   
[dependencies.aws-smithy-types]
 7545   9838   
path = "../aws-smithy-types"
 7546   9839   
version = "1.3.2"
 7547   9840   
 7548   9841   
[dependencies.aws-smithy-xml]
 7549   9842   
path = "../aws-smithy-xml"
 7550   9843   
version = "0.60.10"
 7551   9844   
 7552   9845   
[dependencies.aws-types]
 7553   9846   
path = "../aws-types"
 7554   9847   
version = "1.3.8"
 7555   9848   
 7556   9849   
[dependencies.fastrand]
 7557   9850   
version = "2.0.0"
 7558   9851   
 7559   9852   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7560   9853   
index f65e261..2f6bec0 100644
 7561         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
        9854  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7562   9855   
@@ -1,75 +1,75 @@
 7563   9856   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7564   9857   
[package]
 7565   9858   
name = "aws-sdk-s3"
 7566   9859   
version = "0.0.0-local"
 7567   9860   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7568   9861   
description = "AWS SDK for Amazon Simple Storage Service"
 7569   9862   
edition = "2021"
 7570   9863   
license = "Apache-2.0"
 7571   9864   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7572   9865   
rust-version = "1.86.0"
 7573   9866   
readme = "README.md"
 7574   9867   
[package.metadata.smithy]
 7575   9868   
codegen-version = "ci"
 7576   9869   
[package.metadata.docs.rs]
 7577   9870   
all-features = true
 7578   9871   
targets = ["x86_64-unknown-linux-gnu"]
 7579   9872   
[dependencies.aws-credential-types]
 7580   9873   
path = "../aws-credential-types"
 7581   9874   
version = "1.2.4"
 7582   9875   
 7583   9876   
[dependencies.aws-runtime]
 7584   9877   
path = "../aws-runtime"
 7585   9878   
features = ["event-stream", "http-02x"]
 7586   9879   
version = "1.5.9"
 7587   9880   
 7588   9881   
[dependencies.aws-sigv4]
 7589   9882   
path = "../aws-sigv4"
 7590         -
version = "1.3.3"
        9883  +
version = "1.3.4"
 7591   9884   
 7592   9885   
[dependencies.aws-smithy-async]
 7593   9886   
path = "../aws-smithy-async"
 7594   9887   
version = "1.2.5"
 7595   9888   
 7596   9889   
[dependencies.aws-smithy-checksums]
 7597   9890   
path = "../aws-smithy-checksums"
 7598   9891   
version = "0.63.5"
 7599   9892   
 7600   9893   
[dependencies.aws-smithy-eventstream]
 7601   9894   
path = "../aws-smithy-eventstream"
 7602   9895   
version = "0.60.10"
 7603   9896   
 7604   9897   
[dependencies.aws-smithy-http]
 7605   9898   
path = "../aws-smithy-http"
 7606   9899   
features = ["event-stream"]
 7607         -
version = "0.62.2"
        9900  +
version = "0.62.3"
 7608   9901   
 7609   9902   
[dependencies.aws-smithy-json]
 7610   9903   
path = "../aws-smithy-json"
 7611   9904   
version = "0.61.4"
 7612   9905   
 7613   9906   
[dependencies.aws-smithy-runtime]
 7614   9907   
path = "../aws-smithy-runtime"
 7615   9908   
features = ["client"]
 7616   9909   
version = "1.8.5"
 7617   9910   
 7618   9911   
[dependencies.aws-smithy-runtime-api]
 7619   9912   
path = "../aws-smithy-runtime-api"
 7620   9913   
features = ["client", "http-02x"]
 7621   9914   
version = "1.8.5"
 7622   9915   
 7623   9916   
[dependencies.aws-smithy-types]
 7624   9917   
path = "../aws-smithy-types"
 7625   9918   
version = "1.3.2"
 7626   9919   
 7627   9920   
[dependencies.aws-smithy-xml]
 7628   9921   
path = "../aws-smithy-xml"
 7629   9922   
version = "0.60.10"
 7630   9923   
 7631   9924   
[dependencies.aws-types]
 7632   9925   
path = "../aws-types"
 7633   9926   
version = "1.3.8"
 7634   9927   
 7635   9928   
[dependencies.bytes]
 7636   9929   
version = "1.4.0"
 7637   9930   
 7638   9931   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7639   9932   
index b4d1cdd..861c0cc 100644
 7640         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
        9933  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7641   9934   
@@ -1,61 +1,61 @@
 7642   9935   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7643   9936   
[package]
 7644   9937   
name = "aws-sdk-s3control"
 7645   9938   
version = "0.0.0-local"
 7646   9939   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7647   9940   
description = "AWS SDK for AWS S3 Control"
 7648   9941   
edition = "2021"
 7649   9942   
license = "Apache-2.0"
 7650   9943   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7651   9944   
rust-version = "1.86.0"
 7652   9945   
readme = "README.md"
 7653   9946   
[package.metadata.smithy]
 7654   9947   
codegen-version = "ci"
 7655   9948   
[package.metadata.docs.rs]
 7656   9949   
all-features = true
 7657   9950   
targets = ["x86_64-unknown-linux-gnu"]
 7658   9951   
[dependencies.aws-credential-types]
 7659   9952   
path = "../aws-credential-types"
 7660   9953   
version = "1.2.4"
 7661   9954   
 7662   9955   
[dependencies.aws-runtime]
 7663   9956   
path = "../aws-runtime"
 7664   9957   
version = "1.5.9"
 7665   9958   
 7666   9959   
[dependencies.aws-smithy-async]
 7667   9960   
path = "../aws-smithy-async"
 7668   9961   
version = "1.2.5"
 7669   9962   
 7670   9963   
[dependencies.aws-smithy-http]
 7671   9964   
path = "../aws-smithy-http"
 7672         -
version = "0.62.2"
        9965  +
version = "0.62.3"
 7673   9966   
 7674   9967   
[dependencies.aws-smithy-json]
 7675   9968   
path = "../aws-smithy-json"
 7676   9969   
version = "0.61.4"
 7677   9970   
 7678   9971   
[dependencies.aws-smithy-runtime]
 7679   9972   
path = "../aws-smithy-runtime"
 7680   9973   
features = ["client"]
 7681   9974   
version = "1.8.5"
 7682   9975   
 7683   9976   
[dependencies.aws-smithy-runtime-api]
 7684   9977   
path = "../aws-smithy-runtime-api"
 7685   9978   
features = ["client", "http-02x"]
 7686   9979   
version = "1.8.5"
 7687   9980   
 7688   9981   
[dependencies.aws-smithy-types]
 7689   9982   
path = "../aws-smithy-types"
 7690   9983   
version = "1.3.2"
 7691   9984   
 7692   9985   
[dependencies.aws-smithy-xml]
 7693   9986   
path = "../aws-smithy-xml"
 7694   9987   
version = "0.60.10"
 7695   9988   
 7696   9989   
[dependencies.aws-types]
 7697   9990   
path = "../aws-types"
 7698   9991   
version = "1.3.8"
 7699   9992   
 7700   9993   
[dependencies.fastrand]
 7701   9994   
version = "2.0.0"
 7702   9995   
 7703   9996   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7704   9997   
index 2cde182..fc367f4 100644
 7705         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
        9998  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7706   9999   
@@ -1,61 +1,61 @@
 7707  10000   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7708  10001   
[package]
 7709  10002   
name = "aws-sdk-sso"
 7710  10003   
version = "0.0.0-local"
 7711  10004   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7712  10005   
description = "AWS SDK for AWS Single Sign-On"
 7713  10006   
edition = "2021"
 7714  10007   
license = "Apache-2.0"
 7715  10008   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7716  10009   
rust-version = "1.86.0"
 7717  10010   
readme = "README.md"
 7718  10011   
[package.metadata.smithy]
 7719  10012   
codegen-version = "ci"
 7720  10013   
[package.metadata.docs.rs]
 7721  10014   
all-features = true
 7722  10015   
targets = ["x86_64-unknown-linux-gnu"]
 7723  10016   
[dependencies.aws-credential-types]
 7724  10017   
path = "../aws-credential-types"
 7725  10018   
version = "1.2.4"
 7726  10019   
 7727  10020   
[dependencies.aws-runtime]
 7728  10021   
path = "../aws-runtime"
 7729  10022   
version = "1.5.9"
 7730  10023   
 7731  10024   
[dependencies.aws-smithy-async]
 7732  10025   
path = "../aws-smithy-async"
 7733  10026   
version = "1.2.5"
 7734  10027   
 7735  10028   
[dependencies.aws-smithy-http]
 7736  10029   
path = "../aws-smithy-http"
 7737         -
version = "0.62.2"
       10030  +
version = "0.62.3"
 7738  10031   
 7739  10032   
[dependencies.aws-smithy-json]
 7740  10033   
path = "../aws-smithy-json"
 7741  10034   
version = "0.61.4"
 7742  10035   
 7743  10036   
[dependencies.aws-smithy-runtime]
 7744  10037   
path = "../aws-smithy-runtime"
 7745  10038   
features = ["client"]
 7746  10039   
version = "1.8.5"
 7747  10040   
 7748  10041   
[dependencies.aws-smithy-runtime-api]
 7749  10042   
path = "../aws-smithy-runtime-api"
 7750  10043   
features = ["client", "http-02x"]
 7751  10044   
version = "1.8.5"
 7752  10045   
 7753  10046   
[dependencies.aws-smithy-types]
 7754  10047   
path = "../aws-smithy-types"
 7755  10048   
version = "1.3.2"
 7756  10049   
 7757  10050   
[dependencies.aws-types]
 7758  10051   
path = "../aws-types"
 7759  10052   
version = "1.3.8"
 7760  10053   
 7761  10054   
[dependencies.bytes]
 7762  10055   
version = "1.4.0"
 7763  10056   
 7764  10057   
[dependencies.fastrand]
 7765  10058   
version = "2.0.0"
 7766  10059   
 7767  10060   
[dependencies.http]
 7768  10061   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7769  10062   
index 7a34c16..588d0bd 100644
 7770         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       10063  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7771  10064   
@@ -1,61 +1,61 @@
 7772  10065   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7773  10066   
[package]
 7774  10067   
name = "aws-sdk-ssooidc"
 7775  10068   
version = "0.0.0-local"
 7776  10069   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7777  10070   
description = "AWS SDK for AWS SSO OIDC"
 7778  10071   
edition = "2021"
 7779  10072   
license = "Apache-2.0"
 7780  10073   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7781  10074   
rust-version = "1.86.0"
 7782  10075   
readme = "README.md"
 7783  10076   
[package.metadata.smithy]
 7784  10077   
codegen-version = "ci"
 7785  10078   
[package.metadata.docs.rs]
 7786  10079   
all-features = true
 7787  10080   
targets = ["x86_64-unknown-linux-gnu"]
 7788  10081   
[dependencies.aws-credential-types]
 7789  10082   
path = "../aws-credential-types"
 7790  10083   
version = "1.2.4"
 7791  10084   
 7792  10085   
[dependencies.aws-runtime]
 7793  10086   
path = "../aws-runtime"
 7794  10087   
version = "1.5.9"
 7795  10088   
 7796  10089   
[dependencies.aws-smithy-async]
 7797  10090   
path = "../aws-smithy-async"
 7798  10091   
version = "1.2.5"
 7799  10092   
 7800  10093   
[dependencies.aws-smithy-http]
 7801  10094   
path = "../aws-smithy-http"
 7802         -
version = "0.62.2"
       10095  +
version = "0.62.3"
 7803  10096   
 7804  10097   
[dependencies.aws-smithy-json]
 7805  10098   
path = "../aws-smithy-json"
 7806  10099   
version = "0.61.4"
 7807  10100   
 7808  10101   
[dependencies.aws-smithy-runtime]
 7809  10102   
path = "../aws-smithy-runtime"
 7810  10103   
features = ["client"]
 7811  10104   
version = "1.8.5"
 7812  10105   
 7813  10106   
[dependencies.aws-smithy-runtime-api]
 7814  10107   
path = "../aws-smithy-runtime-api"
 7815  10108   
features = ["client", "http-02x"]
 7816  10109   
version = "1.8.5"
 7817  10110   
 7818  10111   
[dependencies.aws-smithy-types]
 7819  10112   
path = "../aws-smithy-types"
 7820  10113   
version = "1.3.2"
 7821  10114   
 7822  10115   
[dependencies.aws-types]
 7823  10116   
path = "../aws-types"
 7824  10117   
version = "1.3.8"
 7825  10118   
 7826  10119   
[dependencies.bytes]
 7827  10120   
version = "1.4.0"
 7828  10121   
 7829  10122   
[dependencies.fastrand]
 7830  10123   
version = "2.0.0"
 7831  10124   
 7832  10125   
[dependencies.http]
 7833  10126   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7834  10127   
index 895dfb3..f2ce34e 100644
 7835         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       10128  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7836  10129   
@@ -1,61 +1,61 @@
 7837  10130   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7838  10131   
[package]
 7839  10132   
name = "aws-sdk-sts"
 7840  10133   
version = "0.0.0-local"
 7841  10134   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7842  10135   
description = "AWS SDK for AWS Security Token Service"
 7843  10136   
edition = "2021"
 7844  10137   
license = "Apache-2.0"
 7845  10138   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7846  10139   
rust-version = "1.86.0"
 7847  10140   
readme = "README.md"
 7848  10141   
[package.metadata.smithy]
 7849  10142   
codegen-version = "ci"
 7850  10143   
[package.metadata.docs.rs]
 7851  10144   
all-features = true
 7852  10145   
targets = ["x86_64-unknown-linux-gnu"]
 7853  10146   
[dependencies.aws-credential-types]
 7854  10147   
path = "../aws-credential-types"
 7855  10148   
version = "1.2.4"
 7856  10149   
 7857  10150   
[dependencies.aws-runtime]
 7858  10151   
path = "../aws-runtime"
 7859  10152   
version = "1.5.9"
 7860  10153   
 7861  10154   
[dependencies.aws-smithy-async]
 7862  10155   
path = "../aws-smithy-async"
 7863  10156   
version = "1.2.5"
 7864  10157   
 7865  10158   
[dependencies.aws-smithy-http]
 7866  10159   
path = "../aws-smithy-http"
 7867         -
version = "0.62.2"
       10160  +
version = "0.62.3"
 7868  10161   
 7869  10162   
[dependencies.aws-smithy-json]
 7870  10163   
path = "../aws-smithy-json"
 7871  10164   
version = "0.61.4"
 7872  10165   
 7873  10166   
[dependencies.aws-smithy-query]
 7874  10167   
path = "../aws-smithy-query"
 7875  10168   
version = "0.60.7"
 7876  10169   
 7877  10170   
[dependencies.aws-smithy-runtime]
 7878  10171   
path = "../aws-smithy-runtime"
 7879  10172   
features = ["client"]
 7880  10173   
version = "1.8.5"
 7881  10174   
 7882  10175   
[dependencies.aws-smithy-runtime-api]
 7883  10176   
path = "../aws-smithy-runtime-api"
 7884  10177   
features = ["client", "http-02x"]
 7885  10178   
version = "1.8.5"
 7886  10179   
 7887  10180   
[dependencies.aws-smithy-types]
 7888  10181   
path = "../aws-smithy-types"
 7889  10182   
version = "1.3.2"
 7890  10183   
 7891  10184   
[dependencies.aws-smithy-xml]
 7892  10185   
path = "../aws-smithy-xml"
 7893  10186   
version = "0.60.10"
 7894  10187   
 7895  10188   
[dependencies.aws-types]
 7896  10189   
path = "../aws-types"
 7897  10190   
version = "1.3.8"
 7898  10191   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 7899  10192   
index d556561..91178b6 100644
 7900         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       10193  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 7901  10194   
@@ -1,61 +1,61 @@
 7902  10195   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7903  10196   
[package]
 7904  10197   
name = "aws-sdk-timestreamquery"
 7905  10198   
version = "0.0.0-local"
 7906  10199   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7907  10200   
description = "AWS SDK for Amazon Timestream Query"
 7908  10201   
edition = "2021"
 7909  10202   
license = "Apache-2.0"
 7910  10203   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7911  10204   
rust-version = "1.86.0"
 7912  10205   
readme = "README.md"
 7913  10206   
[package.metadata.smithy]
 7914  10207   
codegen-version = "ci"
 7915  10208   
[package.metadata.docs.rs]
 7916  10209   
all-features = true
 7917  10210   
targets = ["x86_64-unknown-linux-gnu"]
 7918  10211   
[dependencies.aws-credential-types]
 7919  10212   
path = "../aws-credential-types"
 7920  10213   
version = "1.2.4"
 7921  10214   
 7922  10215   
[dependencies.aws-runtime]
 7923  10216   
path = "../aws-runtime"
 7924  10217   
version = "1.5.9"
 7925  10218   
 7926  10219   
[dependencies.aws-smithy-async]
 7927  10220   
path = "../aws-smithy-async"
 7928  10221   
version = "1.2.5"
 7929  10222   
 7930  10223   
[dependencies.aws-smithy-http]
 7931  10224   
path = "../aws-smithy-http"
 7932         -
version = "0.62.2"
       10225  +
version = "0.62.3"
 7933  10226   
 7934  10227   
[dependencies.aws-smithy-json]
 7935  10228   
path = "../aws-smithy-json"
 7936  10229   
version = "0.61.4"
 7937  10230   
 7938  10231   
[dependencies.aws-smithy-runtime]
 7939  10232   
path = "../aws-smithy-runtime"
 7940  10233   
features = ["client"]
 7941  10234   
version = "1.8.5"
 7942  10235   
 7943  10236   
[dependencies.aws-smithy-runtime-api]
 7944  10237   
path = "../aws-smithy-runtime-api"
 7945  10238   
features = ["client", "http-02x"]
 7946  10239   
version = "1.8.5"
 7947  10240   
 7948  10241   
[dependencies.aws-smithy-types]
 7949  10242   
path = "../aws-smithy-types"
 7950  10243   
version = "1.3.2"
 7951  10244   
 7952  10245   
[dependencies.aws-types]
 7953  10246   
path = "../aws-types"
 7954  10247   
version = "1.3.8"
 7955  10248   
 7956  10249   
[dependencies.bytes]
 7957  10250   
version = "1.4.0"
 7958  10251   
 7959  10252   
[dependencies.fastrand]
 7960  10253   
version = "2.0.0"
 7961  10254   
 7962  10255   
[dependencies.http]
 7963  10256   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 7964  10257   
index 0c56e4c..95731e3 100644
 7965         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       10258  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 7966  10259   
@@ -1,61 +1,61 @@
 7967  10260   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7968  10261   
[package]
 7969  10262   
name = "aws-sdk-timestreamwrite"
 7970  10263   
version = "0.0.0-local"
 7971  10264   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7972  10265   
description = "AWS SDK for Amazon Timestream Write"
 7973  10266   
edition = "2021"
 7974  10267   
license = "Apache-2.0"
 7975  10268   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7976  10269   
rust-version = "1.86.0"
 7977  10270   
readme = "README.md"
 7978  10271   
[package.metadata.smithy]
 7979  10272   
codegen-version = "ci"
 7980  10273   
[package.metadata.docs.rs]
 7981  10274   
all-features = true
 7982  10275   
targets = ["x86_64-unknown-linux-gnu"]
 7983  10276   
[dependencies.aws-credential-types]
 7984  10277   
path = "../aws-credential-types"
 7985  10278   
version = "1.2.4"
 7986  10279   
 7987  10280   
[dependencies.aws-runtime]
 7988  10281   
path = "../aws-runtime"
 7989  10282   
version = "1.5.9"
 7990  10283   
 7991  10284   
[dependencies.aws-smithy-async]
 7992  10285   
path = "../aws-smithy-async"
 7993  10286   
version = "1.2.5"
 7994  10287   
 7995  10288   
[dependencies.aws-smithy-http]
 7996  10289   
path = "../aws-smithy-http"
 7997         -
version = "0.62.2"
       10290  +
version = "0.62.3"
 7998  10291   
 7999  10292   
[dependencies.aws-smithy-json]
 8000  10293   
path = "../aws-smithy-json"
 8001  10294   
version = "0.61.4"
 8002  10295   
 8003  10296   
[dependencies.aws-smithy-runtime]
 8004  10297   
path = "../aws-smithy-runtime"
 8005  10298   
features = ["client"]
 8006  10299   
version = "1.8.5"
 8007  10300   
 8008  10301   
[dependencies.aws-smithy-runtime-api]
 8009  10302   
path = "../aws-smithy-runtime-api"
 8010  10303   
features = ["client", "http-02x"]
 8011  10304   
version = "1.8.5"
 8012  10305   
 8013  10306   
[dependencies.aws-smithy-types]
 8014  10307   
path = "../aws-smithy-types"
 8015  10308   
version = "1.3.2"
 8016  10309   
 8017  10310   
[dependencies.aws-types]
 8018  10311   
path = "../aws-types"
 8019  10312   
version = "1.3.8"
 8020  10313   
 8021  10314   
[dependencies.bytes]
 8022  10315   
version = "1.4.0"
 8023  10316   
 8024  10317   
[dependencies.fastrand]
 8025  10318   
version = "2.0.0"
 8026  10319   
 8027  10320   
[dependencies.http]
 8028  10321   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8029  10322   
index 5b35037..9fb220a 100644
 8030         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       10323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8031  10324   
@@ -1,71 +1,71 @@
 8032  10325   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8033  10326   
[package]
 8034  10327   
name = "aws-sdk-transcribestreaming"
 8035  10328   
version = "0.0.0-local"
 8036  10329   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8037  10330   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 8038  10331   
edition = "2021"
 8039  10332   
license = "Apache-2.0"
 8040  10333   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8041  10334   
rust-version = "1.86.0"
 8042  10335   
readme = "README.md"
 8043  10336   
[package.metadata.smithy]
 8044  10337   
codegen-version = "ci"
 8045  10338   
[package.metadata.docs.rs]
 8046  10339   
all-features = true
 8047  10340   
targets = ["x86_64-unknown-linux-gnu"]
 8048  10341   
[dependencies.aws-credential-types]
 8049  10342   
path = "../aws-credential-types"
 8050  10343   
version = "1.2.4"
 8051  10344   
 8052  10345   
[dependencies.aws-runtime]
 8053  10346   
path = "../aws-runtime"
 8054  10347   
features = ["event-stream"]
 8055  10348   
version = "1.5.9"
 8056  10349   
 8057  10350   
[dependencies.aws-sigv4]
 8058  10351   
path = "../aws-sigv4"
 8059         -
version = "1.3.3"
       10352  +
version = "1.3.4"
 8060  10353   
 8061  10354   
[dependencies.aws-smithy-async]
 8062  10355   
path = "../aws-smithy-async"
 8063  10356   
version = "1.2.5"
 8064  10357   
 8065  10358   
[dependencies.aws-smithy-eventstream]
 8066  10359   
path = "../aws-smithy-eventstream"
 8067  10360   
version = "0.60.10"
 8068  10361   
 8069  10362   
[dependencies.aws-smithy-http]
 8070  10363   
path = "../aws-smithy-http"
 8071  10364   
features = ["event-stream"]
 8072         -
version = "0.62.2"
       10365  +
version = "0.62.3"
 8073  10366   
 8074  10367   
[dependencies.aws-smithy-json]
 8075  10368   
path = "../aws-smithy-json"
 8076  10369   
version = "0.61.4"
 8077  10370   
 8078  10371   
[dependencies.aws-smithy-runtime]
 8079  10372   
path = "../aws-smithy-runtime"
 8080  10373   
features = ["client"]
 8081  10374   
version = "1.8.5"
 8082  10375