AWS SDK

AWS SDK

rev. 628eeeeeed390f5efdbfe607c18848c033debd3e (ignoring whitespace)

Files changed:

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

@@ -1,0 +4,0 @@
    1         -
GET // 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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31

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

@@ -1,0 +8179,10468 @@
    1         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 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-slashes/get-slashes.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sreq
    3      1   
deleted file mode 100644
    4      2   
index c84a80d..0000000
    5         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sreq
           3  +
++ /dev/null
    6      4   
@@ -1,4 +0,0 @@
    7         -
GET //example// 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=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 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/get-space/get-space.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.authz
   12      6   
deleted file mode 100644
   13      7   
index 832d8a5..0000000
   14         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.authz
           8  +
++ /dev/null
   15      9   
@@ -1 +0,0 @@
   16         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
   17     10   
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
   18     11   
deleted file mode 100644
   19     12   
index eefa20c..0000000
   20         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sreq
          13  +
++ /dev/null
   21     14   
@@ -1,4 +0,0 @@
   22         -
GET /example space/ HTTP/1.1
   23         -
Host:example.amazonaws.com
   24         -
X-Amz-Date:20150830T123600Z
   25         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
   26     15   
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
   27     16   
deleted file mode 100644
   28     17   
index c2fcb27..0000000
   29         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/normalize-path.txt
          18  +
++ /dev/null
   30     19   
@@ -1,3 +0,0 @@
   31         -
A note about signing requests to Amazon S3:
   32         -

   33         -
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
   34     20   
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
   35     21   
deleted file mode 100644
   36     22   
index 89e572e..0000000
   37         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.authz
          23  +
++ /dev/null
   38     24   
@@ -1 +0,0 @@
   39         -
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
   40     25   
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
   41     26   
deleted file mode 100644
   42     27   
index fcf23ce..0000000
   43         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sreq
          28  +
++ /dev/null
   44     29   
@@ -1,4 +0,0 @@
   45         -
POST / HTTP/1.1
   46         -
Host:example.amazonaws.com
   47         -
X-Amz-Date:20150830T123600Z
   48         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
   49     30   
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
   50     31   
deleted file mode 100644
   51     32   
index a62589f..0000000
   52         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.authz
          33  +
++ /dev/null
   53     34   
@@ -1 +0,0 @@
   54         -
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
   55     35   
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
   56     36   
deleted file mode 100644
   57     37   
index b4b78a1..0000000
   58         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sreq
          38  +
++ /dev/null
   59     39   
@@ -1,5 +0,0 @@
   60         -
POST / HTTP/1.1
   61         -
Host:example.amazonaws.com
   62         -
My-Header1:value1
   63         -
X-Amz-Date:20150830T123600Z
   64         -
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
   65     40   
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
   66     41   
deleted file mode 100644
   67     42   
index d9e52a3..0000000
   68         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.authz
          43  +
++ /dev/null
   69     44   
@@ -1 +0,0 @@
   70         -
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
   71     45   
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
   72     46   
deleted file mode 100644
   73     47   
index 99c3210..0000000
   74         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sreq
          48  +
++ /dev/null
   75     49   
@@ -1,5 +0,0 @@
   76         -
POST / HTTP/1.1
   77         -
Host:example.amazonaws.com
   78         -
My-Header1:VALUE1
   79         -
X-Amz-Date:20150830T123600Z
   80         -
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
   81     50   
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
   82     51   
deleted file mode 100644
   83     52   
index 89e572e..0000000
   84         -
-- 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
          53  +
++ /dev/null
   85     54   
@@ -1 +0,0 @@
   86         -
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
   87     55   
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
   88     56   
deleted file mode 100644
   89     57   
index 64aa046..0000000
   90         -
-- 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
          58  +
++ /dev/null
   91     59   
@@ -1 +0,0 @@
   92         -
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
   93     60   
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
   94     61   
deleted file mode 100644
   95     62   
index cc34282..0000000
   96         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/readme.txt
          63  +
++ /dev/null
   97     64   
@@ -1,15 +0,0 @@
   98         -
A note about using temporary security credentials:
   99         -

  100         -
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).
  101         -

  102         -
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.
  103         -

  104         -
The test suite has 2 examples:
  105         -

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

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

  110         -
The test suite uses this example value for X-Amz-Security-Token:
  111         -

  112         -
AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 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-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
  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-empty-query-value/post-vanilla-empty-query-value.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-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
  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-empty-query-value/post-vanilla-empty-query-value.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-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
  129     76   
deleted file mode 100644
  130     77   
index 44280cd..0000000
  131         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.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=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 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-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
  135     81   
deleted file mode 100644
  136     82   
index 82af150..0000000
  137         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq
          83  +
++ /dev/null
  138     84   
@@ -1,4 +0,0 @@
  139         -
POST /?Param1=value1 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=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 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-vanilla/post-vanilla.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
  144     86   
deleted file mode 100644
  145     87   
index 89e572e..0000000
  146         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
          88  +
++ /dev/null
  147     89   
@@ -1 +0,0 @@
  148         -
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
  149     90   
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
  150     91   
deleted file mode 100644
  151     92   
index a5ada0d..0000000
  152         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq
          93  +
++ /dev/null
  153     94   
@@ -1,4 +0,0 @@
  154         -
POST / HTTP/1.1
  155         -
Host:example.amazonaws.com
  156         -
X-Amz-Date:20150830T123600Z
  157         -
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
  158     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.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
  159     96   
deleted file mode 100644
  160     97   
index df90ca3..0000000
  161         -
-- 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
          98  +
++ /dev/null
  162     99   
@@ -1 +0,0 @@
  163         -
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
  164    100   
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
  165    101   
deleted file mode 100644
  166    102   
index 457b0d5..0000000
  167         -
-- 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
         103  +
++ /dev/null
  168    104   
@@ -1,9 +0,0 @@
  169         -
POST
  170         -
/
  171         -
Param1=value1
  172         -
content-type:application/x-www-form-urlencoded; charset=utf-8
  173         -
host:example.amazonaws.com
  174         -
x-amz-date:20150830T123600Z
  175         -
  176         -
content-type;host;x-amz-date
  177         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  178    105   
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
  179    106   
deleted file mode 100644
  180    107   
index b8ecb89..0000000
  181         -
-- 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
         108  +
++ /dev/null
  182    109   
@@ -1,7 +0,0 @@
  183         -
POST / HTTP/1.1
  184         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  185         -
Host:example.amazonaws.com
  186         -
X-Amz-Date:20150830T123600Z
  187         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393
  188         -
  189         -
Param1=value1
              \
 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.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
  191    111   
deleted file mode 100644
  192    112   
index 79077d2..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.authz
         113  +
++ /dev/null
  194    114   
@@ -1 +0,0 @@
  195         -
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
  196    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.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
  197    116   
deleted file mode 100644
  198    117   
index 7852617..0000000
  199         -
-- 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
         118  +
++ /dev/null
  200    119   
@@ -1,4 +0,0 @@
  201         -
POST / HTTP/1.1
  202         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  203         -
Host:example.amazonaws.com
  204         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
  205    120   
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
  206    121   
deleted file mode 100644
  207    122   
index 3e2e571..0000000
  208         -
-- 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
         123  +
++ /dev/null
  209    124   
@@ -1,4 +0,0 @@
  210         -
POST / HTTP/1.1
  211         -
Host:example.amazonaws.com
  212         -
X-Amz-Date:20150830T123600Z
  213         -
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
  214    125   
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
  215    126   
deleted file mode 100644
  216    127   
index 89ceae8..0000000
  217         -
-- 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
         128  +
++ /dev/null
  218    129   
@@ -1,4 +0,0 @@
  219         -
AWS4-HMAC-SHA256
  220         -
20150830T123600Z
  221         -
20150830/us-east-1/service/aws4_request
  222         -
6a42edc18395dd67cc71407d4307ff29ab1646b08c1a0107edb319e08e2bc584
              \
 No newline at end of file
  223    130   
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
  224    131   
deleted file mode 100755
  225    132   
index d645695..0000000
  226         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE
         133  +
++ /dev/null
  227    134   
@@ -1,202 +0,0 @@
  228         -
  229         -
                                 Apache License
  230         -
                           Version 2.0, January 2004
  231         -
                        http://www.apache.org/licenses/
  232         -
  233         -
   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  234         -
  235         -
   1. Definitions.
  236         -
  237         -
      "License" shall mean the terms and conditions for use, reproduction,
  238         -
      and distribution as defined by Sections 1 through 9 of this document.
  239         -
  240         -
      "Licensor" shall mean the copyright owner or entity authorized by
  241         -
      the copyright owner that is granting the License.
  242         -
  243         -
      "Legal Entity" shall mean the union of the acting entity and all
  244         -
      other entities that control, are controlled by, or are under common
  245         -
      control with that entity. For the purposes of this definition,
  246         -
      "control" means (i) the power, direct or indirect, to cause the
  247         -
      direction or management of such entity, whether by contract or
  248         -
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
  249         -
      outstanding shares, or (iii) beneficial ownership of such entity.
  250         -
  251         -
      "You" (or "Your") shall mean an individual or Legal Entity
  252         -
      exercising permissions granted by this License.
  253         -
  254         -
      "Source" form shall mean the preferred form for making modifications,
  255         -
      including but not limited to software source code, documentation
  256         -
      source, and configuration files.
  257         -
  258         -
      "Object" form shall mean any form resulting from mechanical
  259         -
      transformation or translation of a Source form, including but
  260         -
      not limited to compiled object code, generated documentation,
  261         -
      and conversions to other media types.
  262         -
  263         -
      "Work" shall mean the work of authorship, whether in Source or
  264         -
      Object form, made available under the License, as indicated by a
  265         -
      copyright notice that is included in or attached to the work
  266         -
      (an example is provided in the Appendix below).
  267         -
  268         -
      "Derivative Works" shall mean any work, whether in Source or Object
  269         -
      form, that is based on (or derived from) the Work and for which the
  270         -
      editorial revisions, annotations, elaborations, or other modifications
  271         -
      represent, as a whole, an original work of authorship. For the purposes
  272         -
      of this License, Derivative Works shall not include works that remain
  273         -
      separable from, or merely link (or bind by name) to the interfaces of,
  274         -
      the Work and Derivative Works thereof.
  275         -
  276         -
      "Contribution" shall mean any work of authorship, including
  277         -
      the original version of the Work and any modifications or additions
  278         -
      to that Work or Derivative Works thereof, that is intentionally
  279         -
      submitted to Licensor for inclusion in the Work by the copyright owner
  280         -
      or by an individual or Legal Entity authorized to submit on behalf of
  281         -
      the copyright owner. For the purposes of this definition, "submitted"
  282         -
      means any form of electronic, verbal, or written communication sent
  283         -
      to the Licensor or its representatives, including but not limited to
  284         -
      communication on electronic mailing lists, source code control systems,
  285         -
      and issue tracking systems that are managed by, or on behalf of, the
  286         -
      Licensor for the purpose of discussing and improving the Work, but
  287         -
      excluding communication that is conspicuously marked or otherwise
  288         -
      designated in writing by the copyright owner as "Not a Contribution."
  289         -
  290         -
      "Contributor" shall mean Licensor and any individual or Legal Entity
  291         -
      on behalf of whom a Contribution has been received by Licensor and
  292         -
      subsequently incorporated within the Work.
  293         -
  294         -
   2. Grant of Copyright License. Subject to the terms and conditions of
  295         -
      this License, each Contributor hereby grants to You a perpetual,
  296         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  297         -
      copyright license to reproduce, prepare Derivative Works of,
  298         -
      publicly display, publicly perform, sublicense, and distribute the
  299         -
      Work and such Derivative Works in Source or Object form.
  300         -
  301         -
   3. Grant of Patent License. Subject to the terms and conditions of
  302         -
      this License, each Contributor hereby grants to You a perpetual,
  303         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  304         -
      (except as stated in this section) patent license to make, have made,
  305         -
      use, offer to sell, sell, import, and otherwise transfer the Work,
  306         -
      where such license applies only to those patent claims licensable
  307         -
      by such Contributor that are necessarily infringed by their
  308         -
      Contribution(s) alone or by combination of their Contribution(s)
  309         -
      with the Work to which such Contribution(s) was submitted. If You
  310         -
      institute patent litigation against any entity (including a
  311         -
      cross-claim or counterclaim in a lawsuit) alleging that the Work
  312         -
      or a Contribution incorporated within the Work constitutes direct
  313         -
      or contributory patent infringement, then any patent licenses
  314         -
      granted to You under this License for that Work shall terminate
  315         -
      as of the date such litigation is filed.
  316         -
  317         -
   4. Redistribution. You may reproduce and distribute copies of the
  318         -
      Work or Derivative Works thereof in any medium, with or without
  319         -
      modifications, and in Source or Object form, provided that You
  320         -
      meet the following conditions:
  321         -
  322         -
      (a) You must give any other recipients of the Work or
  323         -
          Derivative Works a copy of this License; and
  324         -
  325         -
      (b) You must cause any modified files to carry prominent notices
  326         -
          stating that You changed the files; and
  327         -
  328         -
      (c) You must retain, in the Source form of any Derivative Works
  329         -
          that You distribute, all copyright, patent, trademark, and
  330         -
          attribution notices from the Source form of the Work,
  331         -
          excluding those notices that do not pertain to any part of
  332         -
          the Derivative Works; and
  333         -
  334         -
      (d) If the Work includes a "NOTICE" text file as part of its
  335         -
          distribution, then any Derivative Works that You distribute must
  336         -
          include a readable copy of the attribution notices contained
  337         -
          within such NOTICE file, excluding those notices that do not
  338         -
          pertain to any part of the Derivative Works, in at least one
  339         -
          of the following places: within a NOTICE text file distributed
  340         -
          as part of the Derivative Works; within the Source form or
  341         -
          documentation, if provided along with the Derivative Works; or,
  342         -
          within a display generated by the Derivative Works, if and
  343         -
          wherever such third-party notices normally appear. The contents
  344         -
          of the NOTICE file are for informational purposes only and
  345         -
          do not modify the License. You may add Your own attribution
  346         -
          notices within Derivative Works that You distribute, alongside
  347         -
          or as an addendum to the NOTICE text from the Work, provided
  348         -
          that such additional attribution notices cannot be construed
  349         -
          as modifying the License.
  350         -
  351         -
      You may add Your own copyright statement to Your modifications and
  352         -
      may provide additional or different license terms and conditions
  353         -
      for use, reproduction, or distribution of Your modifications, or
  354         -
      for any such Derivative Works as a whole, provided Your use,
  355         -
      reproduction, and distribution of the Work otherwise complies with
  356         -
      the conditions stated in this License.
  357         -
  358         -
   5. Submission of Contributions. Unless You explicitly state otherwise,
  359         -
      any Contribution intentionally submitted for inclusion in the Work
  360         -
      by You to the Licensor shall be under the terms and conditions of
  361         -
      this License, without any additional terms or conditions.
  362         -
      Notwithstanding the above, nothing herein shall supersede or modify
  363         -
      the terms of any separate license agreement you may have executed
  364         -
      with Licensor regarding such Contributions.
  365         -
  366         -
   6. Trademarks. This License does not grant permission to use the trade
  367         -
      names, trademarks, service marks, or product names of the Licensor,
  368         -
      except as required for reasonable and customary use in describing the
  369         -
      origin of the Work and reproducing the content of the NOTICE file.
  370         -
  371         -
   7. Disclaimer of Warranty. Unless required by applicable law or
  372         -
      agreed to in writing, Licensor provides the Work (and each
  373         -
      Contributor provides its Contributions) on an "AS IS" BASIS,
  374         -
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  375         -
      implied, including, without limitation, any warranties or conditions
  376         -
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  377         -
      PARTICULAR PURPOSE. You are solely responsible for determining the
  378         -
      appropriateness of using or redistributing the Work and assume any
  379         -
      risks associated with Your exercise of permissions under this License.
  380         -
  381         -
   8. Limitation of Liability. In no event and under no legal theory,
  382         -
      whether in tort (including negligence), contract, or otherwise,
  383         -
      unless required by applicable law (such as deliberate and grossly
  384         -
      negligent acts) or agreed to in writing, shall any Contributor be
  385         -
      liable to You for damages, including any direct, indirect, special,
  386         -
      incidental, or consequential damages of any character arising as a
  387         -
      result of this License or out of the use or inability to use the
  388         -
      Work (including but not limited to damages for loss of goodwill,
  389         -
      work stoppage, computer failure or malfunction, or any and all
  390         -
      other commercial damages or losses), even if such Contributor
  391         -
      has been advised of the possibility of such damages.
  392         -
  393         -
   9. Accepting Warranty or Additional Liability. While redistributing
  394         -
      the Work or Derivative Works thereof, You may choose to offer,
  395         -
      and charge a fee for, acceptance of support, warranty, indemnity,
  396         -
      or other liability obligations and/or rights consistent with this
  397         -
      License. However, in accepting such obligations, You may act only
  398         -
      on Your own behalf and on Your sole responsibility, not on behalf
  399         -
      of any other Contributor, and only if You agree to indemnify,
  400         -
      defend, and hold each Contributor harmless for any liability
  401         -
      incurred by, or claims asserted against, such Contributor by reason
  402         -
      of your accepting any such warranty or additional liability.
  403         -
  404         -
   END OF TERMS AND CONDITIONS
  405         -
  406         -
   APPENDIX: How to apply the Apache License to your work.
  407         -
  408         -
      To apply the Apache License to your work, attach the following
  409         -
      boilerplate notice, with the fields enclosed by brackets "[]"
  410         -
      replaced with your own identifying information. (Don't include
  411         -
      the brackets!)  The text should be enclosed in the appropriate
  412         -
      comment syntax for the file format. We also recommend that a
  413         -
      file or class name and description of purpose be included on the
  414         -
      same "printed page" as the copyright notice for easier
  415         -
      identification within third-party archives.
  416         -
  417         -
   Copyright [yyyy] [name of copyright owner]
  418         -
  419         -
   Licensed under the Apache License, Version 2.0 (the "License");
  420         -
   you may not use this file except in compliance with the License.
  421         -
   You may obtain a copy of the License at
  422         -
  423         -
       http://www.apache.org/licenses/LICENSE-2.0
  424         -
  425         -
   Unless required by applicable law or agreed to in writing, software
  426         -
   distributed under the License is distributed on an "AS IS" BASIS,
  427         -
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  428         -
   See the License for the specific language governing permissions and
  429         -
   limitations under the License.
  430    135   
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
  431    136   
deleted file mode 100755
  432    137   
index d85f69e..0000000
  433         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE
         138  +
++ /dev/null
  434    139   
@@ -1,2 +0,0 @@
  435         -
AWS Signature Version 4a Test Suite
  436         -
Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  437    140   
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
  438    141   
deleted file mode 100644
  439    142   
index c716622..0000000
  440         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md
         143  +
++ /dev/null
  441    144   
@@ -1,24 +0,0 @@
  442         -
Where did the files in this directory come from?
  443         -
================================================
  444         -
  445         -
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.
  446         -
  447         -
Signature Version 4A Test Suite
  448         -
------------------------------
  449         -
  450         -
To assist you in the development of an AWS client that supports Signature Version 4A, you can use the
  451         -
files in the test suite to ensure your code is performing each step of the signing process correctly.
  452         -
  453         -
Each test group contains several files that you can use to validate most of the tasks described in
  454         -
Signature Version 4A Signing Process. The following list describes the contents of each file.
  455         -
  456         -
- context.json - Credentials and signer options to use when signing test requests
  457         -
- request.txt - The web request to be signed.
  458         -
- header-canonical-request.txt - The resulting canonical request in header-signature mode.
  459         -
- header-string-to-sign.txt - The resulting string to sign in header-signature mode.
  460         -
- query-canonical-request.txt - The resulting canonical request in query-signature mode.
  461         -
- query-string-to-sign.txt - The resulting string to sign in header-query mode.
  462         -
  463         -
Sigv4A signature generation isn't deterministic, so generated signatures can't be tested against known good ones.
  464         -
Instead, tests generate a signature, derive a verification key from the signing key, and verify the signature and
  465         -
the string to sign. This mirrors what AWS services do when verifying Sigv4A-signed requests.
  466    145   
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
  467    146   
deleted file mode 100644
  468    147   
index 45771c7..0000000
  469         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json
         148  +
++ /dev/null
  470    149   
@@ -1,12 +0,0 @@
  471         -
{
  472         -
    "credentials": {
  473         -
        "access_key_id": "AKIDEXAMPLE",
  474         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  475         -
    },
  476         -
    "expiration_in_seconds": 3600,
  477         -
    "normalize": true,
  478         -
    "region": "us-east-1",
  479         -
    "service": "service",
  480         -
    "sign_body": false,
  481         -
    "timestamp": "2015-08-30T12:36:00Z"
  482         -
}
  483    150   
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
  484    151   
deleted file mode 100644
  485    152   
index 45771c7..0000000
  486         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json
         153  +
++ /dev/null
  487    154   
@@ -1,12 +0,0 @@
  488         -
{
  489         -
    "credentials": {
  490         -
        "access_key_id": "AKIDEXAMPLE",
  491         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  492         -
    },
  493         -
    "expiration_in_seconds": 3600,
  494         -
    "normalize": true,
  495         -
    "region": "us-east-1",
  496         -
    "service": "service",
  497         -
    "sign_body": false,
  498         -
    "timestamp": "2015-08-30T12:36:00Z"
  499         -
}
  500    155   
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
  501    156   
deleted file mode 100644
  502    157   
index 45771c7..0000000
  503         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json
         158  +
++ /dev/null
  504    159   
@@ -1,12 +0,0 @@
  505         -
{
  506         -
    "credentials": {
  507         -
        "access_key_id": "AKIDEXAMPLE",
  508         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  509         -
    },
  510         -
    "expiration_in_seconds": 3600,
  511         -
    "normalize": true,
  512         -
    "region": "us-east-1",
  513         -
    "service": "service",
  514         -
    "sign_body": false,
  515         -
    "timestamp": "2015-08-30T12:36:00Z"
  516         -
}
  517    160   
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
  518    161   
deleted file mode 100644
  519    162   
index 45771c7..0000000
  520         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json
         163  +
++ /dev/null
  521    164   
@@ -1,12 +0,0 @@
  522         -
{
  523         -
    "credentials": {
  524         -
        "access_key_id": "AKIDEXAMPLE",
  525         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  526         -
    },
  527         -
    "expiration_in_seconds": 3600,
  528         -
    "normalize": true,
  529         -
    "region": "us-east-1",
  530         -
    "service": "service",
  531         -
    "sign_body": false,
  532         -
    "timestamp": "2015-08-30T12:36:00Z"
  533         -
}
  534    165   
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
  535    166   
deleted file mode 100644
  536    167   
index afe367b..0000000
  537         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json
         168  +
++ /dev/null
  538    169   
@@ -1,12 +0,0 @@
  539         -
{
  540         -
    "credentials": {
  541         -
        "access_key_id": "AKIDEXAMPLE",
  542         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  543         -
    },
  544         -
    "expiration_in_seconds": 3600,
  545         -
    "normalize": false,
  546         -
    "region": "us-east-1",
  547         -
    "service": "service",
  548         -
    "sign_body": false,
  549         -
    "timestamp": "2015-08-30T12:36:00Z"
  550         -
}
  551    170   
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
  552    171   
deleted file mode 100644
  553    172   
index 45771c7..0000000
  554         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json
         173  +
++ /dev/null
  555    174   
@@ -1,12 +0,0 @@
  556         -
{
  557         -
    "credentials": {
  558         -
        "access_key_id": "AKIDEXAMPLE",
  559         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  560         -
    },
  561         -
    "expiration_in_seconds": 3600,
  562         -
    "normalize": true,
  563         -
    "region": "us-east-1",
  564         -
    "service": "service",
  565         -
    "sign_body": false,
  566         -
    "timestamp": "2015-08-30T12:36:00Z"
  567         -
}
  568    175   
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
  569    176   
deleted file mode 100644
  570    177   
index afe367b..0000000
  571         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json
         178  +
++ /dev/null
  572    179   
@@ -1,12 +0,0 @@
  573         -
{
  574         -
    "credentials": {
  575         -
        "access_key_id": "AKIDEXAMPLE",
  576         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  577         -
    },
  578         -
    "expiration_in_seconds": 3600,
  579         -
    "normalize": false,
  580         -
    "region": "us-east-1",
  581         -
    "service": "service",
  582         -
    "sign_body": false,
  583         -
    "timestamp": "2015-08-30T12:36:00Z"
  584         -
}
  585    180   
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
  586    181   
deleted file mode 100644
  587    182   
index 45771c7..0000000
  588         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json
         183  +
++ /dev/null
  589    184   
@@ -1,12 +0,0 @@
  590         -
{
  591         -
    "credentials": {
  592         -
        "access_key_id": "AKIDEXAMPLE",
  593         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  594         -
    },
  595         -
    "expiration_in_seconds": 3600,
  596         -
    "normalize": true,
  597         -
    "region": "us-east-1",
  598         -
    "service": "service",
  599         -
    "sign_body": false,
  600         -
    "timestamp": "2015-08-30T12:36:00Z"
  601         -
}
  602    185   
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
  603    186   
deleted file mode 100644
  604    187   
index 45771c7..0000000
  605         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json
         188  +
++ /dev/null
  606    189   
@@ -1,12 +0,0 @@
  607         -
{
  608         -
    "credentials": {
  609         -
        "access_key_id": "AKIDEXAMPLE",
  610         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  611         -
    },
  612         -
    "expiration_in_seconds": 3600,
  613         -
    "normalize": true,
  614         -
    "region": "us-east-1",
  615         -
    "service": "service",
  616         -
    "sign_body": false,
  617         -
    "timestamp": "2015-08-30T12:36:00Z"
  618         -
}
  619    190   
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
  620    191   
deleted file mode 100644
  621    192   
index 45771c7..0000000
  622         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json
         193  +
++ /dev/null
  623    194   
@@ -1,12 +0,0 @@
  624         -
{
  625         -
    "credentials": {
  626         -
        "access_key_id": "AKIDEXAMPLE",
  627         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  628         -
    },
  629         -
    "expiration_in_seconds": 3600,
  630         -
    "normalize": true,
  631         -
    "region": "us-east-1",
  632         -
    "service": "service",
  633         -
    "sign_body": false,
  634         -
    "timestamp": "2015-08-30T12:36:00Z"
  635         -
}
  636    195   
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
  637    196   
deleted file mode 100644
  638    197   
index 45771c7..0000000
  639         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json
         198  +
++ /dev/null
  640    199   
@@ -1,12 +0,0 @@
  641         -
{
  642         -
    "credentials": {
  643         -
        "access_key_id": "AKIDEXAMPLE",
  644         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  645         -
    },
  646         -
    "expiration_in_seconds": 3600,
  647         -
    "normalize": true,
  648         -
    "region": "us-east-1",
  649         -
    "service": "service",
  650         -
    "sign_body": false,
  651         -
    "timestamp": "2015-08-30T12:36:00Z"
  652         -
}
  653    200   
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
  654    201   
deleted file mode 100644
  655    202   
index 45771c7..0000000
  656         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json
         203  +
++ /dev/null
  657    204   
@@ -1,12 +0,0 @@
  658         -
{
  659         -
    "credentials": {
  660         -
        "access_key_id": "AKIDEXAMPLE",
  661         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  662         -
    },
  663         -
    "expiration_in_seconds": 3600,
  664         -
    "normalize": true,
  665         -
    "region": "us-east-1",
  666         -
    "service": "service",
  667         -
    "sign_body": false,
  668         -
    "timestamp": "2015-08-30T12:36:00Z"
  669         -
}
  670    205   
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
  671    206   
deleted file mode 100644
  672    207   
index 47e7128..0000000
  673         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt
         208  +
++ /dev/null
  674    209   
@@ -1,9 +0,0 @@
  675         -
GET
  676         -
/
  677         -
  678         -
host:example.amazonaws.com
  679         -
x-amz-date:20150830T123600Z
  680         -
x-amz-region-set:us-east-1
  681         -
  682         -
host;x-amz-date;x-amz-region-set
  683         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  684    210   
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
  685    211   
deleted file mode 100644
  686    212   
index 95d7219..0000000
  687         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt
         213  +
++ /dev/null
  688    214   
@@ -1,4 +0,0 @@
  689         -
AWS4-ECDSA-P256-SHA256
  690         -
20150830T123600Z
  691         -
20150830/service/aws4_request
  692         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  693    215   
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
  694    216   
deleted file mode 100644
  695    217   
index a34ea26..0000000
  696         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt
         218  +
++ /dev/null
  697    219   
@@ -1,7 +0,0 @@
  698         -
GET
  699         -
/
  700         -
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
  701         -
host:example.amazonaws.com
  702         -
  703         -
host
  704         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  705    220   
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
  706    221   
deleted file mode 100644
  707    222   
index 48f855c..0000000
  708         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt
         223  +
++ /dev/null
  709    224   
@@ -1,4 +0,0 @@
  710         -
AWS4-ECDSA-P256-SHA256
  711         -
20150830T123600Z
  712         -
20150830/service/aws4_request
  713         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  714    225   
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
  715    226   
deleted file mode 100644
  716    227   
index 45771c7..0000000
  717         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json
         228  +
++ /dev/null
  718    229   
@@ -1,12 +0,0 @@
  719         -
{
  720         -
    "credentials": {
  721         -
        "access_key_id": "AKIDEXAMPLE",
  722         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  723         -
    },
  724         -
    "expiration_in_seconds": 3600,
  725         -
    "normalize": true,
  726         -
    "region": "us-east-1",
  727         -
    "service": "service",
  728         -
    "sign_body": false,
  729         -
    "timestamp": "2015-08-30T12:36:00Z"
  730         -
}
  731    230   
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
  732    231   
deleted file mode 100644
  733    232   
index 47e7128..0000000
  734         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt
         233  +
++ /dev/null
  735    234   
@@ -1,9 +0,0 @@
  736         -
GET
  737         -
/
  738         -
  739         -
host:example.amazonaws.com
  740         -
x-amz-date:20150830T123600Z
  741         -
x-amz-region-set:us-east-1
  742         -
  743         -
host;x-amz-date;x-amz-region-set
  744         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  745    235   
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
  746    236   
deleted file mode 100644
  747    237   
index 95d7219..0000000
  748         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt
         238  +
++ /dev/null
  749    239   
@@ -1,4 +0,0 @@
  750         -
AWS4-ECDSA-P256-SHA256
  751         -
20150830T123600Z
  752         -
20150830/service/aws4_request
  753         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  754    240   
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
  755    241   
deleted file mode 100644
  756    242   
index a34ea26..0000000
  757         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt
         243  +
++ /dev/null
  758    244   
@@ -1,7 +0,0 @@
  759         -
GET
  760         -
/
  761         -
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
  762         -
host:example.amazonaws.com
  763         -
  764         -
host
  765         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  766    245   
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
  767    246   
deleted file mode 100644
  768    247   
index 48f855c..0000000
  769         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt
         248  +
++ /dev/null
  770    249   
@@ -1,4 +0,0 @@
  771         -
AWS4-ECDSA-P256-SHA256
  772         -
20150830T123600Z
  773         -
20150830/service/aws4_request
  774         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  775    250   
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
  776    251   
deleted file mode 100644
  777    252   
index 45771c7..0000000
  778         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json
         253  +
++ /dev/null
  779    254   
@@ -1,12 +0,0 @@
  780         -
{
  781         -
    "credentials": {
  782         -
        "access_key_id": "AKIDEXAMPLE",
  783         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  784         -
    },
  785         -
    "expiration_in_seconds": 3600,
  786         -
    "normalize": true,
  787         -
    "region": "us-east-1",
  788         -
    "service": "service",
  789         -
    "sign_body": false,
  790         -
    "timestamp": "2015-08-30T12:36:00Z"
  791         -
}
  792    255   
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
  793    256   
deleted file mode 100644
  794    257   
index 45771c7..0000000
  795         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json
         258  +
++ /dev/null
  796    259   
@@ -1,12 +0,0 @@
  797         -
{
  798         -
    "credentials": {
  799         -
        "access_key_id": "AKIDEXAMPLE",
  800         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  801         -
    },
  802         -
    "expiration_in_seconds": 3600,
  803         -
    "normalize": true,
  804         -
    "region": "us-east-1",
  805         -
    "service": "service",
  806         -
    "sign_body": false,
  807         -
    "timestamp": "2015-08-30T12:36:00Z"
  808         -
}
  809    260   
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
  810    261   
deleted file mode 100644
  811    262   
index 45771c7..0000000
  812         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json
         263  +
++ /dev/null
  813    264   
@@ -1,12 +0,0 @@
  814         -
{
  815         -
    "credentials": {
  816         -
        "access_key_id": "AKIDEXAMPLE",
  817         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  818         -
    },
  819         -
    "expiration_in_seconds": 3600,
  820         -
    "normalize": true,
  821         -
    "region": "us-east-1",
  822         -
    "service": "service",
  823         -
    "sign_body": false,
  824         -
    "timestamp": "2015-08-30T12:36:00Z"
  825         -
}
  826    265   
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
  827    266   
deleted file mode 100644
  828    267   
index 45771c7..0000000
  829         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json
         268  +
++ /dev/null
  830    269   
@@ -1,12 +0,0 @@
  831         -
{
  832         -
    "credentials": {
  833         -
        "access_key_id": "AKIDEXAMPLE",
  834         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  835         -
    },
  836         -
    "expiration_in_seconds": 3600,
  837         -
    "normalize": true,
  838         -
    "region": "us-east-1",
  839         -
    "service": "service",
  840         -
    "sign_body": false,
  841         -
    "timestamp": "2015-08-30T12:36:00Z"
  842         -
}
  843    270   
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
  844    271   
deleted file mode 100644
  845    272   
index 45771c7..0000000
  846         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json
         273  +
++ /dev/null
  847    274   
@@ -1,12 +0,0 @@
  848         -
{
  849         -
    "credentials": {
  850         -
        "access_key_id": "AKIDEXAMPLE",
  851         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  852         -
    },
  853         -
    "expiration_in_seconds": 3600,
  854         -
    "normalize": true,
  855         -
    "region": "us-east-1",
  856         -
    "service": "service",
  857         -
    "sign_body": false,
  858         -
    "timestamp": "2015-08-30T12:36:00Z"
  859         -
}
  860    275   
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
  861    276   
deleted file mode 100644
  862    277   
index 45771c7..0000000
  863         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json
         278  +
++ /dev/null
  864    279   
@@ -1,12 +0,0 @@
  865         -
{
  866         -
    "credentials": {
  867         -
        "access_key_id": "AKIDEXAMPLE",
  868         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  869         -
    },
  870         -
    "expiration_in_seconds": 3600,
  871         -
    "normalize": true,
  872         -
    "region": "us-east-1",
  873         -
    "service": "service",
  874         -
    "sign_body": false,
  875         -
    "timestamp": "2015-08-30T12:36:00Z"
  876         -
}
  877    280   
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
  878    281   
deleted file mode 100644
  879    282   
index b6fdecf..0000000
  880         -
-- 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
         283  +
++ /dev/null
  881    284   
@@ -1,4 +0,0 @@
  882         -
AWS4-ECDSA-P256-SHA256
  883         -
20150830T123600Z
  884         -
20150830/service/aws4_request
  885         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  886    285   
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
  887    286   
deleted file mode 100644
  888    287   
index a300bea..0000000
  889         -
-- 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
         288  +
++ /dev/null
  890    289   
@@ -1,4 +0,0 @@
  891         -
AWS4-ECDSA-P256-SHA256
  892         -
20150830T123600Z
  893         -
20150830/service/aws4_request
  894         -
ab426c74406d082ad98929df8969624e6ed5cb7f4e8501fbbe7d8c20e9c3b417
  895    290   
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
  896    291   
deleted file mode 100644
  897    292   
index b6fdecf..0000000
  898         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt
         293  +
++ /dev/null
  899    294   
@@ -1,4 +0,0 @@
  900         -
AWS4-ECDSA-P256-SHA256
  901         -
20150830T123600Z
  902         -
20150830/service/aws4_request
  903         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  904    295   
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
  905    296   
new file mode 100644
  906    297   
index 0000000..a674243
  907         -
-- /dev/null
         298  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md
  908    299   
@@ -0,0 +1,7 @@
         300  +
# AWS SigV4 and SigV4A Signing Test Suite
         301  +
         302  +
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).
         303  +
         304  +
We added the following changes:
         305  +
         306  +
* 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
  909    307   
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
  910    308   
similarity index 100%
  911    309   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.creq
  912    310   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-canonical-request.txt
  913    311   
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
  914    312   
similarity index 100%
  915    313   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.sreq
  916    314   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-signed-request.txt
  917    315   
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
  918    316   
similarity index 100%
  919    317   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.req
  920    318   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/request.txt
  921    319   
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
  922    320   
similarity index 100%
  923    321   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq
  924    322   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-canonical-request.txt
  925    323   
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
  926    324   
similarity index 100%
  927    325   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq
  928    326   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-signed-request.txt
  929    327   
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
  930    328   
similarity index 100%
  931    329   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts
  932    330   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-string-to-sign.txt
  933    331   
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
  934    332   
similarity index 100%
  935    333   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req
  936    334   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/request.txt
  937    335   
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
  938    336   
similarity index 99%
  939    337   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
  940    338   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
  941    339   
index 45771c7..0468d80 100644
  942    340   
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
  943    341   
similarity index 100%
  944    342   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq
  945    343   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
  946    344   
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
  947    345   
new file mode 100644
  948    346   
index 0000000..7fc5d7a
  949         -
-- /dev/null
         347  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
  950    348   
@@ -0,0 +1 @@
         349  +
c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
              \
 No newline at end of file
  951    350   
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
  952    351   
new file mode 100644
  953    352   
index 0000000..36a1205
  954         -
-- /dev/null
         353  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
  955    354   
@@ -0,0 +1,8 @@
         355  +
GET / HTTP/1.1
         356  +
Host:example.amazonaws.com
         357  +
My-Header1:value2
         358  +
My-Header1:value2
         359  +
My-Header1:value1
         360  +
X-Amz-Date:20150830T123600Z
         361  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
         362  +
  956    363   
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
  957    364   
similarity index 100%
  958    365   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts
  959    366   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
  960    367   
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
  961    368   
new file mode 100644
  962    369   
index 0000000..f9f4190
  963         -
-- /dev/null
         370  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
  964    371   
@@ -0,0 +1,8 @@
         372  +
GET
         373  +
/
         374  +
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
         375  +
host:example.amazonaws.com
         376  +
my-header1:value2,value2,value1
         377  +
         378  +
host;my-header1
         379  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  965    380   
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
  966    381   
new file mode 100644
  967    382   
index 0000000..5d0d87f
  968         -
-- /dev/null
         383  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
  969    384   
@@ -0,0 +1 @@
         385  +
3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97
              \
 No newline at end of file
  970    386   
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
  971    387   
new file mode 100644
  972    388   
index 0000000..c1dfcf4
  973         -
-- /dev/null
         389  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
  974    390   
@@ -0,0 +1,6 @@
         391  +
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
         392  +
Host:example.amazonaws.com
         393  +
My-Header1:value2
         394  +
My-Header1:value2
         395  +
My-Header1:value1
         396  +
  975    397   
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
  976    398   
similarity index 53%
  977    399   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
  978    400   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
  979    401   
index 0a3350a..077c1bb 100644
  980         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
         402  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
  981    403   
@@ -1,4 +1,4 @@
  982    404   
AWS4-HMAC-SHA256
  983    405   
20150830T123600Z
  984    406   
20150830/us-east-1/service/aws4_request
  985         -
b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55
              \
 No newline at end of file
         407  +
fe8b58fb44117d598520befc07c144a5699c661a8db78f9ce4caee1655dec813
              \
 No newline at end of file
  986    408   
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
  987    409   
similarity index 100%
  988    410   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt
  989    411   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
  990    412   
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
  991    413   
similarity index 99%
  992    414   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
  993    415   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
  994    416   
index 45771c7..0468d80 100644
  995    417   
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
  996    418   
similarity index 82%
  997    419   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
  998    420   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
  999    421   
index 721a39f..8cb5476 100644
 1000         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
         422  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1001    423   
@@ -1,9 +1,9 @@
 1002    424   
GET
 1003    425   
/
 1004    426   
 1005    427   
host:example.amazonaws.com
 1006         -
my-header1:value1,value2,value3
         428  +
my-header1:value1 value2 value3
 1007    429   
x-amz-date:20150830T123600Z
 1008    430   
 1009    431   
host;my-header1;x-amz-date
 1010    432   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1011    433   
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
 1012    434   
new file mode 100644
 1013    435   
index 0000000..e6ff7a9
 1014         -
-- /dev/null
         436  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
 1015    437   
@@ -0,0 +1 @@
         438  +
cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
              \
 No newline at end of file
 1016    439   
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
 1017    440   
new file mode 100644
 1018    441   
index 0000000..b5ef6a0
 1019         -
-- /dev/null
         442  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
 1020    443   
@@ -0,0 +1,8 @@
         444  +
GET / HTTP/1.1
         445  +
Host:example.amazonaws.com
         446  +
My-Header1:value1
         447  +
  value2
         448  +
     value3
         449  +
X-Amz-Date:20150830T123600Z
         450  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
         451  +
 1021    452   
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
 1022    453   
similarity index 53%
 1023    454   
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
 1024    455   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1025    456   
index fd43a41..97c7430 100644
 1026         -
-- 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
         457  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1027    458   
@@ -1,4 +1,4 @@
 1028    459   
AWS4-HMAC-SHA256
 1029    460   
20150830T123600Z
 1030    461   
20150830/us-east-1/service/aws4_request
 1031         -
704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89
              \
 No newline at end of file
         462  +
e99419459a677bc11de234014be3c4e72c1ea5b454ceb58b613061f5d7a162e8
              \
 No newline at end of file
 1032    463   
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
 1033    464   
new file mode 100644
 1034    465   
index 0000000..aac46de
 1035         -
-- /dev/null
         466  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
 1036    467   
@@ -0,0 +1,8 @@
         468  +
GET
         469  +
/
         470  +
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
         471  +
host:example.amazonaws.com
         472  +
my-header1:value1 value2 value3
         473  +
         474  +
host;my-header1
         475  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1037    476   
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
 1038    477   
new file mode 100644
 1039    478   
index 0000000..205732d
 1040         -
-- /dev/null
         479  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
 1041    480   
@@ -0,0 +1 @@
         481  +
e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56
              \
 No newline at end of file
 1042    482   
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
 1043    483   
new file mode 100644
 1044    484   
index 0000000..a891b87
 1045         -
-- /dev/null
         485  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
 1046    486   
@@ -0,0 +1,6 @@
         487  +
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
         488  +
Host:example.amazonaws.com
         489  +
My-Header1:value1
         490  +
  value2
         491  +
     value3
         492  +
 1047    493   
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
 1048    494   
similarity index 53%
 1049    495   
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
 1050    496   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1051    497   
index 90e66b8..ec3fe45 100644
 1052         -
-- 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
         498  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1053    499   
@@ -1,4 +1,4 @@
 1054    500   
AWS4-HMAC-SHA256
 1055    501   
20150830T123600Z
 1056    502   
20150830/us-east-1/service/aws4_request
 1057         -
c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606
              \
 No newline at end of file
         503  +
0e73c10e35324b4d215da4bb70be61d13a3d30d569be4ed6e8fd8948965341ca
              \
 No newline at end of file
 1058    504   
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
 1059    505   
similarity index 75%
 1060    506   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
 1061    507   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1062    508   
index 7caa6ac..b5026cd 100644
 1063         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
         509  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1064    510   
@@ -1,6 +1,5 @@
 1065    511   
GET / HTTP/1.1
 1066    512   
Host:example.amazonaws.com
 1067    513   
My-Header1:value1
 1068    514   
  value2
 1069    515   
     value3
 1070         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1071    516   
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
 1072    517   
similarity index 99%
 1073    518   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
 1074    519   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1075    520   
index 45771c7..0468d80 100644
 1076    521   
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
 1077    522   
similarity index 100%
 1078    523   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq
 1079    524   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
 1080    525   
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
 1081    526   
new file mode 100644
 1082    527   
index 0000000..8ef0494
 1083         -
-- /dev/null
         528  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
 1084    529   
@@ -0,0 +1 @@
         530  +
08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
 1085    531   
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
 1086    532   
new file mode 100644
 1087    533   
index 0000000..b786dc9
 1088         -
-- /dev/null
         534  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
 1089    535   
@@ -0,0 +1,9 @@
         536  +
GET / HTTP/1.1
         537  +
Host:example.amazonaws.com
         538  +
My-Header1:value4
         539  +
My-Header1:value1
         540  +
My-Header1:value3
         541  +
My-Header1:value2
         542  +
X-Amz-Date:20150830T123600Z
         543  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
         544  +
 1090    545   
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
 1091    546   
similarity index 100%
 1092    547   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts
 1093    548   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
 1094    549   
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
 1095    550   
new file mode 100644
 1096    551   
index 0000000..a211cc5
 1097         -
-- /dev/null
         552  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
 1098    553   
@@ -0,0 +1,8 @@
         554  +
GET
         555  +
/
         556  +
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
         557  +
host:example.amazonaws.com
         558  +
my-header1:value4,value1,value3,value2
         559  +
         560  +
host;my-header1
         561  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1099    562   
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
 1100    563   
new file mode 100644
 1101    564   
index 0000000..417b0fa
 1102         -
-- /dev/null
         565  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
 1103    566   
@@ -0,0 +1 @@
         567  +
313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e
              \
 No newline at end of file
 1104    568   
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
 1105    569   
new file mode 100644
 1106    570   
index 0000000..b615e5d
 1107         -
-- /dev/null
         571  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
 1108    572   
@@ -0,0 +1,7 @@
         573  +
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
         574  +
Host:example.amazonaws.com
         575  +
My-Header1:value4
         576  +
My-Header1:value1
         577  +
My-Header1:value3
         578  +
My-Header1:value2
         579  +
 1109    580   
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
 1110    581   
similarity index 53%
 1111    582   
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
 1112    583   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1113    584   
index f7e615e..dcaaa1b 100644
 1114         -
-- 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
         585  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1115    586   
@@ -1,4 +1,4 @@
 1116    587   
AWS4-HMAC-SHA256
 1117    588   
20150830T123600Z
 1118    589   
20150830/us-east-1/service/aws4_request
 1119         -
5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9
              \
 No newline at end of file
         590  +
f4d3f13084ba7664111670ce26458291d3e0c620acd9384f8cd6b60d8e83423e
              \
 No newline at end of file
 1120    591   
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
 1121    592   
similarity index 100%
 1122    593   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt
 1123    594   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1124    595   
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
 1125    596   
similarity index 99%
 1126    597   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
 1127    598   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1128    599   
index 45771c7..0468d80 100644
 1129    600   
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
 1130    601   
similarity index 100%
 1131    602   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq
 1132    603   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1133    604   
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
 1134    605   
new file mode 100644
 1135    606   
index 0000000..36081a9
 1136         -
-- /dev/null
         607  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1137    608   
@@ -0,0 +1 @@
         609  +
acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
 1138    610   
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
 1139    611   
new file mode 100644
 1140    612   
index 0000000..6331d16
 1141         -
-- /dev/null
         613  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1142    614   
@@ -0,0 +1,7 @@
         615  +
GET / HTTP/1.1
         616  +
Host:example.amazonaws.com
         617  +
My-Header1: value1
         618  +
My-Header2: "a   b   c"
         619  +
X-Amz-Date:20150830T123600Z
         620  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
         621  +
 1143    622   
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
 1144    623   
similarity index 100%
 1145    624   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts
 1146    625   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1147    626   
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
 1148    627   
new file mode 100644
 1149    628   
index 0000000..125c1f9
 1150         -
-- /dev/null
         629  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1151    630   
@@ -0,0 +1,9 @@
         631  +
GET
         632  +
/
         633  +
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
         634  +
host:example.amazonaws.com
         635  +
my-header1:value1
         636  +
my-header2:"a b c"
         637  +
         638  +
host;my-header1;my-header2
         639  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1152    640   
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
 1153    641   
new file mode 100644
 1154    642   
index 0000000..17007a8
 1155         -
-- /dev/null
         643  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1156    644   
@@ -0,0 +1 @@
         645  +
e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4
              \
 No newline at end of file
 1157    646   
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
 1158    647   
new file mode 100644
 1159    648   
index 0000000..e519fd9
 1160         -
-- /dev/null
         649  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1161    650   
@@ -0,0 +1,5 @@
         651  +
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
         652  +
Host:example.amazonaws.com
         653  +
My-Header1: value1
         654  +
My-Header2: "a   b   c"
         655  +
 1162    656   
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
 1163    657   
new file mode 100644
 1164    658   
index 0000000..6b4b781
 1165         -
-- /dev/null
         659  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1166    660   
@@ -0,0 +1,4 @@
         661  +
AWS4-HMAC-SHA256
         662  +
20150830T123600Z
         663  +
20150830/us-east-1/service/aws4_request
         664  +
84c9e353b6161b689210977f93b93e6a7182f9ecb2ceae8af8c3d86b080a88ae
              \
 No newline at end of file
 1167    665   
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
 1168    666   
similarity index 100%
 1169    667   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt
 1170    668   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1171    669   
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
 1172    670   
new file mode 100644
 1173    671   
index 0000000..0468d80
 1174         -
-- /dev/null
         672  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1175    673   
@@ -0,0 +1,12 @@
         674  +
{
         675  +
    "credentials": {
         676  +
        "access_key_id": "AKIDEXAMPLE",
         677  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         678  +
    },
         679  +
    "expiration_in_seconds": 3600,
         680  +
    "normalize": true,
         681  +
    "region": "us-east-1",
         682  +
    "service": "service",
         683  +
    "sign_body": false,
         684  +
    "timestamp": "2015-08-30T12:36:00Z"
         685  +
}
              \
 No newline at end of file
 1176    686   
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
 1177    687   
similarity index 100%
 1178    688   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq
 1179    689   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1180    690   
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
 1181    691   
new file mode 100644
 1182    692   
index 0000000..87f295f
 1183         -
-- /dev/null
         693  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1184    694   
@@ -0,0 +1 @@
         695  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1185    696   
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
 1186    697   
new file mode 100644
 1187    698   
index 0000000..0de8327
 1188         -
-- /dev/null
         699  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1189    700   
@@ -0,0 +1,5 @@
         701  +
GET /example/.. HTTP/1.1
         702  +
Host:example.amazonaws.com
         703  +
X-Amz-Date:20150830T123600Z
         704  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         705  +
 1190    706   
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
 1191    707   
similarity index 100%
 1192    708   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts
 1193    709   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1194    710   
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
 1195    711   
new file mode 100644
 1196    712   
index 0000000..fb2420d
 1197         -
-- /dev/null
         713  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1198    714   
@@ -0,0 +1,7 @@
         715  +
GET
         716  +
/
         717  +
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
         718  +
host:example.amazonaws.com
         719  +
         720  +
host
         721  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1199    722   
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
 1200    723   
new file mode 100644
 1201    724   
index 0000000..da5c905
 1202         -
-- /dev/null
         725  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1203    726   
@@ -0,0 +1 @@
         727  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1204    728   
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
 1205    729   
new file mode 100644
 1206    730   
index 0000000..4329c98
 1207         -
-- /dev/null
         731  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1208    732   
@@ -0,0 +1,3 @@
         733  +
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
         734  +
Host:example.amazonaws.com
         735  +
 1209    736   
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
 1210    737   
new file mode 100644
 1211    738   
index 0000000..d837e67
 1212         -
-- /dev/null
         739  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1213    740   
@@ -0,0 +1,4 @@
         741  +
AWS4-HMAC-SHA256
         742  +
20150830T123600Z
         743  +
20150830/us-east-1/service/aws4_request
         744  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1214    745   
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
 1215    746   
similarity index 100%
 1216    747   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt
 1217    748   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1218    749   
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
 1219    750   
new file mode 100644
 1220    751   
index 0000000..0468d80
 1221         -
-- /dev/null
         752  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1222    753   
@@ -0,0 +1,12 @@
         754  +
{
         755  +
    "credentials": {
         756  +
        "access_key_id": "AKIDEXAMPLE",
         757  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         758  +
    },
         759  +
    "expiration_in_seconds": 3600,
         760  +
    "normalize": true,
         761  +
    "region": "us-east-1",
         762  +
    "service": "service",
         763  +
    "sign_body": false,
         764  +
    "timestamp": "2015-08-30T12:36:00Z"
         765  +
}
              \
 No newline at end of file
 1223    766   
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
 1224    767   
similarity index 100%
 1225    768   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq
 1226    769   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1227    770   
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
 1228    771   
new file mode 100644
 1229    772   
index 0000000..87f295f
 1230         -
-- /dev/null
         773  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1231    774   
@@ -0,0 +1 @@
         775  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1232    776   
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
 1233    777   
new file mode 100644
 1234    778   
index 0000000..f9b3815
 1235         -
-- /dev/null
         779  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1236    780   
@@ -0,0 +1,5 @@
         781  +
GET /example1/example2/../.. HTTP/1.1
         782  +
Host:example.amazonaws.com
         783  +
X-Amz-Date:20150830T123600Z
         784  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         785  +
 1237    786   
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
 1238    787   
similarity index 100%
 1239    788   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts
 1240    789   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1241    790   
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
 1242    791   
new file mode 100644
 1243    792   
index 0000000..fb2420d
 1244         -
-- /dev/null
         793  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1245    794   
@@ -0,0 +1,7 @@
         795  +
GET
         796  +
/
         797  +
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
         798  +
host:example.amazonaws.com
         799  +
         800  +
host
         801  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1246    802   
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
 1247    803   
new file mode 100644
 1248    804   
index 0000000..da5c905
 1249         -
-- /dev/null
         805  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1250    806   
@@ -0,0 +1 @@
         807  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1251    808   
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
 1252    809   
new file mode 100644
 1253    810   
index 0000000..b2988b7
 1254         -
-- /dev/null
         811  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1255    812   
@@ -0,0 +1,3 @@
         813  +
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
         814  +
Host:example.amazonaws.com
         815  +
 1256    816   
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
 1257    817   
new file mode 100644
 1258    818   
index 0000000..d837e67
 1259         -
-- /dev/null
         819  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1260    820   
@@ -0,0 +1,4 @@
         821  +
AWS4-HMAC-SHA256
         822  +
20150830T123600Z
         823  +
20150830/us-east-1/service/aws4_request
         824  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1261    825   
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
 1262    826   
similarity index 100%
 1263    827   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt
 1264    828   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1265    829   
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
 1266    830   
similarity index 99%
 1267    831   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
 1268    832   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1269    833   
index afe367b..7bee5c7 100644
 1270    834   
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
 1271    835   
similarity index 82%
 1272    836   
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
 1273    837   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1274    838   
index 36c3cdf..6919c44 100644
 1275         -
-- 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
         839  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1276    840   
@@ -1,8 +1,8 @@
 1277    841   
GET
 1278         -
/
 1279         -
Param1=Value1&Param1=value2
         842  +
/example1/example2/../..
         843  +
 1280    844   
host:example.amazonaws.com
 1281    845   
x-amz-date:20150830T123600Z
 1282    846   
 1283    847   
host;x-amz-date
 1284    848   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1285    849   
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
 1286    850   
new file mode 100644
 1287    851   
index 0000000..4092d83
 1288         -
-- /dev/null
         852  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1289    853   
@@ -0,0 +1 @@
         854  +
dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
              \
 No newline at end of file
 1290    855   
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
 1291    856   
new file mode 100644
 1292    857   
index 0000000..e731b35
 1293         -
-- /dev/null
         858  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1294    859   
@@ -0,0 +1,5 @@
         860  +
GET /example1/example2/../.. HTTP/1.1
         861  +
Host:example.amazonaws.com
         862  +
X-Amz-Date:20150830T123600Z
         863  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
         864  +
 1295    865   
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
 1296    866   
new file mode 100644
 1297    867   
index 0000000..4f45752
 1298         -
-- /dev/null
         868  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1299    869   
@@ -0,0 +1,4 @@
         870  +
AWS4-HMAC-SHA256
         871  +
20150830T123600Z
         872  +
20150830/us-east-1/service/aws4_request
         873  +
76115030c0f3ff06c20fdff5ceb6d5e0b835a1743e00b94fea7c7f381269437b
              \
 No newline at end of file
 1300    874   
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
 1301    875   
new file mode 100644
 1302    876   
index 0000000..e1fb07d
 1303         -
-- /dev/null
         877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1304    878   
@@ -0,0 +1,7 @@
         879  +
GET
         880  +
/example1/example2/../..
         881  +
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
         882  +
host:example.amazonaws.com
         883  +
         884  +
host
         885  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1305    886   
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
 1306    887   
new file mode 100644
 1307    888   
index 0000000..8ac31d7
 1308         -
-- /dev/null
         889  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1309    890   
@@ -0,0 +1 @@
         891  +
b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16
              \
 No newline at end of file
 1310    892   
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
 1311    893   
new file mode 100644
 1312    894   
index 0000000..ac074f9
 1313         -
-- /dev/null
         895  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1314    896   
@@ -0,0 +1,3 @@
         897  +
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
         898  +
Host:example.amazonaws.com
         899  +
 1315    900   
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
 1316    901   
new file mode 100644
 1317    902   
index 0000000..8dcb6ff
 1318         -
-- /dev/null
         903  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1319    904   
@@ -0,0 +1,4 @@
         905  +
AWS4-HMAC-SHA256
         906  +
20150830T123600Z
         907  +
20150830/us-east-1/service/aws4_request
         908  +
13b7758115ec070fe36a7ae9d754154ad73f6ee9a5eac022494857d0e7effc18
              \
 No newline at end of file
 1320    909   
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
 1321    910   
similarity index 100%
 1322    911   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt
 1323    912   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1324    913   
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
 1325    914   
similarity index 99%
 1326    915   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
 1327    916   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1328    917   
index afe367b..7bee5c7 100644
 1329    918   
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
 1330    919   
similarity index 82%
 1331    920   
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
 1332    921   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1333    922   
index 26898eb..f640bc2 100644
 1334         -
-- 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
         923  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1335    924   
@@ -1,8 +1,8 @@
 1336    925   
GET
 1337         -
/
 1338         -
Param1=value1&Param1=value2
         926  +
/example/..
         927  +
 1339    928   
host:example.amazonaws.com
 1340    929   
x-amz-date:20150830T123600Z
 1341    930   
 1342    931   
host;x-amz-date
 1343    932   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1344    933   
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
 1345    934   
new file mode 100644
 1346    935   
index 0000000..d957303
 1347         -
-- /dev/null
         936  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1348    937   
@@ -0,0 +1 @@
         938  +
eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
              \
 No newline at end of file
 1349    939   
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
 1350    940   
new file mode 100644
 1351    941   
index 0000000..4f42ffc
 1352         -
-- /dev/null
         942  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1353    943   
@@ -0,0 +1,5 @@
         944  +
GET /example/.. HTTP/1.1
         945  +
Host:example.amazonaws.com
         946  +
X-Amz-Date:20150830T123600Z
         947  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
         948  +
 1354    949   
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
 1355    950   
new file mode 100644
 1356    951   
index 0000000..ca54bda
 1357         -
-- /dev/null
         952  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1358    953   
@@ -0,0 +1,4 @@
         954  +
AWS4-HMAC-SHA256
         955  +
20150830T123600Z
         956  +
20150830/us-east-1/service/aws4_request
         957  +
0511f456aa502b456d135fcb9d749374a55228f9dbeedda1eacf659e05b0615b
              \
 No newline at end of file
 1359    958   
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
 1360    959   
new file mode 100644
 1361    960   
index 0000000..dc80036
 1362         -
-- /dev/null
         961  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1363    962   
@@ -0,0 +1,7 @@
         963  +
GET
         964  +
/example/..
         965  +
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
         966  +
host:example.amazonaws.com
         967  +
         968  +
host
         969  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1364    970   
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
 1365    971   
new file mode 100644
 1366    972   
index 0000000..dfa0437
 1367         -
-- /dev/null
         973  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1368    974   
@@ -0,0 +1 @@
         975  +
cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee
              \
 No newline at end of file
 1369    976   
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
 1370    977   
new file mode 100644
 1371    978   
index 0000000..98367b1
 1372         -
-- /dev/null
         979  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1373    980   
@@ -0,0 +1,3 @@
         981  +
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
         982  +
Host:example.amazonaws.com
         983  +
 1374    984   
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
 1375    985   
new file mode 100644
 1376    986   
index 0000000..f65dd66
 1377         -
-- /dev/null
         987  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1378    988   
@@ -0,0 +1,4 @@
         989  +
AWS4-HMAC-SHA256
         990  +
20150830T123600Z
         991  +
20150830/us-east-1/service/aws4_request
         992  +
6e02e2dba21d6f269bae339b86ff27a4b7bbc9d88c482abccbfbf8a49d602482
              \
 No newline at end of file
 1379    993   
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
 1380    994   
similarity index 100%
 1381    995   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt
 1382    996   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1383    997   
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
 1384    998   
new file mode 100644
 1385    999   
index 0000000..0468d80
 1386         -
-- /dev/null
        1000  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1387   1001   
@@ -0,0 +1,12 @@
        1002  +
{
        1003  +
    "credentials": {
        1004  +
        "access_key_id": "AKIDEXAMPLE",
        1005  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1006  +
    },
        1007  +
    "expiration_in_seconds": 3600,
        1008  +
    "normalize": true,
        1009  +
    "region": "us-east-1",
        1010  +
    "service": "service",
        1011  +
    "sign_body": false,
        1012  +
    "timestamp": "2015-08-30T12:36:00Z"
        1013  +
}
              \
 No newline at end of file
 1388   1014   
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
 1389   1015   
similarity index 100%
 1390   1016   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq
 1391   1017   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1392   1018   
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
 1393   1019   
new file mode 100644
 1394   1020   
index 0000000..87f295f
 1395         -
-- /dev/null
        1021  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1396   1022   
@@ -0,0 +1 @@
        1023  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1397   1024   
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
 1398   1025   
new file mode 100644
 1399   1026   
index 0000000..99c8eeb
 1400         -
-- /dev/null
        1027  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1401   1028   
@@ -0,0 +1,5 @@
        1029  +
GET /./ HTTP/1.1
        1030  +
Host:example.amazonaws.com
        1031  +
X-Amz-Date:20150830T123600Z
        1032  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1033  +
 1402   1034   
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
 1403   1035   
similarity index 100%
 1404   1036   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts
 1405   1037   
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
 1406   1038   
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
 1407   1039   
new file mode 100644
 1408   1040   
index 0000000..fb2420d
 1409         -
-- /dev/null
        1041  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1410   1042   
@@ -0,0 +1,7 @@
        1043  +
GET
        1044  +
/
        1045  +
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
        1046  +
host:example.amazonaws.com
        1047  +
        1048  +
host
        1049  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1411   1050   
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
 1412   1051   
new file mode 100644
 1413   1052   
index 0000000..da5c905
 1414         -
-- /dev/null
        1053  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1415   1054   
@@ -0,0 +1 @@
        1055  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1416   1056   
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
 1417   1057   
new file mode 100644
 1418   1058   
index 0000000..2e47f69
 1419         -
-- /dev/null
        1059  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1420   1060   
@@ -0,0 +1,3 @@
        1061  +
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
        1062  +
Host:example.amazonaws.com
        1063  +
 1421   1064   
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
 1422   1065   
new file mode 100644
 1423   1066   
index 0000000..d837e67
 1424         -
-- /dev/null
        1067  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1425   1068   
@@ -0,0 +1,4 @@
        1069  +
AWS4-HMAC-SHA256
        1070  +
20150830T123600Z
        1071  +
20150830/us-east-1/service/aws4_request
        1072  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1426   1073   
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
 1427   1074   
similarity index 100%
 1428   1075   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt
 1429   1076   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1430   1077   
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
 1431   1078   
similarity index 99%
 1432   1079   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
 1433   1080   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1434   1081   
index afe367b..7bee5c7 100644
 1435   1082   
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
 1436   1083   
new file mode 100644
 1437   1084   
index 0000000..5159048
 1438         -
-- /dev/null
        1085  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1439   1086   
@@ -0,0 +1,8 @@
        1087  +
GET
        1088  +
/./
        1089  +
        1090  +
host:example.amazonaws.com
        1091  +
x-amz-date:20150830T123600Z
        1092  +
        1093  +
host;x-amz-date
        1094  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1440   1095   
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
 1441   1096   
new file mode 100644
 1442   1097   
index 0000000..b49ff0e
 1443         -
-- /dev/null
        1098  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1444   1099   
@@ -0,0 +1 @@
        1100  +
68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
              \
 No newline at end of file
 1445   1101   
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
 1446   1102   
new file mode 100644
 1447   1103   
index 0000000..aeb1ffa
 1448         -
-- /dev/null
        1104  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1449   1105   
@@ -0,0 +1,5 @@
        1106  +
GET /./ HTTP/1.1
        1107  +
Host:example.amazonaws.com
        1108  +
X-Amz-Date:20150830T123600Z
        1109  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
        1110  +
 1450   1111   
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
 1451   1112   
new file mode 100644
 1452   1113   
index 0000000..b7d8caf
 1453         -
-- /dev/null
        1114  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1454   1115   
@@ -0,0 +1,4 @@
        1116  +
AWS4-HMAC-SHA256
        1117  +
20150830T123600Z
        1118  +
20150830/us-east-1/service/aws4_request
        1119  +
d67825e2268bd77a97c7688b8d72c31a3c1855b309808505ba0a9747d2465aa7
              \
 No newline at end of file
 1455   1120   
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
 1456   1121   
new file mode 100644
 1457   1122   
index 0000000..d4e029e
 1458         -
-- /dev/null
        1123  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1459   1124   
@@ -0,0 +1,7 @@
        1125  +
GET
        1126  +
/./
        1127  +
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
        1128  +
host:example.amazonaws.com
        1129  +
        1130  +
host
        1131  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1460   1132   
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
 1461   1133   
new file mode 100644
 1462   1134   
index 0000000..fe8f4cc
 1463         -
-- /dev/null
        1135  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1464   1136   
@@ -0,0 +1 @@
        1137  +
a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c
              \
 No newline at end of file
 1465   1138   
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
 1466   1139   
new file mode 100644
 1467   1140   
index 0000000..dcc4fc4
 1468         -
-- /dev/null
        1141  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1469   1142   
@@ -0,0 +1,3 @@
        1143  +
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
        1144  +
Host:example.amazonaws.com
        1145  +
 1470   1146   
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
 1471   1147   
new file mode 100644
 1472   1148   
index 0000000..5fb3ada
 1473         -
-- /dev/null
        1149  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1474   1150   
@@ -0,0 +1,4 @@
        1151  +
AWS4-HMAC-SHA256
        1152  +
20150830T123600Z
        1153  +
20150830/us-east-1/service/aws4_request
        1154  +
21b2da17873f30c1a7410efdc271738b318ccc2c9c6fbe1289fc242aeb1a8ae1
              \
 No newline at end of file
 1475   1155   
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
 1476   1156   
similarity index 100%
 1477   1157   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt
 1478   1158   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1479   1159   
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
 1480   1160   
new file mode 100644
 1481   1161   
index 0000000..0468d80
 1482         -
-- /dev/null
        1162  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1483   1163   
@@ -0,0 +1,12 @@
        1164  +
{
        1165  +
    "credentials": {
        1166  +
        "access_key_id": "AKIDEXAMPLE",
        1167  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1168  +
    },
        1169  +
    "expiration_in_seconds": 3600,
        1170  +
    "normalize": true,
        1171  +
    "region": "us-east-1",
        1172  +
    "service": "service",
        1173  +
    "sign_body": false,
        1174  +
    "timestamp": "2015-08-30T12:36:00Z"
        1175  +
}
              \
 No newline at end of file
 1484   1176   
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
 1485   1177   
similarity index 100%
 1486   1178   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq
 1487   1179   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1488   1180   
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
 1489   1181   
new file mode 100644
 1490   1182   
index 0000000..87f295f
 1491         -
-- /dev/null
        1183  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1492   1184   
@@ -0,0 +1 @@
        1185  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1493   1186   
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
 1494   1187   
new file mode 100644
 1495   1188   
index 0000000..b91087b
 1496         -
-- /dev/null
        1189  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1497   1190   
@@ -0,0 +1,5 @@
        1191  +
GET // HTTP/1.1
        1192  +
Host:example.amazonaws.com
        1193  +
X-Amz-Date:20150830T123600Z
        1194  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1195  +
 1498   1196   
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
 1499   1197   
similarity index 100%
 1500   1198   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts
 1501   1199   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1502   1200   
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
 1503   1201   
new file mode 100644
 1504   1202   
index 0000000..fb2420d
 1505         -
-- /dev/null
        1203  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1506   1204   
@@ -0,0 +1,7 @@
        1205  +
GET
        1206  +
/
        1207  +
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
        1208  +
host:example.amazonaws.com
        1209  +
        1210  +
host
        1211  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1507   1212   
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
 1508   1213   
new file mode 100644
 1509   1214   
index 0000000..da5c905
 1510         -
-- /dev/null
        1215  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1511   1216   
@@ -0,0 +1 @@
        1217  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1512   1218   
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
 1513   1219   
new file mode 100644
 1514   1220   
index 0000000..0290ba4
 1515         -
-- /dev/null
        1221  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1516   1222   
@@ -0,0 +1,3 @@
        1223  +
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
        1224  +
Host:example.amazonaws.com
        1225  +
 1517   1226   
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
 1518   1227   
new file mode 100644
 1519   1228   
index 0000000..d837e67
 1520         -
-- /dev/null
        1229  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1521   1230   
@@ -0,0 +1,4 @@
        1231  +
AWS4-HMAC-SHA256
        1232  +
20150830T123600Z
        1233  +
20150830/us-east-1/service/aws4_request
        1234  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1522   1235   
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
 1523   1236   
similarity index 100%
 1524   1237   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt
 1525   1238   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1526   1239   
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
 1527   1240   
new file mode 100644
 1528   1241   
index 0000000..0468d80
 1529         -
-- /dev/null
        1242  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1530   1243   
@@ -0,0 +1,12 @@
        1244  +
{
        1245  +
    "credentials": {
        1246  +
        "access_key_id": "AKIDEXAMPLE",
        1247  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1248  +
    },
        1249  +
    "expiration_in_seconds": 3600,
        1250  +
    "normalize": true,
        1251  +
    "region": "us-east-1",
        1252  +
    "service": "service",
        1253  +
    "sign_body": false,
        1254  +
    "timestamp": "2015-08-30T12:36:00Z"
        1255  +
}
              \
 No newline at end of file
 1531   1256   
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
 1532   1257   
similarity index 100%
 1533   1258   
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
 1534   1259   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1535   1260   
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
 1536   1261   
new file mode 100644
 1537   1262   
index 0000000..8f892bf
 1538         -
-- /dev/null
        1263  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1539   1264   
@@ -0,0 +1 @@
        1265  +
ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
 1540   1266   
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
 1541   1267   
new file mode 100644
 1542   1268   
index 0000000..2a1895c
 1543         -
-- /dev/null
        1269  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1544   1270   
@@ -0,0 +1,5 @@
        1271  +
GET /./example HTTP/1.1
        1272  +
Host:example.amazonaws.com
        1273  +
X-Amz-Date:20150830T123600Z
        1274  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
        1275  +
 1545   1276   
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
 1546   1277   
similarity index 100%
 1547   1278   
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
 1548   1279   
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
 1549   1280   
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
 1550   1281   
new file mode 100644
 1551   1282   
index 0000000..99dfc2a
 1552         -
-- /dev/null
        1283  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1553   1284   
@@ -0,0 +1,7 @@
        1285  +
GET
        1286  +
/example
        1287  +
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
        1288  +
host:example.amazonaws.com
        1289  +
        1290  +
host
        1291  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1554   1292   
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
 1555   1293   
new file mode 100644
 1556   1294   
index 0000000..fcd7a17
 1557         -
-- /dev/null
        1295  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1558   1296   
@@ -0,0 +1 @@
        1297  +
35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de
              \
 No newline at end of file
 1559   1298   
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
 1560   1299   
new file mode 100644
 1561   1300   
index 0000000..f671de2
 1562         -
-- /dev/null
        1301  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1563   1302   
@@ -0,0 +1,3 @@
        1303  +
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
        1304  +
Host:example.amazonaws.com
        1305  +
 1564   1306   
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
 1565   1307   
new file mode 100644
 1566   1308   
index 0000000..f8456dc
 1567         -
-- /dev/null
        1309  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1568   1310   
@@ -0,0 +1,4 @@
        1311  +
AWS4-HMAC-SHA256
        1312  +
20150830T123600Z
        1313  +
20150830/us-east-1/service/aws4_request
        1314  +
88dd73bb06de69cb042dbb82cadbb4fce1a2623615d94520c271614abf94e738
              \
 No newline at end of file
 1569   1315   
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
 1570   1316   
similarity index 100%
 1571   1317   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt
 1572   1318   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1573   1319   
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
 1574   1320   
similarity index 99%
 1575   1321   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
 1576   1322   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1577   1323   
index afe367b..7bee5c7 100644
 1578   1324   
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
 1579   1325   
new file mode 100644
 1580   1326   
index 0000000..36698c7
 1581         -
-- /dev/null
        1327  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1582   1328   
@@ -0,0 +1,8 @@
        1329  +
GET
        1330  +
/./example
        1331  +
        1332  +
host:example.amazonaws.com
        1333  +
x-amz-date:20150830T123600Z
        1334  +
        1335  +
host;x-amz-date
        1336  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1583   1337   
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
 1584   1338   
new file mode 100644
 1585   1339   
index 0000000..4a4b8f2
 1586         -
-- /dev/null
        1340  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1587   1341   
@@ -0,0 +1 @@
        1342  +
beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
              \
 No newline at end of file
 1588   1343   
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
 1589   1344   
new file mode 100644
 1590   1345   
index 0000000..d462bcd
 1591         -
-- /dev/null
        1346  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1592   1347   
@@ -0,0 +1,5 @@
        1348  +
GET /./example HTTP/1.1
        1349  +
Host:example.amazonaws.com
        1350  +
X-Amz-Date:20150830T123600Z
        1351  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
        1352  +
 1593   1353   
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
 1594   1354   
new file mode 100644
 1595   1355   
index 0000000..8be78c9
 1596         -
-- /dev/null
        1356  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1597   1357   
@@ -0,0 +1,4 @@
        1358  +
AWS4-HMAC-SHA256
        1359  +
20150830T123600Z
        1360  +
20150830/us-east-1/service/aws4_request
        1361  +
73895e0e829507e28e39fd24669aedc2434a8e179e547e3c075b42921f952cdb
              \
 No newline at end of file
 1598   1362   
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
 1599   1363   
new file mode 100644
 1600   1364   
index 0000000..fe1103c
 1601         -
-- /dev/null
        1365  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1602   1366   
@@ -0,0 +1,7 @@
        1367  +
GET
        1368  +
/./example
        1369  +
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
        1370  +
host:example.amazonaws.com
        1371  +
        1372  +
host
        1373  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1603   1374   
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
 1604   1375   
new file mode 100644
 1605   1376   
index 0000000..ce80762
 1606         -
-- /dev/null
        1377  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1607   1378   
@@ -0,0 +1 @@
        1379  +
72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10
              \
 No newline at end of file
 1608   1380   
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
 1609   1381   
new file mode 100644
 1610   1382   
index 0000000..30841a6
 1611         -
-- /dev/null
        1383  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1612   1384   
@@ -0,0 +1,3 @@
        1385  +
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
        1386  +
Host:example.amazonaws.com
        1387  +
 1613   1388   
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
 1614   1389   
new file mode 100644
 1615   1390   
index 0000000..5c66509
 1616         -
-- /dev/null
        1391  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1617   1392   
@@ -0,0 +1,4 @@
        1393  +
AWS4-HMAC-SHA256
        1394  +
20150830T123600Z
        1395  +
20150830/us-east-1/service/aws4_request
        1396  +
cb23444939471187ac1f0fb25d437337af0d5f48b5ae0ede5baa3727c8c6af92
              \
 No newline at end of file
 1618   1397   
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
 1619   1398   
similarity index 100%
 1620   1399   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt
 1621   1400   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1622   1401   
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
 1623   1402   
new file mode 100644
 1624   1403   
index 0000000..7bee5c7
 1625         -
-- /dev/null
        1404  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1626   1405   
@@ -0,0 +1,12 @@
        1406  +
{
        1407  +
    "credentials": {
        1408  +
        "access_key_id": "AKIDEXAMPLE",
        1409  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1410  +
    },
        1411  +
    "expiration_in_seconds": 3600,
        1412  +
    "normalize": false,
        1413  +
    "region": "us-east-1",
        1414  +
    "service": "service",
        1415  +
    "sign_body": false,
        1416  +
    "timestamp": "2015-08-30T12:36:00Z"
        1417  +
}
              \
 No newline at end of file
 1627   1418   
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
 1628   1419   
new file mode 100644
 1629   1420   
index 0000000..5860c8a
 1630         -
-- /dev/null
        1421  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1631   1422   
@@ -0,0 +1,8 @@
        1423  +
GET
        1424  +
//
        1425  +
        1426  +
host:example.amazonaws.com
        1427  +
x-amz-date:20150830T123600Z
        1428  +
        1429  +
host;x-amz-date
        1430  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1632   1431   
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
 1633   1432   
new file mode 100644
 1634   1433   
index 0000000..8310471
 1635         -
-- /dev/null
        1434  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1636   1435   
@@ -0,0 +1 @@
        1436  +
c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
              \
 No newline at end of file
 1637   1437   
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
 1638   1438   
new file mode 100644
 1639   1439   
index 0000000..2a7afef
 1640         -
-- /dev/null
        1440  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1641   1441   
@@ -0,0 +1,5 @@
        1442  +
GET // HTTP/1.1
        1443  +
Host:example.amazonaws.com
        1444  +
X-Amz-Date:20150830T123600Z
        1445  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
        1446  +
 1642   1447   
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
 1643   1448   
new file mode 100644
 1644   1449   
index 0000000..06059dd
 1645         -
-- /dev/null
        1450  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1646   1451   
@@ -0,0 +1,4 @@
        1452  +
AWS4-HMAC-SHA256
        1453  +
20150830T123600Z
        1454  +
20150830/us-east-1/service/aws4_request
        1455  +
80cb39203d058af815de2b79250ff56e1b73eb9b4718c86556cdc6f150c5d209
              \
 No newline at end of file
 1647   1456   
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
 1648   1457   
new file mode 100644
 1649   1458   
index 0000000..6d63aef
 1650         -
-- /dev/null
        1459  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1651   1460   
@@ -0,0 +1,7 @@
        1461  +
GET
        1462  +
//
        1463  +
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
        1464  +
host:example.amazonaws.com
        1465  +
        1466  +
host
        1467  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1652   1468   
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
 1653   1469   
new file mode 100644
 1654   1470   
index 0000000..e5b7b6c
 1655         -
-- /dev/null
        1471  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1656   1472   
@@ -0,0 +1 @@
        1473  +
b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd
              \
 No newline at end of file
 1657   1474   
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
 1658   1475   
new file mode 100644
 1659   1476   
index 0000000..46fe3fd
 1660         -
-- /dev/null
        1477  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1661   1478   
@@ -0,0 +1,3 @@
        1479  +
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
        1480  +
Host:example.amazonaws.com
        1481  +
 1662   1482   
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
 1663   1483   
new file mode 100644
 1664   1484   
index 0000000..ea79940
 1665         -
-- /dev/null
        1485  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1666   1486   
@@ -0,0 +1,4 @@
        1487  +
AWS4-HMAC-SHA256
        1488  +
20150830T123600Z
        1489  +
20150830/us-east-1/service/aws4_request
        1490  +
e10a01494cafa1f2207c4de80c69b7a36d6f2d282aa63ee64a5ca50e175cf730
              \
 No newline at end of file
 1667   1491   
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
 1668   1492   
similarity index 100%
 1669   1493   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt
 1670   1494   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1671   1495   
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
 1672   1496   
new file mode 100644
 1673   1497   
index 0000000..0468d80
 1674         -
-- /dev/null
        1498  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1675   1499   
@@ -0,0 +1,12 @@
        1500  +
{
        1501  +
    "credentials": {
        1502  +
        "access_key_id": "AKIDEXAMPLE",
        1503  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1504  +
    },
        1505  +
    "expiration_in_seconds": 3600,
        1506  +
    "normalize": true,
        1507  +
    "region": "us-east-1",
        1508  +
    "service": "service",
        1509  +
    "sign_body": false,
        1510  +
    "timestamp": "2015-08-30T12:36:00Z"
        1511  +
}
              \
 No newline at end of file
 1676   1512   
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
 1677   1513   
similarity index 100%
 1678   1514   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq
 1679   1515   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1680   1516   
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
 1681   1517   
new file mode 100644
 1682   1518   
index 0000000..71c7bac
 1683         -
-- /dev/null
        1519  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1684   1520   
@@ -0,0 +1 @@
        1521  +
9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
 1685   1522   
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
 1686   1523   
new file mode 100644
 1687   1524   
index 0000000..0add1f1
 1688         -
-- /dev/null
        1525  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1689   1526   
@@ -0,0 +1,5 @@
        1527  +
GET //example// HTTP/1.1
        1528  +
Host:example.amazonaws.com
        1529  +
X-Amz-Date:20150830T123600Z
        1530  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
        1531  +
 1690   1532   
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
 1691   1533   
similarity index 100%
 1692   1534   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts
 1693   1535   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1694   1536   
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
 1695   1537   
new file mode 100644
 1696   1538   
index 0000000..ce72510
 1697         -
-- /dev/null
        1539  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1698   1540   
@@ -0,0 +1,7 @@
        1541  +
GET
        1542  +
/example/
        1543  +
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
        1544  +
host:example.amazonaws.com
        1545  +
        1546  +
host
        1547  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1699   1548   
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
 1700   1549   
new file mode 100644
 1701   1550   
index 0000000..265f387
 1702         -
-- /dev/null
        1551  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1703   1552   
@@ -0,0 +1 @@
        1553  +
c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082
              \
 No newline at end of file
 1704   1554   
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
 1705   1555   
new file mode 100644
 1706   1556   
index 0000000..e1fcb2e
 1707         -
-- /dev/null
        1557  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1708   1558   
@@ -0,0 +1,3 @@
        1559  +
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
        1560  +
Host:example.amazonaws.com
        1561  +
 1709   1562   
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
 1710   1563   
new file mode 100644
 1711   1564   
index 0000000..a14de61
 1712         -
-- /dev/null
        1565  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1713   1566   
@@ -0,0 +1,4 @@
        1567  +
AWS4-HMAC-SHA256
        1568  +
20150830T123600Z
        1569  +
20150830/us-east-1/service/aws4_request
        1570  +
1a3e3fe19998c62136ed2ff9c8531973a46d4a21b336f58e8fcad185ec64d642
              \
 No newline at end of file
 1714   1571   
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
 1715   1572   
similarity index 100%
 1716   1573   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt
 1717   1574   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1718   1575   
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
 1719   1576   
new file mode 100644
 1720   1577   
index 0000000..7bee5c7
 1721         -
-- /dev/null
        1578  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1722   1579   
@@ -0,0 +1,12 @@
        1580  +
{
        1581  +
    "credentials": {
        1582  +
        "access_key_id": "AKIDEXAMPLE",
        1583  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1584  +
    },
        1585  +
    "expiration_in_seconds": 3600,
        1586  +
    "normalize": false,
        1587  +
    "region": "us-east-1",
        1588  +
    "service": "service",
        1589  +
    "sign_body": false,
        1590  +
    "timestamp": "2015-08-30T12:36:00Z"
        1591  +
}
              \
 No newline at end of file
 1723   1592   
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
 1724   1593   
new file mode 100644
 1725   1594   
index 0000000..dfffaaf
 1726         -
-- /dev/null
        1595  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1727   1596   
@@ -0,0 +1,8 @@
        1597  +
GET
        1598  +
//example//
        1599  +
        1600  +
host:example.amazonaws.com
        1601  +
x-amz-date:20150830T123600Z
        1602  +
        1603  +
host;x-amz-date
        1604  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1728   1605   
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
 1729   1606   
new file mode 100644
 1730   1607   
index 0000000..edbcc0d
 1731         -
-- /dev/null
        1608  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1732   1609   
@@ -0,0 +1 @@
        1610  +
87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
              \
 No newline at end of file
 1733   1611   
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
 1734   1612   
new file mode 100644
 1735   1613   
index 0000000..4cc12dd
 1736         -
-- /dev/null
        1614  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1737   1615   
@@ -0,0 +1,5 @@
        1616  +
GET //example// HTTP/1.1
        1617  +
Host:example.amazonaws.com
        1618  +
X-Amz-Date:20150830T123600Z
        1619  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
        1620  +
 1738   1621   
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
 1739   1622   
new file mode 100644
 1740   1623   
index 0000000..3eba390
 1741         -
-- /dev/null
        1624  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1742   1625   
@@ -0,0 +1,4 @@
        1626  +
AWS4-HMAC-SHA256
        1627  +
20150830T123600Z
        1628  +
20150830/us-east-1/service/aws4_request
        1629  +
528ec3105ee1f34ab014bb0a1a45da0ed2742a4fea3555149e5b4d5d201eb240
              \
 No newline at end of file
 1743   1630   
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
 1744   1631   
new file mode 100644
 1745   1632   
index 0000000..f7844e3
 1746         -
-- /dev/null
        1633  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1747   1634   
@@ -0,0 +1,7 @@
        1635  +
GET
        1636  +
//example//
        1637  +
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
        1638  +
host:example.amazonaws.com
        1639  +
        1640  +
host
        1641  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1748   1642   
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
 1749   1643   
new file mode 100644
 1750   1644   
index 0000000..a8d6b96
 1751         -
-- /dev/null
        1645  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1752   1646   
@@ -0,0 +1 @@
        1647  +
822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2
              \
 No newline at end of file
 1753   1648   
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
 1754   1649   
new file mode 100644
 1755   1650   
index 0000000..a8322c6
 1756         -
-- /dev/null
        1651  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1757   1652   
@@ -0,0 +1,3 @@
        1653  +
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
        1654  +
Host:example.amazonaws.com
        1655  +
 1758   1656   
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
 1759   1657   
new file mode 100644
 1760   1658   
index 0000000..068724d
 1761         -
-- /dev/null
        1659  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1762   1660   
@@ -0,0 +1,4 @@
        1661  +
AWS4-HMAC-SHA256
        1662  +
20150830T123600Z
        1663  +
20150830/us-east-1/service/aws4_request
        1664  +
82241114f9a6320f054333c890952474aa7a0069d28a4326c3a8d95bbecc69ee
              \
 No newline at end of file
 1763   1665   
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
 1764   1666   
similarity index 100%
 1765   1667   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt
 1766   1668   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1767   1669   
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
 1768   1670   
new file mode 100644
 1769   1671   
index 0000000..0468d80
 1770         -
-- /dev/null
        1672  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1771   1673   
@@ -0,0 +1,12 @@
        1674  +
{
        1675  +
    "credentials": {
        1676  +
        "access_key_id": "AKIDEXAMPLE",
        1677  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1678  +
    },
        1679  +
    "expiration_in_seconds": 3600,
        1680  +
    "normalize": true,
        1681  +
    "region": "us-east-1",
        1682  +
    "service": "service",
        1683  +
    "sign_body": false,
        1684  +
    "timestamp": "2015-08-30T12:36:00Z"
        1685  +
}
              \
 No newline at end of file
 1772   1686   
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
 1773   1687   
similarity index 100%
 1774   1688   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq
 1775   1689   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1776   1690   
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
 1777   1691   
new file mode 100644
 1778   1692   
index 0000000..f63892b
 1779         -
-- /dev/null
        1693  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1780   1694   
@@ -0,0 +1 @@
        1695  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1781   1696   
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
 1782   1697   
new file mode 100644
 1783   1698   
index 0000000..19cd5cb
 1784         -
-- /dev/null
        1699  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 1785   1700   
@@ -0,0 +1,5 @@
        1701  +
GET /example space/ HTTP/1.1
        1702  +
Host:example.amazonaws.com
        1703  +
X-Amz-Date:20150830T123600Z
        1704  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1705  +
 1786   1706   
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
 1787   1707   
similarity index 100%
 1788   1708   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts
 1789   1709   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 1790   1710   
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
 1791   1711   
new file mode 100644
 1792   1712   
index 0000000..fa3d3e2
 1793         -
-- /dev/null
        1713  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 1794   1714   
@@ -0,0 +1,7 @@
        1715  +
GET
        1716  +
/example%20space/
        1717  +
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
        1718  +
host:example.amazonaws.com
        1719  +
        1720  +
host
        1721  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1795   1722   
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
 1796   1723   
new file mode 100644
 1797   1724   
index 0000000..5b2e204
 1798         -
-- /dev/null
        1725  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 1799   1726   
@@ -0,0 +1 @@
        1727  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1800   1728   
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
 1801   1729   
new file mode 100644
 1802   1730   
index 0000000..93ca1d0
 1803         -
-- /dev/null
        1731  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 1804   1732   
@@ -0,0 +1,3 @@
        1733  +
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
        1734  +
Host:example.amazonaws.com
        1735  +
 1805   1736   
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
 1806   1737   
new file mode 100644
 1807   1738   
index 0000000..b4cb789
 1808         -
-- /dev/null
        1739  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 1809   1740   
@@ -0,0 +1,4 @@
        1741  +
AWS4-HMAC-SHA256
        1742  +
20150830T123600Z
        1743  +
20150830/us-east-1/service/aws4_request
        1744  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1810   1745   
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
 1811   1746   
new file mode 100644
 1812   1747   
index 0000000..860a277
 1813         -
-- /dev/null
        1748  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 1814   1749   
@@ -0,0 +1,2 @@
        1750  +
GET /example%20space/ HTTP/1.1
        1751  +
Host:example.amazonaws.com
 1815   1752   
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
 1816   1753   
new file mode 100644
 1817   1754   
index 0000000..7bee5c7
 1818         -
-- /dev/null
        1755  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 1819   1756   
@@ -0,0 +1,12 @@
        1757  +
{
        1758  +
    "credentials": {
        1759  +
        "access_key_id": "AKIDEXAMPLE",
        1760  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1761  +
    },
        1762  +
    "expiration_in_seconds": 3600,
        1763  +
    "normalize": false,
        1764  +
    "region": "us-east-1",
        1765  +
    "service": "service",
        1766  +
    "sign_body": false,
        1767  +
    "timestamp": "2015-08-30T12:36:00Z"
        1768  +
}
              \
 No newline at end of file
 1820   1769   
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
 1821   1770   
similarity index 66%
 1822   1771   
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
 1823   1772   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1824   1773   
index 71dc981..124a709 100644
 1825         -
-- 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
        1774  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1826   1775   
@@ -1,9 +1,8 @@
 1827         -
POST
 1828         -
/
        1776  +
GET
        1777  +
/example%20space/
 1829   1778   
 1830         -
content-type:application/x-www-form-urlencoded; charset=utf-8
 1831   1779   
host:example.amazonaws.com
 1832   1780   
x-amz-date:20150830T123600Z
 1833   1781   
 1834   1782   
host;x-amz-date
 1835   1783   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1836   1784   
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
 1837   1785   
new file mode 100644
 1838   1786   
index 0000000..f63892b
 1839         -
-- /dev/null
        1787  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 1840   1788   
@@ -0,0 +1 @@
        1789  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1841   1790   
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
 1842   1791   
new file mode 100644
 1843   1792   
index 0000000..19cd5cb
 1844         -
-- /dev/null
        1793  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 1845   1794   
@@ -0,0 +1,5 @@
        1795  +
GET /example space/ HTTP/1.1
        1796  +
Host:example.amazonaws.com
        1797  +
X-Amz-Date:20150830T123600Z
        1798  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1799  +
 1846   1800   
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
 1847   1801   
new file mode 100644
 1848   1802   
index 0000000..a633f0c
 1849         -
-- /dev/null
        1803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 1850   1804   
@@ -0,0 +1,4 @@
        1805  +
AWS4-HMAC-SHA256
        1806  +
20150830T123600Z
        1807  +
20150830/us-east-1/service/aws4_request
        1808  +
63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86
              \
 No newline at end of file
 1851   1809   
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
 1852   1810   
new file mode 100644
 1853   1811   
index 0000000..fa3d3e2
 1854         -
-- /dev/null
        1812  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 1855   1813   
@@ -0,0 +1,7 @@
        1814  +
GET
        1815  +
/example%20space/
        1816  +
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
        1817  +
host:example.amazonaws.com
        1818  +
        1819  +
host
        1820  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1856   1821   
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
 1857   1822   
new file mode 100644
 1858   1823   
index 0000000..5b2e204
 1859         -
-- /dev/null
        1824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 1860   1825   
@@ -0,0 +1 @@
        1826  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1861   1827   
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
 1862   1828   
new file mode 100644
 1863   1829   
index 0000000..93ca1d0
 1864         -
-- /dev/null
        1830  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 1865   1831   
@@ -0,0 +1,3 @@
        1832  +
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
        1833  +
Host:example.amazonaws.com
        1834  +
 1866   1835   
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
 1867   1836   
new file mode 100644
 1868   1837   
index 0000000..b4cb789
 1869         -
-- /dev/null
        1838  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 1870   1839   
@@ -0,0 +1,4 @@
        1840  +
AWS4-HMAC-SHA256
        1841  +
20150830T123600Z
        1842  +
20150830/us-east-1/service/aws4_request
        1843  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1871   1844   
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
 1872   1845   
similarity index 67%
 1873   1846   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
 1874   1847   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1875   1848   
index b7d5e8b..ab509ab 100644
 1876         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
        1849  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1877   1850   
@@ -1,3 +1,2 @@
 1878   1851   
GET /example space/ HTTP/1.1
 1879   1852   
Host:example.amazonaws.com
 1880         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1881   1853   
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
 1882   1854   
new file mode 100644
 1883   1855   
index 0000000..0468d80
 1884         -
-- /dev/null
        1856  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 1885   1857   
@@ -0,0 +1,12 @@
        1858  +
{
        1859  +
    "credentials": {
        1860  +
        "access_key_id": "AKIDEXAMPLE",
        1861  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1862  +
    },
        1863  +
    "expiration_in_seconds": 3600,
        1864  +
    "normalize": true,
        1865  +
    "region": "us-east-1",
        1866  +
    "service": "service",
        1867  +
    "sign_body": false,
        1868  +
    "timestamp": "2015-08-30T12:36:00Z"
        1869  +
}
              \
 No newline at end of file
 1886   1870   
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
 1887   1871   
similarity index 100%
 1888   1872   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq
 1889   1873   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 1890   1874   
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
 1891   1875   
new file mode 100644
 1892   1876   
index 0000000..e503354
 1893         -
-- /dev/null
        1877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 1894   1878   
@@ -0,0 +1 @@
        1879  +
07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
 1895   1880   
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
 1896   1881   
new file mode 100644
 1897   1882   
index 0000000..4367892
 1898         -
-- /dev/null
        1883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 1899   1884   
@@ -0,0 +1,5 @@
        1885  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        1886  +
Host:example.amazonaws.com
        1887  +
X-Amz-Date:20150830T123600Z
        1888  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
        1889  +
 1900   1890   
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
 1901   1891   
similarity index 100%
 1902   1892   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts
 1903   1893   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 1904   1894   
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
 1905   1895   
new file mode 100644
 1906   1896   
index 0000000..d7f0696
 1907         -
-- /dev/null
        1897  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 1908   1898   
@@ -0,0 +1,7 @@
        1899  +
GET
        1900  +
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
        1901  +
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
        1902  +
host:example.amazonaws.com
        1903  +
        1904  +
host
        1905  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1909   1906   
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
 1910   1907   
new file mode 100644
 1911   1908   
index 0000000..509e972
 1912         -
-- /dev/null
        1909  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 1913   1910   
@@ -0,0 +1 @@
        1911  +
95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005
              \
 No newline at end of file
 1914   1912   
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
 1915   1913   
new file mode 100644
 1916   1914   
index 0000000..79aad36
 1917         -
-- /dev/null
        1915  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 1918   1916   
@@ -0,0 +1,3 @@
        1917  +
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
        1918  +
Host:example.amazonaws.com
        1919  +
 1919   1920   
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
 1920   1921   
new file mode 100644
 1921   1922   
index 0000000..e8068b3
 1922         -
-- /dev/null
        1923  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 1923   1924   
@@ -0,0 +1,4 @@
        1925  +
AWS4-HMAC-SHA256
        1926  +
20150830T123600Z
        1927  +
20150830/us-east-1/service/aws4_request
        1928  +
3134f2fbc6ef58f34b74b01643a159bfccbc121ea4288a4b75e65bc805d08219
              \
 No newline at end of file
 1924   1929   
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
 1925   1930   
similarity index 100%
 1926   1931   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt
 1927   1932   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 1928   1933   
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
 1929   1934   
new file mode 100644
 1930   1935   
index 0000000..0468d80
 1931         -
-- /dev/null
        1936  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 1932   1937   
@@ -0,0 +1,12 @@
        1938  +
{
        1939  +
    "credentials": {
        1940  +
        "access_key_id": "AKIDEXAMPLE",
        1941  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1942  +
    },
        1943  +
    "expiration_in_seconds": 3600,
        1944  +
    "normalize": true,
        1945  +
    "region": "us-east-1",
        1946  +
    "service": "service",
        1947  +
    "sign_body": false,
        1948  +
    "timestamp": "2015-08-30T12:36:00Z"
        1949  +
}
              \
 No newline at end of file
 1933   1950   
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
 1934   1951   
similarity index 100%
 1935   1952   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq
 1936   1953   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 1937   1954   
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
 1938   1955   
new file mode 100644
 1939   1956   
index 0000000..9a13676
 1940         -
-- /dev/null
        1957  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 1941   1958   
@@ -0,0 +1 @@
        1959  +
8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
 1942   1960   
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
 1943   1961   
new file mode 100644
 1944   1962   
index 0000000..5aaf47c
 1945         -
-- /dev/null
        1963  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 1946   1964   
@@ -0,0 +1,5 @@
        1965  +
GET /ሴ HTTP/1.1
        1966  +
Host:example.amazonaws.com
        1967  +
X-Amz-Date:20150830T123600Z
        1968  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
        1969  +
 1947   1970   
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
 1948   1971   
similarity index 100%
 1949   1972   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts
 1950   1973   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 1951   1974   
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
 1952   1975   
new file mode 100644
 1953   1976   
index 0000000..bdb77c9
 1954         -
-- /dev/null
        1977  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 1955   1978   
@@ -0,0 +1,7 @@
        1979  +
GET
        1980  +
/%E1%88%B4
        1981  +
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
        1982  +
host:example.amazonaws.com
        1983  +
        1984  +
host
        1985  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1956   1986   
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
 1957   1987   
new file mode 100644
 1958   1988   
index 0000000..21342b3
 1959         -
-- /dev/null
        1989  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 1960   1990   
@@ -0,0 +1 @@
        1991  +
10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44
              \
 No newline at end of file
 1961   1992   
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
 1962   1993   
new file mode 100644
 1963   1994   
index 0000000..368c2ff
 1964         -
-- /dev/null
        1995  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 1965   1996   
@@ -0,0 +1,3 @@
        1997  +
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
        1998  +
Host:example.amazonaws.com
        1999  +
 1966   2000   
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
 1967   2001   
new file mode 100644
 1968   2002   
index 0000000..56b8fbf
 1969         -
-- /dev/null
        2003  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 1970   2004   
@@ -0,0 +1,4 @@
        2005  +
AWS4-HMAC-SHA256
        2006  +
20150830T123600Z
        2007  +
20150830/us-east-1/service/aws4_request
        2008  +
d8f78e05d0d9bb1c16ae1e60ed405de76cfb8fdcd3e414ffe65fad563b996d66
              \
 No newline at end of file
 1971   2009   
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
 1972   2010   
similarity index 62%
 1973   2011   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
 1974   2012   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 1975   2013   
index da4808d..9e273f6 100644
 1976         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
        2014  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 1977   2015   
@@ -1,3 +1,2 @@
 1978   2016   
GET /ሴ HTTP/1.1
 1979   2017   
Host:example.amazonaws.com
 1980         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1981   2018   
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
 1982   2019   
new file mode 100644
 1983   2020   
index 0000000..0468d80
 1984         -
-- /dev/null
        2021  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 1985   2022   
@@ -0,0 +1,12 @@
        2023  +
{
        2024  +
    "credentials": {
        2025  +
        "access_key_id": "AKIDEXAMPLE",
        2026  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2027  +
    },
        2028  +
    "expiration_in_seconds": 3600,
        2029  +
    "normalize": true,
        2030  +
    "region": "us-east-1",
        2031  +
    "service": "service",
        2032  +
    "sign_body": false,
        2033  +
    "timestamp": "2015-08-30T12:36:00Z"
        2034  +
}
              \
 No newline at end of file
 1986   2035   
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
 1987   2036   
similarity index 100%
 1988   2037   
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
 1989   2038   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 1990   2039   
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
 1991   2040   
new file mode 100644
 1992   2041   
index 0000000..d7f1c1c
 1993         -
-- /dev/null
        2042  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 1994   2043   
@@ -0,0 +1 @@
        2044  +
a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
 1995   2045   
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
 1996   2046   
new file mode 100644
 1997   2047   
index 0000000..1c60790
 1998         -
-- /dev/null
        2048  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 1999   2049   
@@ -0,0 +1,5 @@
        2050  +
GET /?Param1=value1 HTTP/1.1
        2051  +
Host:example.amazonaws.com
        2052  +
X-Amz-Date:20150830T123600Z
        2053  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
        2054  +
 2000   2055   
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
 2001   2056   
similarity index 100%
 2002   2057   
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
 2003   2058   
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
 2004   2059   
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
 2005   2060   
new file mode 100644
 2006   2061   
index 0000000..6a823ed
 2007         -
-- /dev/null
        2062  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 2008   2063   
@@ -0,0 +1,7 @@
        2064  +
GET
        2065  +
/
        2066  +
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
        2067  +
host:example.amazonaws.com
        2068  +
        2069  +
host
        2070  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2009   2071   
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
 2010   2072   
new file mode 100644
 2011   2073   
index 0000000..8c77136
 2012         -
-- /dev/null
        2074  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 2013   2075   
@@ -0,0 +1 @@
        2076  +
49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de
              \
 No newline at end of file
 2014   2077   
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
 2015   2078   
new file mode 100644
 2016   2079   
index 0000000..2d337d8
 2017         -
-- /dev/null
        2080  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 2018   2081   
@@ -0,0 +1,3 @@
        2082  +
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
        2083  +
Host:example.amazonaws.com
        2084  +
 2019   2085   
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
 2020   2086   
new file mode 100644
 2021   2087   
index 0000000..191a484
 2022         -
-- /dev/null
        2088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 2023   2089   
@@ -0,0 +1,4 @@
        2090  +
AWS4-HMAC-SHA256
        2091  +
20150830T123600Z
        2092  +
20150830/us-east-1/service/aws4_request
        2093  +
74828b608f939673ed5a839190452a943b0178760f258da766209b21f8ca3f86
              \
 No newline at end of file
 2024   2094   
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
 2025   2095   
similarity index 100%
 2026   2096   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt
 2027   2097   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 2028   2098   
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
 2029   2099   
new file mode 100644
 2030   2100   
index 0000000..0468d80
 2031         -
-- /dev/null
        2101  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 2032   2102   
@@ -0,0 +1,12 @@
        2103  +
{
        2104  +
    "credentials": {
        2105  +
        "access_key_id": "AKIDEXAMPLE",
        2106  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2107  +
    },
        2108  +
    "expiration_in_seconds": 3600,
        2109  +
    "normalize": true,
        2110  +
    "region": "us-east-1",
        2111  +
    "service": "service",
        2112  +
    "sign_body": false,
        2113  +
    "timestamp": "2015-08-30T12:36:00Z"
        2114  +
}
              \
 No newline at end of file
 2033   2115   
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
 2034   2116   
new file mode 100644
 2035   2117   
index 0000000..0c8ba21
 2036         -
-- /dev/null
        2118  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 2037   2119   
@@ -0,0 +1,8 @@
        2120  +
GET
        2121  +
/
        2122  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        2123  +
host:example.amazonaws.com
        2124  +
x-amz-date:20150830T123600Z
        2125  +
        2126  +
host;x-amz-date
        2127  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2038   2128   
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
 2039   2129   
new file mode 100644
 2040   2130   
index 0000000..9ab65ed
 2041         -
-- /dev/null
        2131  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 2042   2132   
@@ -0,0 +1 @@
        2133  +
371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
              \
 No newline at end of file
 2043   2134   
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
 2044   2135   
new file mode 100644
 2045   2136   
index 0000000..0bcdf98
 2046         -
-- /dev/null
        2137  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 2047   2138   
@@ -0,0 +1,5 @@
        2139  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2140  +
Host:example.amazonaws.com
        2141  +
X-Amz-Date:20150830T123600Z
        2142  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
        2143  +
 2048   2144   
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
 2049   2145   
new file mode 100644
 2050   2146   
index 0000000..bf674ad
 2051         -
-- /dev/null
        2147  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 2052   2148   
@@ -0,0 +1,4 @@
        2149  +
AWS4-HMAC-SHA256
        2150  +
20150830T123600Z
        2151  +
20150830/us-east-1/service/aws4_request
        2152  +
868294f5c38bd141c4972a373a76654f1418a8e4fc18b2e7903ae45e8ae0ec71
              \
 No newline at end of file
 2053   2153   
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
 2054   2154   
new file mode 100644
 2055   2155   
index 0000000..3f590a4
 2056         -
-- /dev/null
        2156  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 2057   2157   
@@ -0,0 +1,7 @@
        2158  +
GET
        2159  +
/
        2160  +
%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
        2161  +
host:example.amazonaws.com
        2162  +
        2163  +
host
        2164  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2058   2165   
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
 2059   2166   
new file mode 100644
 2060   2167   
index 0000000..e225eab
 2061         -
-- /dev/null
        2168  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 2062   2169   
@@ -0,0 +1 @@
        2170  +
c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787
              \
 No newline at end of file
 2063   2171   
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
 2064   2172   
new file mode 100644
 2065   2173   
index 0000000..6206719
 2066         -
-- /dev/null
        2174  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 2067   2175   
@@ -0,0 +1,3 @@
        2176  +
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
        2177  +
Host:example.amazonaws.com
        2178  +
 2068   2179   
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
 2069   2180   
new file mode 100644
 2070   2181   
index 0000000..81a4210
 2071         -
-- /dev/null
        2182  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 2072   2183   
@@ -0,0 +1,4 @@
        2184  +
AWS4-HMAC-SHA256
        2185  +
20150830T123600Z
        2186  +
20150830/us-east-1/service/aws4_request
        2187  +
9808d6cdc8245c74e705c68350fc6a62b91778cdd613890e5d177998c02c6f53
              \
 No newline at end of file
 2073   2188   
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
 2074   2189   
new file mode 100644
 2075   2190   
index 0000000..368c6e3
 2076         -
-- /dev/null
        2191  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 2077   2192   
@@ -0,0 +1,2 @@
        2193  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2194  +
Host:example.amazonaws.com
 2078   2195   
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
 2079   2196   
new file mode 100644
 2080   2197   
index 0000000..0468d80
 2081         -
-- /dev/null
        2198  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 2082   2199   
@@ -0,0 +1,12 @@
        2200  +
{
        2201  +
    "credentials": {
        2202  +
        "access_key_id": "AKIDEXAMPLE",
        2203  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2204  +
    },
        2205  +
    "expiration_in_seconds": 3600,
        2206  +
    "normalize": true,
        2207  +
    "region": "us-east-1",
        2208  +
    "service": "service",
        2209  +
    "sign_body": false,
        2210  +
    "timestamp": "2015-08-30T12:36:00Z"
        2211  +
}
              \
 No newline at end of file
 2083   2212   
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
 2084   2213   
similarity index 100%
 2085   2214   
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
 2086   2215   
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
 2087   2216   
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
 2088   2217   
new file mode 100644
 2089   2218   
index 0000000..6a8cb9d
 2090         -
-- /dev/null
        2219  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 2091   2220   
@@ -0,0 +1 @@
        2221  +
b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
 2092   2222   
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
 2093   2223   
new file mode 100644
 2094   2224   
index 0000000..f78a9d2
 2095         -
-- /dev/null
        2225  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 2096   2226   
@@ -0,0 +1,5 @@
        2227  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        2228  +
Host:example.amazonaws.com
        2229  +
X-Amz-Date:20150830T123600Z
        2230  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
        2231  +
 2097   2232   
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
 2098   2233   
similarity index 100%
 2099   2234   
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
 2100   2235   
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
 2101   2236   
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
 2102   2237   
new file mode 100644
 2103   2238   
index 0000000..a6e1bc7
 2104         -
-- /dev/null
        2239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 2105   2240   
@@ -0,0 +1,7 @@
        2241  +
GET
        2242  +
/
        2243  +
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
        2244  +
host:example.amazonaws.com
        2245  +
        2246  +
host
        2247  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2106   2248   
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
 2107   2249   
new file mode 100644
 2108   2250   
index 0000000..d6e6a88
 2109         -
-- /dev/null
        2251  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 2110   2252   
@@ -0,0 +1 @@
        2253  +
86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5
              \
 No newline at end of file
 2111   2254   
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
 2112   2255   
new file mode 100644
 2113   2256   
index 0000000..538e2f0
 2114         -
-- /dev/null
        2257  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 2115   2258   
@@ -0,0 +1,3 @@
        2259  +
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
        2260  +
Host:example.amazonaws.com
        2261  +
 2116   2262   
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
 2117   2263   
new file mode 100644
 2118   2264   
index 0000000..e696085
 2119         -
-- /dev/null
        2265  +
++ 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
 2120   2266   
@@ -0,0 +1,4 @@
        2267  +
AWS4-HMAC-SHA256
        2268  +
20150830T123600Z
        2269  +
20150830/us-east-1/service/aws4_request
        2270  +
b82878ecb2ab7ad194b9fe79b2946c2a36ee1627a219408089b2d774c1a0cedb
              \
 No newline at end of file
 2121   2271   
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
 2122   2272   
similarity index 100%
 2123   2273   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt
 2124   2274   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2125   2275   
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
 2126   2276   
new file mode 100644
 2127   2277   
index 0000000..0468d80
 2128         -
-- /dev/null
        2278  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2129   2279   
@@ -0,0 +1,12 @@
        2280  +
{
        2281  +
    "credentials": {
        2282  +
        "access_key_id": "AKIDEXAMPLE",
        2283  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2284  +
    },
        2285  +
    "expiration_in_seconds": 3600,
        2286  +
    "normalize": true,
        2287  +
    "region": "us-east-1",
        2288  +
    "service": "service",
        2289  +
    "sign_body": false,
        2290  +
    "timestamp": "2015-08-30T12:36:00Z"
        2291  +
}
              \
 No newline at end of file
 2130   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2131   2293   
similarity index 100%
 2132   2294   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq
 2133   2295   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2134   2296   
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
 2135   2297   
new file mode 100644
 2136   2298   
index 0000000..876a64b
 2137         -
-- /dev/null
        2299  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2138   2300   
@@ -0,0 +1 @@
        2301  +
9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
 2139   2302   
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
 2140   2303   
similarity index 50%
 2141   2304   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
 2142   2305   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2143   2306   
index ba1ef40..9d0d993 100644
 2144         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
        2307  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2145   2308   
@@ -1,4 +1,5 @@
 2146   2309   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 2147   2310   
Host:example.amazonaws.com
 2148   2311   
X-Amz-Date:20150830T123600Z
 2149         -
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
        2312  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
        2313  +
 2150   2314   
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
 2151   2315   
similarity index 100%
 2152   2316   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts
 2153   2317   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2154   2318   
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
 2155   2319   
new file mode 100644
 2156   2320   
index 0000000..a1bac59
 2157         -
-- /dev/null
        2321  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2158   2322   
@@ -0,0 +1,7 @@
        2323  +
GET
        2324  +
/
        2325  +
-._~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
        2326  +
host:example.amazonaws.com
        2327  +
        2328  +
host
        2329  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2159   2330   
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
 2160   2331   
new file mode 100644
 2161   2332   
index 0000000..41881e9
 2162         -
-- /dev/null
        2333  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2163   2334   
@@ -0,0 +1 @@
        2335  +
8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf
              \
 No newline at end of file
 2164   2336   
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
 2165   2337   
new file mode 100644
 2166   2338   
index 0000000..3179076
 2167         -
-- /dev/null
        2339  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2168   2340   
@@ -0,0 +1,3 @@
        2341  +
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
        2342  +
Host:example.amazonaws.com
        2343  +
 2169   2344   
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
 2170   2345   
new file mode 100644
 2171   2346   
index 0000000..6d675fc
 2172         -
-- /dev/null
        2347  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2173   2348   
@@ -0,0 +1,4 @@
        2349  +
AWS4-HMAC-SHA256
        2350  +
20150830T123600Z
        2351  +
20150830/us-east-1/service/aws4_request
        2352  +
c77f27ef2b499fbfee3f0b3c88bba7057b2b31ee9b62047078a5e0d6be91fd58
              \
 No newline at end of file
 2174   2353   
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
 2175   2354   
similarity index 100%
 2176   2355   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt
 2177   2356   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2178   2357   
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
 2179   2358   
new file mode 100644
 2180   2359   
index 0000000..0468d80
 2181         -
-- /dev/null
        2360  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2182   2361   
@@ -0,0 +1,12 @@
        2362  +
{
        2363  +
    "credentials": {
        2364  +
        "access_key_id": "AKIDEXAMPLE",
        2365  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2366  +
    },
        2367  +
    "expiration_in_seconds": 3600,
        2368  +
    "normalize": true,
        2369  +
    "region": "us-east-1",
        2370  +
    "service": "service",
        2371  +
    "sign_body": false,
        2372  +
    "timestamp": "2015-08-30T12:36:00Z"
        2373  +
}
              \
 No newline at end of file
 2183   2374   
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
 2184   2375   
similarity index 100%
 2185   2376   
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
 2186   2377   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2187   2378   
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
 2188   2379   
new file mode 100644
 2189   2380   
index 0000000..87f295f
 2190         -
-- /dev/null
        2381  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2191   2382   
@@ -0,0 +1 @@
        2383  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2192   2384   
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
 2193   2385   
new file mode 100644
 2194   2386   
index 0000000..36b86e7
 2195         -
-- /dev/null
        2387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2196   2388   
@@ -0,0 +1,5 @@
        2389  +
GET / HTTP/1.1
        2390  +
Host:example.amazonaws.com
        2391  +
X-Amz-Date:20150830T123600Z
        2392  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2393  +
 2197   2394   
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
 2198   2395   
similarity index 100%
 2199   2396   
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
 2200   2397   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2201   2398   
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
 2202   2399   
new file mode 100644
 2203   2400   
index 0000000..fb2420d
 2204         -
-- /dev/null
        2401  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2205   2402   
@@ -0,0 +1,7 @@
        2403  +
GET
        2404  +
/
        2405  +
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
        2406  +
host:example.amazonaws.com
        2407  +
        2408  +
host
        2409  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2206   2410   
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
 2207   2411   
new file mode 100644
 2208   2412   
index 0000000..da5c905
 2209         -
-- /dev/null
        2413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2210   2414   
@@ -0,0 +1 @@
        2415  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2211   2416   
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
 2212   2417   
new file mode 100644
 2213   2418   
index 0000000..eeb7a8f
 2214         -
-- /dev/null
        2419  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2215   2420   
@@ -0,0 +1,3 @@
        2421  +
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
        2422  +
Host:example.amazonaws.com
        2423  +
 2216   2424   
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
 2217   2425   
new file mode 100644
 2218   2426   
index 0000000..d837e67
 2219         -
-- /dev/null
        2427  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2220   2428   
@@ -0,0 +1,4 @@
        2429  +
AWS4-HMAC-SHA256
        2430  +
20150830T123600Z
        2431  +
20150830/us-east-1/service/aws4_request
        2432  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2221   2433   
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
 2222   2434   
similarity index 100%
 2223   2435   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt
 2224   2436   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2225   2437   
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
 2226   2438   
new file mode 100644
 2227   2439   
index 0000000..0468d80
 2228         -
-- /dev/null
        2440  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2229   2441   
@@ -0,0 +1,12 @@
        2442  +
{
        2443  +
    "credentials": {
        2444  +
        "access_key_id": "AKIDEXAMPLE",
        2445  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2446  +
    },
        2447  +
    "expiration_in_seconds": 3600,
        2448  +
    "normalize": true,
        2449  +
    "region": "us-east-1",
        2450  +
    "service": "service",
        2451  +
    "sign_body": false,
        2452  +
    "timestamp": "2015-08-30T12:36:00Z"
        2453  +
}
              \
 No newline at end of file
 2230   2454   
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
 2231   2455   
similarity index 100%
 2232   2456   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq
 2233   2457   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2234   2458   
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
 2235   2459   
new file mode 100644
 2236   2460   
index 0000000..19a2cc9
 2237         -
-- /dev/null
        2461  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2238   2462   
@@ -0,0 +1 @@
        2463  +
2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
 2239   2464   
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
 2240   2465   
new file mode 100644
 2241   2466   
index 0000000..acb13ee
 2242         -
-- /dev/null
        2467  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2243   2468   
@@ -0,0 +1,5 @@
        2469  +
GET /?ሴ=bar HTTP/1.1
        2470  +
Host:example.amazonaws.com
        2471  +
X-Amz-Date:20150830T123600Z
        2472  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
        2473  +
 2244   2474   
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
 2245   2475   
similarity index 100%
 2246   2476   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts
 2247   2477   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2248   2478   
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
 2249   2479   
new file mode 100644
 2250   2480   
index 0000000..92cee62
 2251         -
-- /dev/null
        2481  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2252   2482   
@@ -0,0 +1,7 @@
        2483  +
GET
        2484  +
/
        2485  +
%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
        2486  +
host:example.amazonaws.com
        2487  +
        2488  +
host
        2489  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2253   2490   
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
 2254   2491   
new file mode 100644
 2255   2492   
index 0000000..c9e49de
 2256         -
-- /dev/null
        2493  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2257   2494   
@@ -0,0 +1 @@
        2495  +
0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600
              \
 No newline at end of file
 2258   2496   
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
 2259   2497   
new file mode 100644
 2260   2498   
index 0000000..8f4d8d0
 2261         -
-- /dev/null
        2499  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2262   2500   
@@ -0,0 +1,3 @@
        2501  +
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
        2502  +
Host:example.amazonaws.com
        2503  +
 2263   2504   
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
 2264   2505   
new file mode 100644
 2265   2506   
index 0000000..a6181dc
 2266         -
-- /dev/null
        2507  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2267   2508   
@@ -0,0 +1,4 @@
        2509  +
AWS4-HMAC-SHA256
        2510  +
20150830T123600Z
        2511  +
20150830/us-east-1/service/aws4_request
        2512  +
b2e8ae8e48ec880defebc6f6dc1d9fbc9f1856b33146f2943060ca71a50a7a77
              \
 No newline at end of file
 2268   2513   
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
 2269   2514   
similarity index 64%
 2270   2515   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
 2271   2516   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2272   2517   
index cc2757e..aff333a 100644
 2273         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
        2518  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2274   2519   
@@ -1,3 +1,2 @@
 2275   2520   
GET /?ሴ=bar HTTP/1.1
 2276   2521   
Host:example.amazonaws.com
 2277         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2278   2522   
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
 2279   2523   
similarity index 99%
 2280   2524   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
 2281   2525   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2282   2526   
index a457c8a..a334e18 100644
 2283   2527   
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
 2284   2528   
new file mode 100644
 2285   2529   
index 0000000..ccacdeb
 2286         -
-- /dev/null
        2530  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2287   2531   
@@ -0,0 +1,9 @@
        2532  +
GET
        2533  +
/
        2534  +
        2535  +
host:example.amazonaws.com
        2536  +
x-amz-date:20150830T123600Z
        2537  +
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2538  +
        2539  +
host;x-amz-date;x-amz-security-token
        2540  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2288   2541   
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
 2289   2542   
new file mode 100644
 2290   2543   
index 0000000..083e30d
 2291         -
-- /dev/null
        2544  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2292   2545   
@@ -0,0 +1 @@
        2546  +
07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
              \
 No newline at end of file
 2293   2547   
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
 2294   2548   
new file mode 100644
 2295   2549   
index 0000000..5287932
 2296         -
-- /dev/null
        2550  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2297   2551   
@@ -0,0 +1,6 @@
        2552  +
GET / HTTP/1.1
        2553  +
Host:example.amazonaws.com
        2554  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2555  +
X-Amz-Date:20150830T123600Z
        2556  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
        2557  +
 2298   2558   
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
 2299   2559   
new file mode 100644
 2300   2560   
index 0000000..742b880
 2301         -
-- /dev/null
        2561  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2302   2562   
@@ -0,0 +1,4 @@
        2563  +
AWS4-HMAC-SHA256
        2564  +
20150830T123600Z
        2565  +
20150830/us-east-1/service/aws4_request
        2566  +
067b36aa60031588cea4a4cde1f21215227a047690c72247f1d70b32fbbfad2b
              \
 No newline at end of file
 2303   2567   
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
 2304   2568   
new file mode 100644
 2305   2569   
index 0000000..5e75179
 2306         -
-- /dev/null
        2570  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2307   2571   
@@ -0,0 +1,7 @@
        2572  +
GET
        2573  +
/
        2574  +
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
        2575  +
host:example.amazonaws.com
        2576  +
        2577  +
host
        2578  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2308   2579   
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
 2309   2580   
new file mode 100644
 2310   2581   
index 0000000..50b947f
 2311         -
-- /dev/null
        2582  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2312   2583   
@@ -0,0 +1 @@
        2584  +
7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c
              \
 No newline at end of file
 2313   2585   
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
 2314   2586   
new file mode 100644
 2315   2587   
index 0000000..aee910b
 2316         -
-- /dev/null
        2588  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2317   2589   
@@ -0,0 +1,3 @@
        2590  +
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
        2591  +
Host:example.amazonaws.com
        2592  +
 2318   2593   
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
 2319   2594   
new file mode 100644
 2320   2595   
index 0000000..04a6c17
 2321         -
-- /dev/null
        2596  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2322   2597   
@@ -0,0 +1,4 @@
        2598  +
AWS4-HMAC-SHA256
        2599  +
20150830T123600Z
        2600  +
20150830/us-east-1/service/aws4_request
        2601  +
cb30434103085aa9e73780fc60dc9a9df818fd2a7b1de12a9f6f4d791f898761
              \
 No newline at end of file
 2323   2602   
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
 2324   2603   
similarity index 100%
 2325   2604   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt
 2326   2605   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2327   2606   
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
 2328   2607   
new file mode 100644
 2329   2608   
index 0000000..0468d80
 2330         -
-- /dev/null
        2609  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2331   2610   
@@ -0,0 +1,12 @@
        2611  +
{
        2612  +
    "credentials": {
        2613  +
        "access_key_id": "AKIDEXAMPLE",
        2614  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2615  +
    },
        2616  +
    "expiration_in_seconds": 3600,
        2617  +
    "normalize": true,
        2618  +
    "region": "us-east-1",
        2619  +
    "service": "service",
        2620  +
    "sign_body": false,
        2621  +
    "timestamp": "2015-08-30T12:36:00Z"
        2622  +
}
              \
 No newline at end of file
 2332   2623   
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
 2333   2624   
similarity index 100%
 2334   2625   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq
 2335   2626   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2336   2627   
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
 2337   2628   
new file mode 100644
 2338   2629   
index 0000000..87f295f
 2339         -
-- /dev/null
        2630  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2340   2631   
@@ -0,0 +1 @@
        2632  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2341   2633   
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
 2342   2634   
new file mode 100644
 2343   2635   
index 0000000..36b86e7
 2344         -
-- /dev/null
        2636  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2345   2637   
@@ -0,0 +1,5 @@
        2638  +
GET / HTTP/1.1
        2639  +
Host:example.amazonaws.com
        2640  +
X-Amz-Date:20150830T123600Z
        2641  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2642  +
 2346   2643   
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
 2347   2644   
similarity index 100%
 2348   2645   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts
 2349   2646   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2350   2647   
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
 2351   2648   
new file mode 100644
 2352   2649   
index 0000000..fb2420d
 2353         -
-- /dev/null
        2650  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2354   2651   
@@ -0,0 +1,7 @@
        2652  +
GET
        2653  +
/
        2654  +
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
        2655  +
host:example.amazonaws.com
        2656  +
        2657  +
host
        2658  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2355   2659   
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
 2356   2660   
new file mode 100644
 2357   2661   
index 0000000..da5c905
 2358         -
-- /dev/null
        2662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2359   2663   
@@ -0,0 +1 @@
        2664  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2360   2665   
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
 2361   2666   
new file mode 100644
 2362   2667   
index 0000000..eeb7a8f
 2363         -
-- /dev/null
        2668  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2364   2669   
@@ -0,0 +1,3 @@
        2670  +
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
        2671  +
Host:example.amazonaws.com
        2672  +
 2365   2673   
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
 2366   2674   
new file mode 100644
 2367   2675   
index 0000000..d837e67
 2368         -
-- /dev/null
        2676  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2369   2677   
@@ -0,0 +1,4 @@
        2678  +
AWS4-HMAC-SHA256
        2679  +
20150830T123600Z
        2680  +
20150830/us-east-1/service/aws4_request
        2681  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2370   2682   
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
 2371   2683   
similarity index 100%
 2372   2684   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt
 2373   2685   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2374   2686   
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
 2375   2687   
new file mode 100644
 2376   2688   
index 0000000..0468d80
 2377         -
-- /dev/null
        2689  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2378   2690   
@@ -0,0 +1,12 @@
        2691  +
{
        2692  +
    "credentials": {
        2693  +
        "access_key_id": "AKIDEXAMPLE",
        2694  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2695  +
    },
        2696  +
    "expiration_in_seconds": 3600,
        2697  +
    "normalize": true,
        2698  +
    "region": "us-east-1",
        2699  +
    "service": "service",
        2700  +
    "sign_body": false,
        2701  +
    "timestamp": "2015-08-30T12:36:00Z"
        2702  +
}
              \
 No newline at end of file
 2379   2703   
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
 2380   2704   
similarity index 100%
 2381   2705   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq
 2382   2706   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2383   2707   
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
 2384   2708   
new file mode 100644
 2385   2709   
index 0000000..629487f
 2386         -
-- /dev/null
        2710  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2387   2711   
@@ -0,0 +1 @@
        2712  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2388   2713   
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
 2389   2714   
new file mode 100644
 2390   2715   
index 0000000..0d99b1c
 2391         -
-- /dev/null
        2716  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2392   2717   
@@ -0,0 +1,5 @@
        2718  +
POST / HTTP/1.1
        2719  +
Host:example.amazonaws.com
        2720  +
X-Amz-Date:20150830T123600Z
        2721  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2722  +
 2393   2723   
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
 2394   2724   
similarity index 100%
 2395   2725   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts
 2396   2726   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2397   2727   
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
 2398   2728   
new file mode 100644
 2399   2729   
index 0000000..d3341e7
 2400         -
-- /dev/null
        2730  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2401   2731   
@@ -0,0 +1,7 @@
        2732  +
POST
        2733  +
/
        2734  +
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
        2735  +
host:example.amazonaws.com
        2736  +
        2737  +
host
        2738  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2402   2739   
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
 2403   2740   
new file mode 100644
 2404   2741   
index 0000000..79f7e0d
 2405         -
-- /dev/null
        2742  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2406   2743   
@@ -0,0 +1 @@
        2744  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2407   2745   
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
 2408   2746   
new file mode 100644
 2409   2747   
index 0000000..94f1b21
 2410         -
-- /dev/null
        2748  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2411   2749   
@@ -0,0 +1,3 @@
        2750  +
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
        2751  +
Host:example.amazonaws.com
        2752  +
 2412   2753   
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
 2413   2754   
new file mode 100644
 2414   2755   
index 0000000..e8f335b
 2415         -
-- /dev/null
        2756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2416   2757   
@@ -0,0 +1,4 @@
        2758  +
AWS4-HMAC-SHA256
        2759  +
20150830T123600Z
        2760  +
20150830/us-east-1/service/aws4_request
        2761  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2417   2762   
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
 2418   2763   
similarity index 100%
 2419   2764   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt
 2420   2765   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2421   2766   
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
 2422   2767   
new file mode 100644
 2423   2768   
index 0000000..0468d80
 2424         -
-- /dev/null
        2769  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2425   2770   
@@ -0,0 +1,12 @@
        2771  +
{
        2772  +
    "credentials": {
        2773  +
        "access_key_id": "AKIDEXAMPLE",
        2774  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2775  +
    },
        2776  +
    "expiration_in_seconds": 3600,
        2777  +
    "normalize": true,
        2778  +
    "region": "us-east-1",
        2779  +
    "service": "service",
        2780  +
    "sign_body": false,
        2781  +
    "timestamp": "2015-08-30T12:36:00Z"
        2782  +
}
              \
 No newline at end of file
 2426   2783   
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
 2427   2784   
similarity index 100%
 2428   2785   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq
 2429   2786   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2430   2787   
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
 2431   2788   
new file mode 100644
 2432   2789   
index 0000000..e4e6428
 2433         -
-- /dev/null
        2790  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2434   2791   
@@ -0,0 +1 @@
        2792  +
c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
 2435   2793   
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
 2436   2794   
new file mode 100644
 2437   2795   
index 0000000..e3778f5
 2438         -
-- /dev/null
        2796  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2439   2797   
@@ -0,0 +1,6 @@
        2798  +
POST / HTTP/1.1
        2799  +
Host:example.amazonaws.com
        2800  +
My-Header1:value1
        2801  +
X-Amz-Date:20150830T123600Z
        2802  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
        2803  +
 2440   2804   
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
 2441   2805   
similarity index 100%
 2442   2806   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts
 2443   2807   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2444   2808   
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
 2445   2809   
new file mode 100644
 2446   2810   
index 0000000..bd7c937
 2447         -
-- /dev/null
        2811  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2448   2812   
@@ -0,0 +1,8 @@
        2813  +
POST
        2814  +
/
        2815  +
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
        2816  +
host:example.amazonaws.com
        2817  +
my-header1:value1
        2818  +
        2819  +
host;my-header1
        2820  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2449   2821   
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
 2450   2822   
new file mode 100644
 2451   2823   
index 0000000..0416f13
 2452         -
-- /dev/null
        2824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2453   2825   
@@ -0,0 +1 @@
        2826  +
c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7
              \
 No newline at end of file
 2454   2827   
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
 2455   2828   
new file mode 100644
 2456   2829   
index 0000000..5e6522f
 2457         -
-- /dev/null
        2830  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2458   2831   
@@ -0,0 +1,4 @@
        2832  +
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
        2833  +
Host:example.amazonaws.com
        2834  +
My-Header1:value1
        2835  +
 2459   2836   
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
 2460   2837   
new file mode 100644
 2461   2838   
index 0000000..d06d1df
 2462         -
-- /dev/null
        2839  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2463   2840   
@@ -0,0 +1,4 @@
        2841  +
AWS4-HMAC-SHA256
        2842  +
20150830T123600Z
        2843  +
20150830/us-east-1/service/aws4_request
        2844  +
1295ed77e4ef8b18b32815e493e0b0f78ee47615c0ecbebfec7c75709eb58c88
              \
 No newline at end of file
 2464   2845   
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
 2465   2846   
similarity index 100%
 2466   2847   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt
 2467   2848   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2468   2849   
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
 2469   2850   
new file mode 100644
 2470   2851   
index 0000000..0468d80
 2471         -
-- /dev/null
        2852  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2472   2853   
@@ -0,0 +1,12 @@
        2854  +
{
        2855  +
    "credentials": {
        2856  +
        "access_key_id": "AKIDEXAMPLE",
        2857  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2858  +
    },
        2859  +
    "expiration_in_seconds": 3600,
        2860  +
    "normalize": true,
        2861  +
    "region": "us-east-1",
        2862  +
    "service": "service",
        2863  +
    "sign_body": false,
        2864  +
    "timestamp": "2015-08-30T12:36:00Z"
        2865  +
}
              \
 No newline at end of file
 2473   2866   
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
 2474   2867   
similarity index 100%
 2475   2868   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq
 2476   2869   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2477   2870   
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
 2478   2871   
new file mode 100644
 2479   2872   
index 0000000..bb3809c
 2480         -
-- /dev/null
        2873  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2481   2874   
@@ -0,0 +1 @@
        2875  +
cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
 2482   2876   
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
 2483   2877   
new file mode 100644
 2484   2878   
index 0000000..10f6761
 2485         -
-- /dev/null
        2879  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2486   2880   
@@ -0,0 +1,6 @@
        2881  +
POST / HTTP/1.1
        2882  +
Host:example.amazonaws.com
        2883  +
My-Header1:VALUE1
        2884  +
X-Amz-Date:20150830T123600Z
        2885  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
        2886  +
 2487   2887   
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
 2488   2888   
similarity index 100%
 2489   2889   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts
 2490   2890   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2491   2891   
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
 2492   2892   
new file mode 100644
 2493   2893   
index 0000000..f84856f
 2494         -
-- /dev/null
        2894  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2495   2895   
@@ -0,0 +1,8 @@
        2896  +
POST
        2897  +
/
        2898  +
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
        2899  +
host:example.amazonaws.com
        2900  +
my-header1:VALUE1
        2901  +
        2902  +
host;my-header1
        2903  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2496   2904   
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
 2497   2905   
new file mode 100644
 2498   2906   
index 0000000..a9d3cac
 2499         -
-- /dev/null
        2907  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2500   2908   
@@ -0,0 +1 @@
        2909  +
0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed
              \
 No newline at end of file
 2501   2910   
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
 2502   2911   
new file mode 100644
 2503   2912   
index 0000000..cf96c7c
 2504         -
-- /dev/null
        2913  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2505   2914   
@@ -0,0 +1,4 @@
        2915  +
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
        2916  +
Host:example.amazonaws.com
        2917  +
My-Header1:VALUE1
        2918  +
 2506   2919   
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
 2507   2920   
new file mode 100644
 2508   2921   
index 0000000..47ef566
 2509         -
-- /dev/null
        2922  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2510   2923   
@@ -0,0 +1,4 @@
        2924  +
AWS4-HMAC-SHA256
        2925  +
20150830T123600Z
        2926  +
20150830/us-east-1/service/aws4_request
        2927  +
9d4d1de88f0149695a91a01275fc72dc00fb50bdc78e424f012ec860d5f8c41d
              \
 No newline at end of file
 2511   2928   
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
 2512   2929   
similarity index 100%
 2513   2930   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt
 2514   2931   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2515   2932   
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
 2516   2933   
similarity index 100%
 2517   2934   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json
 2518   2935   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2519   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2520   2937   
similarity index 100%
 2521   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.creq
 2522   2939   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2523   2940   
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
 2524   2941   
new file mode 100644
 2525   2942   
index 0000000..629487f
 2526         -
-- /dev/null
        2943  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2527   2944   
@@ -0,0 +1 @@
        2945  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2528   2946   
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
 2529   2947   
similarity index 67%
 2530   2948   
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
 2531   2949   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2532   2950   
index 291ed07..f96ff9e 100644
 2533         -
-- 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
        2951  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2534   2952   
@@ -1,5 +1,6 @@
 2535   2953   
POST / HTTP/1.1
 2536   2954   
Host:example.amazonaws.com
 2537         -
X-Amz-Date:20150830T123600Z
 2538   2955   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2539         -
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
        2956  +
X-Amz-Date:20150830T123600Z
        2957  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2958  +
 2540   2959   
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
 2541   2960   
similarity index 100%
 2542   2961   
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
 2543   2962   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2544   2963   
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
 2545   2964   
new file mode 100644
 2546   2965   
index 0000000..d3341e7
 2547         -
-- /dev/null
        2966  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2548   2967   
@@ -0,0 +1,7 @@
        2968  +
POST
        2969  +
/
        2970  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2971  +
host:example.amazonaws.com
        2972  +
        2973  +
host
        2974  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2549   2975   
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
 2550   2976   
new file mode 100644
 2551   2977   
index 0000000..79f7e0d
 2552         -
-- /dev/null
        2978  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2553   2979   
@@ -0,0 +1 @@
        2980  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2554   2981   
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
 2555   2982   
new file mode 100644
 2556   2983   
index 0000000..4983268
 2557         -
-- /dev/null
        2984  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2558   2985   
@@ -0,0 +1,3 @@
        2986  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Security-Token=AQoDYXdzEPT%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI%2FqkPpKPi%2FkMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d%2Bxo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz%2BscqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR%2FoLxBA%3D%3D&X-Amz-Signature=2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b HTTP/1.1
        2987  +
Host:example.amazonaws.com
        2988  +
 2559   2989   
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
 2560   2990   
new file mode 100644
 2561   2991   
index 0000000..e8f335b
 2562         -
-- /dev/null
        2992  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2563   2993   
@@ -0,0 +1,4 @@
        2994  +
AWS4-HMAC-SHA256
        2995  +
20150830T123600Z
        2996  +
20150830/us-east-1/service/aws4_request
        2997  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2564   2998   
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
 2565   2999   
similarity index 100%
 2566   3000   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt
 2567   3001   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2568   3002   
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
 2569   3003   
similarity index 100%
 2570   3004   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json
 2571   3005   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2572   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2573   3007   
similarity index 100%
 2574   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.creq
 2575   3009   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2576   3010   
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
 2577   3011   
new file mode 100644
 2578   3012   
index 0000000..85a7c29
 2579         -
-- /dev/null
        3013  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2580   3014   
@@ -0,0 +1 @@
        3015  +
85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
 2581   3016   
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
 2582   3017   
similarity index 65%
 2583   3018   
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
 2584   3019   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2585   3020   
index 37b2f04..4d0b143 100644
 2586         -
-- 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
        3021  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2587   3022   
@@ -1,5 +1,6 @@
 2588   3023   
POST / HTTP/1.1
 2589   3024   
Host:example.amazonaws.com
 2590         -
X-Amz-Date:20150830T123600Z
 2591   3025   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2592         -
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
        3026  +
X-Amz-Date:20150830T123600Z
        3027  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
        3028  +
 2593   3029   
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
 2594   3030   
similarity index 100%
 2595   3031   
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
 2596   3032   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2597   3033   
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
 2598   3034   
new file mode 100644
 2599   3035   
index 0000000..57a7bc3
 2600         -
-- /dev/null
        3036  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2601   3037   
@@ -0,0 +1,7 @@
        3038  +
POST
        3039  +
/
        3040  +
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
        3041  +
host:example.amazonaws.com
        3042  +
        3043  +
host
        3044  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2602   3045   
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
 2603   3046   
new file mode 100644
 2604   3047   
index 0000000..eb905d2
 2605         -
-- /dev/null
        3048  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2606   3049   
@@ -0,0 +1 @@
        3050  +
46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c
              \
 No newline at end of file
 2607   3051   
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
 2608   3052   
new file mode 100644
 2609   3053   
index 0000000..1d80ec0
 2610         -
-- /dev/null
        3054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2611   3055   
@@ -0,0 +1,3 @@
        3056  +
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
        3057  +
Host:example.amazonaws.com
        3058  +
 2612   3059   
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
 2613   3060   
new file mode 100644
 2614   3061   
index 0000000..bd0239a
 2615         -
-- /dev/null
        3062  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2616   3063   
@@ -0,0 +1,4 @@
        3064  +
AWS4-HMAC-SHA256
        3065  +
20150830T123600Z
        3066  +
20150830/us-east-1/service/aws4_request
        3067  +
37f7ba7a2ec89e8b29a0d637bcc70d8e8d0fdba854ddfc5bc06a12398cfe8605
              \
 No newline at end of file
 2617   3068   
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
 2618   3069   
similarity index 100%
 2619   3070   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt
 2620   3071   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2621   3072   
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
 2622   3073   
new file mode 100644
 2623   3074   
index 0000000..0468d80
 2624         -
-- /dev/null
        3075  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2625   3076   
@@ -0,0 +1,12 @@
        3077  +
{
        3078  +
    "credentials": {
        3079  +
        "access_key_id": "AKIDEXAMPLE",
        3080  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3081  +
    },
        3082  +
    "expiration_in_seconds": 3600,
        3083  +
    "normalize": true,
        3084  +
    "region": "us-east-1",
        3085  +
    "service": "service",
        3086  +
    "sign_body": false,
        3087  +
    "timestamp": "2015-08-30T12:36:00Z"
        3088  +
}
              \
 No newline at end of file
 2626   3089   
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
 2627   3090   
similarity index 100%
 2628   3091   
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
 2629   3092   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2630   3093   
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
 2631   3094   
new file mode 100644
 2632   3095   
index 0000000..80ed433
 2633         -
-- /dev/null
        3096  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2634   3097   
@@ -0,0 +1 @@
        3098  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2635   3099   
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
 2636   3100   
new file mode 100644
 2637   3101   
index 0000000..4e614f8
 2638         -
-- /dev/null
        3102  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2639   3103   
@@ -0,0 +1,5 @@
        3104  +
POST /?Param1=value1 HTTP/1.1
        3105  +
Host:example.amazonaws.com
        3106  +
X-Amz-Date:20150830T123600Z
        3107  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3108  +
 2640   3109   
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
 2641   3110   
similarity index 100%
 2642   3111   
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
 2643   3112   
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
 2644   3113   
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
 2645   3114   
new file mode 100644
 2646   3115   
index 0000000..be66403
 2647         -
-- /dev/null
        3116  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2648   3117   
@@ -0,0 +1,7 @@
        3118  +
POST
        3119  +
/
        3120  +
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
        3121  +
host:example.amazonaws.com
        3122  +
        3123  +
host
        3124  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2649   3125   
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
 2650   3126   
new file mode 100644
 2651   3127   
index 0000000..20fd32b
 2652         -
-- /dev/null
        3128  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2653   3129   
@@ -0,0 +1 @@
        3130  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2654   3131   
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
 2655   3132   
new file mode 100644
 2656   3133   
index 0000000..d1148d0
 2657         -
-- /dev/null
        3134  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2658   3135   
@@ -0,0 +1,3 @@
        3136  +
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
        3137  +
Host:example.amazonaws.com
        3138  +
 2659   3139   
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
 2660   3140   
new file mode 100644
 2661   3141   
index 0000000..1a77103
 2662         -
-- /dev/null
        3142  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2663   3143   
@@ -0,0 +1,4 @@
        3144  +
AWS4-HMAC-SHA256
        3145  +
20150830T123600Z
        3146  +
20150830/us-east-1/service/aws4_request
        3147  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2664   3148   
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
 2665   3149   
similarity index 100%
 2666   3150   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt
 2667   3151   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2668   3152   
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
 2669   3153   
new file mode 100644
 2670   3154   
index 0000000..0468d80
 2671         -
-- /dev/null
        3155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2672   3156   
@@ -0,0 +1,12 @@
        3157  +
{
        3158  +
    "credentials": {
        3159  +
        "access_key_id": "AKIDEXAMPLE",
        3160  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3161  +
    },
        3162  +
    "expiration_in_seconds": 3600,
        3163  +
    "normalize": true,
        3164  +
    "region": "us-east-1",
        3165  +
    "service": "service",
        3166  +
    "sign_body": false,
        3167  +
    "timestamp": "2015-08-30T12:36:00Z"
        3168  +
}
              \
 No newline at end of file
 2673   3169   
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
 2674   3170   
similarity index 100%
 2675   3171   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq
 2676   3172   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2677   3173   
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
 2678   3174   
new file mode 100644
 2679   3175   
index 0000000..80ed433
 2680         -
-- /dev/null
        3176  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2681   3177   
@@ -0,0 +1 @@
        3178  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2682   3179   
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
 2683   3180   
new file mode 100644
 2684   3181   
index 0000000..4e614f8
 2685         -
-- /dev/null
        3182  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2686   3183   
@@ -0,0 +1,5 @@
        3184  +
POST /?Param1=value1 HTTP/1.1
        3185  +
Host:example.amazonaws.com
        3186  +
X-Amz-Date:20150830T123600Z
        3187  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3188  +
 2687   3189   
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
 2688   3190   
similarity index 100%
 2689   3191   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts
 2690   3192   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2691   3193   
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
 2692   3194   
new file mode 100644
 2693   3195   
index 0000000..be66403
 2694         -
-- /dev/null
        3196  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2695   3197   
@@ -0,0 +1,7 @@
        3198  +
POST
        3199  +
/
        3200  +
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
        3201  +
host:example.amazonaws.com
        3202  +
        3203  +
host
        3204  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2696   3205   
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
 2697   3206   
new file mode 100644
 2698   3207   
index 0000000..20fd32b
 2699         -
-- /dev/null
        3208  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2700   3209   
@@ -0,0 +1 @@
        3210  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2701   3211   
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
 2702   3212   
new file mode 100644
 2703   3213   
index 0000000..d1148d0
 2704         -
-- /dev/null
        3214  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2705   3215   
@@ -0,0 +1,3 @@
        3216  +
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
        3217  +
Host:example.amazonaws.com
        3218  +
 2706   3219   
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
 2707   3220   
new file mode 100644
 2708   3221   
index 0000000..1a77103
 2709         -
-- /dev/null
        3222  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2710   3223   
@@ -0,0 +1,4 @@
        3224  +
AWS4-HMAC-SHA256
        3225  +
20150830T123600Z
        3226  +
20150830/us-east-1/service/aws4_request
        3227  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2711   3228   
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
 2712   3229   
similarity index 100%
 2713   3230   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt
 2714   3231   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2715   3232   
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
 2716   3233   
new file mode 100644
 2717   3234   
index 0000000..0468d80
 2718         -
-- /dev/null
        3235  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2719   3236   
@@ -0,0 +1,12 @@
        3237  +
{
        3238  +
    "credentials": {
        3239  +
        "access_key_id": "AKIDEXAMPLE",
        3240  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3241  +
    },
        3242  +
    "expiration_in_seconds": 3600,
        3243  +
    "normalize": true,
        3244  +
    "region": "us-east-1",
        3245  +
    "service": "service",
        3246  +
    "sign_body": false,
        3247  +
    "timestamp": "2015-08-30T12:36:00Z"
        3248  +
}
              \
 No newline at end of file
 2720   3249   
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
 2721   3250   
similarity index 100%
 2722   3251   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq
 2723   3252   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2724   3253   
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
 2725   3254   
new file mode 100644
 2726   3255   
index 0000000..629487f
 2727         -
-- /dev/null
        3256  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2728   3257   
@@ -0,0 +1 @@
        3258  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2729   3259   
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
 2730   3260   
new file mode 100644
 2731   3261   
index 0000000..0d99b1c
 2732         -
-- /dev/null
        3262  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2733   3263   
@@ -0,0 +1,5 @@
        3264  +
POST / HTTP/1.1
        3265  +
Host:example.amazonaws.com
        3266  +
X-Amz-Date:20150830T123600Z
        3267  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3268  +
 2734   3269   
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
 2735   3270   
similarity index 100%
 2736   3271   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts
 2737   3272   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2738   3273   
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
 2739   3274   
new file mode 100644
 2740   3275   
index 0000000..d3341e7
 2741         -
-- /dev/null
        3276  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2742   3277   
@@ -0,0 +1,7 @@
        3278  +
POST
        3279  +
/
        3280  +
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
        3281  +
host:example.amazonaws.com
        3282  +
        3283  +
host
        3284  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2743   3285   
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
 2744   3286   
new file mode 100644
 2745   3287   
index 0000000..79f7e0d
 2746         -
-- /dev/null
        3288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2747   3289   
@@ -0,0 +1 @@
        3290  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2748   3291   
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
 2749   3292   
new file mode 100644
 2750   3293   
index 0000000..94f1b21
 2751         -
-- /dev/null
        3294  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2752   3295   
@@ -0,0 +1,3 @@
        3296  +
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
        3297  +
Host:example.amazonaws.com
        3298  +
 2753   3299   
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
 2754   3300   
new file mode 100644
 2755   3301   
index 0000000..e8f335b
 2756         -
-- /dev/null
        3302  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2757   3303   
@@ -0,0 +1,4 @@
        3304  +
AWS4-HMAC-SHA256
        3305  +
20150830T123600Z
        3306  +
20150830/us-east-1/service/aws4_request
        3307  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2758   3308   
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
 2759   3309   
similarity index 100%
 2760   3310   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt
 2761   3311   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2762   3312   
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
 2763   3313   
similarity index 99%
 2764   3314   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
 2765   3315   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2766   3316   
index fc4bce6..0db1df1 100644
 2767   3317   
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
 2768   3318   
new file mode 100644
 2769   3319   
index 0000000..c218fdf
 2770         -
-- /dev/null
        3320  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2771   3321   
@@ -0,0 +1,11 @@
        3322  +
POST
        3323  +
/
        3324  +
        3325  +
content-length:13
        3326  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3327  +
host:example.amazonaws.com
        3328  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3329  +
x-amz-date:20150830T123600Z
        3330  +
        3331  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3332  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2772   3333   
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
 2773   3334   
new file mode 100644
 2774   3335   
index 0000000..836aa8b
 2775         -
-- /dev/null
        3336  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2776   3337   
@@ -0,0 +1 @@
        3338  +
328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
              \
 No newline at end of file
 2777   3339   
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
 2778   3340   
new file mode 100644
 2779   3341   
index 0000000..9262d53
 2780         -
-- /dev/null
        3342  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2781   3343   
@@ -0,0 +1,9 @@
        3344  +
POST / HTTP/1.1
        3345  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3346  +
Host:example.amazonaws.com
        3347  +
Content-Length:13
        3348  +
X-Amz-Date:20150830T123600Z
        3349  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3350  +
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
        3351  +
        3352  +
Param1=value1
              \
 No newline at end of file
 2782   3353   
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
 2783   3354   
new file mode 100644
 2784   3355   
index 0000000..ddbdccc
 2785         -
-- /dev/null
        3356  +
++ 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
 2786   3357   
@@ -0,0 +1,4 @@
        3358  +
AWS4-HMAC-SHA256
        3359  +
20150830T123600Z
        3360  +
20150830/us-east-1/service/aws4_request
        3361  +
a89f1a5b53e37702ee6363ce1da3ce8f54386f3c8f352ae652153c2982a0bc4d
              \
 No newline at end of file
 2787   3362   
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
 2788   3363   
new file mode 100644
 2789   3364   
index 0000000..596a579
 2790         -
-- /dev/null
        3365  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 2791   3366   
@@ -0,0 +1,9 @@
        3367  +
POST
        3368  +
/
        3369  +
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
        3370  +
content-length:13
        3371  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3372  +
host:example.amazonaws.com
        3373  +
        3374  +
content-length;content-type;host
        3375  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2792   3376   
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
 2793   3377   
new file mode 100644
 2794   3378   
index 0000000..bc85cd8
 2795         -
-- /dev/null
        3379  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 2796   3380   
@@ -0,0 +1 @@
        3381  +
0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d
              \
 No newline at end of file
 2797   3382   
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
 2798   3383   
new file mode 100644
 2799   3384   
index 0000000..16b59e5
 2800         -
-- /dev/null
        3385  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 2801   3386   
@@ -0,0 +1,6 @@
        3387  +
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
        3388  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3389  +
Host:example.amazonaws.com
        3390  +
Content-Length:13
        3391  +
        3392  +
Param1=value1
              \
 No newline at end of file
 2802   3393   
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
 2803   3394   
new file mode 100644
 2804   3395   
index 0000000..50074af
 2805         -
-- /dev/null
        3396  +
++ 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
 2806   3397   
@@ -0,0 +1,4 @@
        3398  +
AWS4-HMAC-SHA256
        3399  +
20150830T123600Z
        3400  +
20150830/us-east-1/service/aws4_request
        3401  +
32192353b8ae6d857fac1c71cda066e6af2d3a3127ea7ac1fee22621ab4f05dc
              \
 No newline at end of file
 2807   3402   
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
 2808   3403   
similarity index 89%
 2809   3404   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
 2810   3405   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 2811   3406   
index b711c25..8289eaa 100644
 2812   3407   
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
 2813   3408   
similarity index 99%
 2814   3409   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
 2815   3410   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 2816   3411   
index fc4bce6..0db1df1 100644
 2817   3412   
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
 2818   3413   
new file mode 100644
 2819   3414   
index 0000000..4d116a5
 2820         -
-- /dev/null
        3415  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 2821   3416   
@@ -0,0 +1,11 @@
        3417  +
POST
        3418  +
/
        3419  +
        3420  +
content-length:13
        3421  +
content-type:application/x-www-form-urlencoded
        3422  +
host:example.amazonaws.com
        3423  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3424  +
x-amz-date:20150830T123600Z
        3425  +
        3426  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3427  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2822   3428   
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
 2823   3429   
new file mode 100644
 2824   3430   
index 0000000..0d2ac37
 2825         -
-- /dev/null
        3431  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 2826   3432   
@@ -0,0 +1 @@
        3433  +
d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
              \
 No newline at end of file
 2827   3434   
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
 2828   3435   
new file mode 100644
 2829   3436   
index 0000000..bd5e49c
 2830         -
-- /dev/null
        3437  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 2831   3438   
@@ -0,0 +1,9 @@
        3439  +
POST / HTTP/1.1
        3440  +
Content-Type:application/x-www-form-urlencoded
        3441  +
Host:example.amazonaws.com
        3442  +
Content-Length:13
        3443  +
X-Amz-Date:20150830T123600Z
        3444  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3445  +
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
        3446  +
        3447  +
Param1=value1
              \
 No newline at end of file
 2832   3448   
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
 2833   3449   
new file mode 100644
 2834   3450   
index 0000000..f1c599c
 2835         -
-- /dev/null
        3451  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 2836   3452   
@@ -0,0 +1,4 @@
        3453  +
AWS4-HMAC-SHA256
        3454  +
20150830T123600Z
        3455  +
20150830/us-east-1/service/aws4_request
        3456  +
b1edd1d03544c25390e32085d55b57acc9a3961bb59415ff86c45c3d89d16cfb
              \
 No newline at end of file
 2837   3457   
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
 2838   3458   
new file mode 100644
 2839   3459   
index 0000000..1fc1bb7
 2840         -
-- /dev/null
        3460  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 2841   3461   
@@ -0,0 +1,9 @@
        3462  +
POST
        3463  +
/
        3464  +
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
        3465  +
content-length:13
        3466  +
content-type:application/x-www-form-urlencoded
        3467  +
host:example.amazonaws.com
        3468  +
        3469  +
content-length;content-type;host
        3470  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2842   3471   
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
 2843   3472   
new file mode 100644
 2844   3473   
index 0000000..98c91b3
 2845         -
-- /dev/null
        3474  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 2846   3475   
@@ -0,0 +1 @@
        3476  +
89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9
              \
 No newline at end of file
 2847   3477   
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
 2848   3478   
new file mode 100644
 2849   3479   
index 0000000..055cd7a
 2850         -
-- /dev/null
        3480  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 2851   3481   
@@ -0,0 +1,6 @@
        3482  +
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
        3483  +
Content-Type:application/x-www-form-urlencoded
        3484  +
Host:example.amazonaws.com
        3485  +
Content-Length:13
        3486  +
        3487  +
Param1=value1
              \
 No newline at end of file
 2852   3488   
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
 2853   3489   
new file mode 100644
 2854   3490   
index 0000000..db7fc27
 2855         -
-- /dev/null
        3491  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 2856   3492   
@@ -0,0 +1,4 @@
        3493  +
AWS4-HMAC-SHA256
        3494  +
20150830T123600Z
        3495  +
20150830/us-east-1/service/aws4_request
        3496  +
ee5059a7c437165a28d0e775e6498be428761255d657d8c04cb1baa41de6514c
              \
 No newline at end of file
 2857   3497   
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
 2858   3498   
similarity index 88%
 2859   3499   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
 2860   3500   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 2861   3501   
index 0091102..760b2d3 100644
 2862   3502   
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
 2863   3503   
new file mode 100644
 2864   3504   
index 0000000..0468d80
 2865         -
-- /dev/null
        3505  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 2866   3506   
@@ -0,0 +1,12 @@
        3507  +
{
        3508  +
    "credentials": {
        3509  +
        "access_key_id": "AKIDEXAMPLE",
        3510  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3511  +
    },
        3512  +
    "expiration_in_seconds": 3600,
        3513  +
    "normalize": true,
        3514  +
    "region": "us-east-1",
        3515  +
    "service": "service",
        3516  +
    "sign_body": false,
        3517  +
    "timestamp": "2015-08-30T12:36:00Z"
        3518  +
}
              \
 No newline at end of file
 2867   3519   
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
 2868   3520   
similarity index 99%
 2869   3521   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
 2870   3522   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 2871   3523   
index ccb5f43..1bc448e 100644
 2872   3524   
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
 2873   3525   
new file mode 100644
 2874   3526   
index 0000000..489c182
 2875         -
-- /dev/null
        3527  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 2876   3528   
@@ -0,0 +1 @@
        3529  +
304502204862ad283a21f883fc12f1156a6f3fcdbba13d1847e58aa5eb37c666477ea06b022100ee439fac0a975c9a6605b1fa44ad7b654a1f8ac6e868e4e1069a1b3aa35d8113
              \
 No newline at end of file
 2877   3530   
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
 2878   3531   
new file mode 100644
 2879   3532   
index 0000000..e1b8dbf
 2880         -
-- /dev/null
        3533  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 2881   3534   
@@ -0,0 +1,9 @@
        3535  +
GET / HTTP/1.1
        3536  +
Host:example.amazonaws.com
        3537  +
My-Header1:value2
        3538  +
My-Header1:value2
        3539  +
My-Header1:value1
        3540  +
X-Amz-Date:20150830T123600Z
        3541  +
X-Amz-Region-Set:us-east-1
        3542  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=30450220331da6dfebb0d19e5e161b1efa389ccb83cadb60bc71f6791ef71ac6054c44de0221008588b7d5c9f7a79ca9c02a02efbd0f540cda242a64ca1452aa914e050b517724
        3543  +
 2882   3544   
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
 2883   3545   
similarity index 99%
 2884   3546   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
 2885   3547   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 2886   3548   
index 8783461..bfc4619 100644
 2887   3549   
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
 2888   3550   
new file mode 100644
 2889   3551   
index 0000000..379dcb2
 2890         -
-- /dev/null
        3552  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 2891   3553   
@@ -0,0 +1,4 @@
        3554  +
{
        3555  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3556  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3557  +
}
 2892   3558   
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
 2893   3559   
similarity index 99%
 2894   3560   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
 2895   3561   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 2896   3562   
index 9561297..c05c3f5 100644
 2897   3563   
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
 2898   3564   
new file mode 100644
 2899   3565   
index 0000000..de9a4c3
 2900         -
-- /dev/null
        3566  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 2901   3567   
@@ -0,0 +1 @@
        3568  +
3045022100e1e03fa80218cb464404dc4badbdf443f5f5bb504840a2b3803565a28be0388d022063399d4fb8b974906e87a8d67bf7e95334d9dc620817ef92eb2bc6affb1c6a10
              \
 No newline at end of file
 2902   3569   
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
 2903   3570   
new file mode 100644
 2904   3571   
index 0000000..6c6b8c4
 2905         -
-- /dev/null
        3572  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 2906   3573   
@@ -0,0 +1,6 @@
        3574  +
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
        3575  +
Host:example.amazonaws.com
        3576  +
My-Header1:value2
        3577  +
My-Header1:value2
        3578  +
My-Header1:value1
        3579  +
 2907   3580   
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
 2908   3581   
similarity index 99%
 2909   3582   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
 2910   3583   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 2911   3584   
index 3140f6f..4eef106 100644
 2912   3585   
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
 2913   3586   
similarity index 78%
 2914   3587   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
 2915   3588   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2916   3589   
index 08a0364..40455ce 100644
 2917         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
        3590  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2918   3591   
@@ -1,6 +1,5 @@
 2919   3592   
GET / HTTP/1.1
 2920   3593   
Host:example.amazonaws.com
 2921   3594   
My-Header1:value2
 2922   3595   
My-Header1:value2
 2923   3596   
My-Header1:value1
 2924         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2925   3597   
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
 2926   3598   
new file mode 100644
 2927   3599   
index 0000000..0468d80
 2928         -
-- /dev/null
        3600  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 2929   3601   
@@ -0,0 +1,12 @@
        3602  +
{
        3603  +
    "credentials": {
        3604  +
        "access_key_id": "AKIDEXAMPLE",
        3605  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3606  +
    },
        3607  +
    "expiration_in_seconds": 3600,
        3608  +
    "normalize": true,
        3609  +
    "region": "us-east-1",
        3610  +
    "service": "service",
        3611  +
    "sign_body": false,
        3612  +
    "timestamp": "2015-08-30T12:36:00Z"
        3613  +
}
              \
 No newline at end of file
 2930   3614   
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
 2931   3615   
new file mode 100644
 2932   3616   
index 0000000..69526cd
 2933         -
-- /dev/null
        3617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 2934   3618   
@@ -0,0 +1,10 @@
        3619  +
GET
        3620  +
/
        3621  +
        3622  +
host:example.amazonaws.com
        3623  +
my-header1:value1 value2 value3
        3624  +
x-amz-date:20150830T123600Z
        3625  +
x-amz-region-set:us-east-1
        3626  +
        3627  +
host;my-header1;x-amz-date;x-amz-region-set
        3628  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2935   3629   
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
 2936   3630   
new file mode 100644
 2937   3631   
index 0000000..d51b4f3
 2938         -
-- /dev/null
        3632  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 2939   3633   
@@ -0,0 +1 @@
        3634  +
304502206a2d7c3572ebcb9a1f34e5fa744250c3fb2f403a0a7e4b0bc196286846a996a8022100d94aacba36ff453394df27966e9cccd7c6065457b6fe828aebe107307cc5e8e9
              \
 No newline at end of file
 2940   3635   
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
 2941   3636   
new file mode 100644
 2942   3637   
index 0000000..8131420
 2943         -
-- /dev/null
        3638  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 2944   3639   
@@ -0,0 +1,9 @@
        3640  +
GET / HTTP/1.1
        3641  +
Host:example.amazonaws.com
        3642  +
My-Header1:value1
        3643  +
  value2
        3644  +
     value3
        3645  +
X-Amz-Date:20150830T123600Z
        3646  +
X-Amz-Region-Set:us-east-1
        3647  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022060b9f2f480a395bf34aa42074697f923c2355e26970987461ce904a6a2eeef52022100fc7ef73838bbfba208a8cf8f3edbe1c8879be7853b677f492db93c30df6fbe02
        3648  +
 2945   3649   
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
 2946   3650   
new file mode 100644
 2947   3651   
index 0000000..e4d99fa
 2948         -
-- /dev/null
        3652  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 2949   3653   
@@ -0,0 +1,4 @@
        3654  +
AWS4-ECDSA-P256-SHA256
        3655  +
20150830T123600Z
        3656  +
20150830/service/aws4_request
        3657  +
3579d4751dd7db30860b89a17b53647c70fd8363ec485836dbf68cfd22313398
              \
 No newline at end of file
 2950   3658   
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
 2951   3659   
new file mode 100644
 2952   3660   
index 0000000..379dcb2
 2953         -
-- /dev/null
        3661  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 2954   3662   
@@ -0,0 +1,4 @@
        3663  +
{
        3664  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3665  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3666  +
}
 2955   3667   
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
 2956   3668   
new file mode 100644
 2957   3669   
index 0000000..3c4d52f
 2958         -
-- /dev/null
        3670  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 2959   3671   
@@ -0,0 +1,8 @@
        3672  +
GET
        3673  +
/
        3674  +
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
        3675  +
host:example.amazonaws.com
        3676  +
my-header1:value1 value2 value3
        3677  +
        3678  +
host;my-header1
        3679  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2960   3680   
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
 2961   3681   
new file mode 100644
 2962   3682   
index 0000000..4e63f9a
 2963         -
-- /dev/null
        3683  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 2964   3684   
@@ -0,0 +1 @@
        3685  +
30450220159829015456fd111a27c4e0d6a555da894aefd23c96c5eb915b94bf6788499a022100fd48a0b97d1c32a11ee33873f87953a3ef410978f226b4a708acb9e582828fde
              \
 No newline at end of file
 2965   3686   
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
 2966   3687   
new file mode 100644
 2967   3688   
index 0000000..adf1f09
 2968         -
-- /dev/null
        3689  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 2969   3690   
@@ -0,0 +1,6 @@
        3691  +
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
        3692  +
Host:example.amazonaws.com
        3693  +
My-Header1:value1
        3694  +
  value2
        3695  +
     value3
        3696  +
 2970   3697   
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
 2971   3698   
new file mode 100644
 2972   3699   
index 0000000..e085407
 2973         -
-- /dev/null
        3700  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 2974   3701   
@@ -0,0 +1,4 @@
        3702  +
AWS4-ECDSA-P256-SHA256
        3703  +
20150830T123600Z
        3704  +
20150830/service/aws4_request
        3705  +
960c3db8a6ce71c62c4bc13e5f2a72231a8f1a644d52e688ac1524ecd4b09643
              \
 No newline at end of file
 2975   3706   
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
 2976   3707   
new file mode 100644
 2977   3708   
index 0000000..b5026cd
 2978         -
-- /dev/null
        3709  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 2979   3710   
@@ -0,0 +1,5 @@
        3711  +
GET / HTTP/1.1
        3712  +
Host:example.amazonaws.com
        3713  +
My-Header1:value1
        3714  +
  value2
        3715  +
     value3
 2980   3716   
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
 2981   3717   
new file mode 100644
 2982   3718   
index 0000000..0468d80
 2983         -
-- /dev/null
        3719  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 2984   3720   
@@ -0,0 +1,12 @@
        3721  +
{
        3722  +
    "credentials": {
        3723  +
        "access_key_id": "AKIDEXAMPLE",
        3724  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3725  +
    },
        3726  +
    "expiration_in_seconds": 3600,
        3727  +
    "normalize": true,
        3728  +
    "region": "us-east-1",
        3729  +
    "service": "service",
        3730  +
    "sign_body": false,
        3731  +
    "timestamp": "2015-08-30T12:36:00Z"
        3732  +
}
              \
 No newline at end of file
 2985   3733   
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
 2986   3734   
similarity index 99%
 2987   3735   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
 2988   3736   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 2989   3737   
index 9375193..533afdb 100644
 2990   3738   
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
 2991   3739   
new file mode 100644
 2992   3740   
index 0000000..057b426
 2993         -
-- /dev/null
        3741  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 2994   3742   
@@ -0,0 +1 @@
        3743  +
3045022005e72f83b232f1fa01d7344267d44a46fa4c193bc3d0ad256e89f92a561eb8fa022100c62a85a22a6018463df69c97da07cd189185dadeede293c659e15514cd28a0c9
              \
 No newline at end of file
 2995   3744   
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
 2996   3745   
new file mode 100644
 2997   3746   
index 0000000..4e4ccf0
 2998         -
-- /dev/null
        3747  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 2999   3748   
@@ -0,0 +1,10 @@
        3749  +
GET / HTTP/1.1
        3750  +
Host:example.amazonaws.com
        3751  +
My-Header1:value4
        3752  +
My-Header1:value1
        3753  +
My-Header1:value3
        3754  +
My-Header1:value2
        3755  +
X-Amz-Date:20150830T123600Z
        3756  +
X-Amz-Region-Set:us-east-1
        3757  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=304402203410301a4cfc805996d0ac5305374d7cdff4e2564fcbd6f6cfed73b227966046022046e36b2ede1f78d2b68ea4534ae59da3de089e58f67ae08490411dfabd77f36e
        3758  +
 3000   3759   
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
 3001   3760   
similarity index 99%
 3002   3761   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
 3003   3762   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3004   3763   
index 6400baf..e68c952 100644
 3005   3764   
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
 3006   3765   
new file mode 100644
 3007   3766   
index 0000000..379dcb2
 3008         -
-- /dev/null
        3767  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 3009   3768   
@@ -0,0 +1,4 @@
        3769  +
{
        3770  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3771  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3772  +
}
 3010   3773   
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
 3011   3774   
similarity index 99%
 3012   3775   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
 3013   3776   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3014   3777   
index ecf494a..68450fe 100644
 3015   3778   
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
 3016   3779   
new file mode 100644
 3017   3780   
index 0000000..9df2eb3
 3018         -
-- /dev/null
        3781  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 3019   3782   
@@ -0,0 +1 @@
        3783  +
3045022044e0c722f2d02673c326d0ac38aae57e2877e158b700de702e5dd082be680f65022100841bb5007fb5ece1078add2bf38e84f1b7ea13e67b935d1fd021014eedee46a4
              \
 No newline at end of file
 3020   3784   
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
 3021   3785   
new file mode 100644
 3022   3786   
index 0000000..62f8cb7
 3023         -
-- /dev/null
        3787  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 3024   3788   
@@ -0,0 +1,7 @@
        3789  +
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
        3790  +
Host:example.amazonaws.com
        3791  +
My-Header1:value4
        3792  +
My-Header1:value1
        3793  +
My-Header1:value3
        3794  +
My-Header1:value2
        3795  +
 3025   3796   
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
 3026   3797   
similarity index 99%
 3027   3798   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
 3028   3799   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3029   3800   
index b584179..2bcf7b1 100644
 3030   3801   
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
 3031   3802   
similarity index 80%
 3032   3803   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
 3033   3804   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3034   3805   
index f7bd9e6..2c6f49d 100644
 3035         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
        3806  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3036   3807   
@@ -1,7 +1,6 @@
 3037   3808   
GET / HTTP/1.1
 3038   3809   
Host:example.amazonaws.com
 3039   3810   
My-Header1:value4
 3040   3811   
My-Header1:value1
 3041   3812   
My-Header1:value3
 3042   3813   
My-Header1:value2
 3043         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3044   3814   
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
 3045   3815   
new file mode 100644
 3046   3816   
index 0000000..0468d80
 3047         -
-- /dev/null
        3817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 3048   3818   
@@ -0,0 +1,12 @@
        3819  +
{
        3820  +
    "credentials": {
        3821  +
        "access_key_id": "AKIDEXAMPLE",
        3822  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3823  +
    },
        3824  +
    "expiration_in_seconds": 3600,
        3825  +
    "normalize": true,
        3826  +
    "region": "us-east-1",
        3827  +
    "service": "service",
        3828  +
    "sign_body": false,
        3829  +
    "timestamp": "2015-08-30T12:36:00Z"
        3830  +
}
              \
 No newline at end of file
 3049   3831   
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
 3050   3832   
similarity index 99%
 3051   3833   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
 3052   3834   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3053   3835   
index e91e952..94b6be5 100644
 3054   3836   
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
 3055   3837   
new file mode 100644
 3056   3838   
index 0000000..bf8c3cb
 3057         -
-- /dev/null
        3839  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 3058   3840   
@@ -0,0 +1 @@
        3841  +
3046022100f05cfb8a9a49ee4540c49ed27e612ddd1a2d168512bad65a96cdf8378254a4bd022100a3eb663e6734125d467fc00d5a41dc6bf476ec167d5c20657ff3135c8b4f7815
              \
 No newline at end of file
 3059   3842   
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
 3060   3843   
new file mode 100644
 3061   3844   
index 0000000..f7f054d
 3062         -
-- /dev/null
        3845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 3063   3846   
@@ -0,0 +1,8 @@
        3847  +
GET / HTTP/1.1
        3848  +
Host:example.amazonaws.com
        3849  +
My-Header1: value1
        3850  +
My-Header2: "a   b   c"
        3851  +
X-Amz-Date:20150830T123600Z
        3852  +
X-Amz-Region-Set:us-east-1
        3853  +
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
        3854  +
 3064   3855   
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
 3065   3856   
similarity index 99%
 3066   3857   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
 3067   3858   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3068   3859   
index 0e407d8..a2c9c05 100644
 3069   3860   
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
 3070   3861   
new file mode 100644
 3071   3862   
index 0000000..379dcb2
 3072         -
-- /dev/null
        3863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 3073   3864   
@@ -0,0 +1,4 @@
        3865  +
{
        3866  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3867  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3868  +
}
 3074   3869   
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
 3075   3870   
similarity index 99%
 3076   3871   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
 3077   3872   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3078   3873   
index 8a3b042..3a51150 100644
 3079   3874   
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
 3080   3875   
new file mode 100644
 3081   3876   
index 0000000..0033053
 3082         -
-- /dev/null
        3877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 3083   3878   
@@ -0,0 +1 @@
        3879  +
3045022100a765fa4e0a2c5d56292cc9aa654332858bcbb2af27b8c488157113f2c084776b02206145afa6dbb99993e499863fa36e592b94ddaeefbd778a473348204f26c15547
              \
 No newline at end of file
 3084   3880   
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
 3085   3881   
new file mode 100644
 3086   3882   
index 0000000..1537888
 3087         -
-- /dev/null
        3883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 3088   3884   
@@ -0,0 +1,5 @@
        3885  +
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
        3886  +
Host:example.amazonaws.com
        3887  +
My-Header1: value1
        3888  +
My-Header2: "a   b   c"
        3889  +
 3089   3890   
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
 3090   3891   
similarity index 99%
 3091   3892   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
 3092   3893   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3093   3894   
index 5eead25..633dc1f 100644
 3094   3895   
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
 3095   3896   
similarity index 75%
 3096   3897   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
 3097   3898   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3098   3899   
index 901f36c..ad1ea98 100644
 3099         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
        3900  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3100   3901   
@@ -1,5 +1,4 @@
 3101   3902   
GET / HTTP/1.1
 3102   3903   
Host:example.amazonaws.com
 3103   3904   
My-Header1: value1
 3104   3905   
My-Header2: "a   b   c"
 3105         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3106   3906   
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
 3107   3907   
new file mode 100644
 3108   3908   
index 0000000..0468d80
 3109         -
-- /dev/null
        3909  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 3110   3910   
@@ -0,0 +1,12 @@
        3911  +
{
        3912  +
    "credentials": {
        3913  +
        "access_key_id": "AKIDEXAMPLE",
        3914  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3915  +
    },
        3916  +
    "expiration_in_seconds": 3600,
        3917  +
    "normalize": true,
        3918  +
    "region": "us-east-1",
        3919  +
    "service": "service",
        3920  +
    "sign_body": false,
        3921  +
    "timestamp": "2015-08-30T12:36:00Z"
        3922  +
}
              \
 No newline at end of file
 3111   3923   
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
 3112   3924   
similarity index 99%
 3113   3925   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
 3114   3926   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3115   3927   
index 47e7128..76db73d 100644
 3116   3928   
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
 3117   3929   
new file mode 100644
 3118   3930   
index 0000000..cbd6ae2
 3119         -
-- /dev/null
        3931  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3120   3932   
@@ -0,0 +1 @@
        3933  +
3045022002e5e766e09de198957182589c9abe3e7ccd00a8fc6d7bbaf5f0a2c10660d16a022100e6b0835731cd5b72d5abb50e5821d90f5f713339697eb65cf40d34a3facfdbb8
              \
 No newline at end of file
 3121   3934   
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
 3122   3935   
new file mode 100644
 3123   3936   
index 0000000..a343fcf
 3124         -
-- /dev/null
        3937  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3125   3938   
@@ -0,0 +1,6 @@
        3939  +
GET /example/.. HTTP/1.1
        3940  +
Host:example.amazonaws.com
        3941  +
X-Amz-Date:20150830T123600Z
        3942  +
X-Amz-Region-Set:us-east-1
        3943  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206ccd591952cdb4a0a002217788234c80eac520f890b0a6ea07b98044f08ba10e0220733126caf0347f7df89773f79b9fae2648ca786e67a7d88ec296d66452da4bec
        3944  +
 3126   3945   
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
 3127   3946   
similarity index 99%
 3128   3947   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
 3129   3948   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3130   3949   
index 95d7219..600f1d8 100644
 3131   3950   
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
 3132   3951   
new file mode 100644
 3133   3952   
index 0000000..379dcb2
 3134         -
-- /dev/null
        3953  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3135   3954   
@@ -0,0 +1,4 @@
        3955  +
{
        3956  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3957  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3958  +
}
 3136   3959   
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
 3137   3960   
similarity index 99%
 3138   3961   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
 3139   3962   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3140   3963   
index a34ea26..779c51c 100644
 3141   3964   
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
 3142   3965   
new file mode 100644
 3143   3966   
index 0000000..3cc88e6
 3144         -
-- /dev/null
        3967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3145   3968   
@@ -0,0 +1 @@
        3969  +
304402200ef7c6ac7bfaaddbf4df3a4b03ab2e4e24e992d305fa133ef0f6c826ad9850e602203ef21f22e239cd1971310c404c80d6e50c5cd06eae1452695ae762d1a9a51c90
              \
 No newline at end of file
 3146   3970   
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
 3147   3971   
new file mode 100644
 3148   3972   
index 0000000..f68dde8
 3149         -
-- /dev/null
        3973  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3150   3974   
@@ -0,0 +1,3 @@
        3975  +
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
        3976  +
Host:example.amazonaws.com
        3977  +
 3151   3978   
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
 3152   3979   
similarity index 99%
 3153   3980   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
 3154   3981   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3155   3982   
index 48f855c..6e29a7e 100644
 3156   3983   
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
 3157   3984   
similarity index 65%
 3158   3985   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
 3159   3986   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3160   3987   
index 9d6d7ca..6aa9f99 100644
 3161         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
        3988  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3162   3989   
@@ -1,3 +1,2 @@
 3163   3990   
GET /example/.. HTTP/1.1
 3164   3991   
Host:example.amazonaws.com
 3165         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3166   3992   
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
 3167   3993   
new file mode 100644
 3168   3994   
index 0000000..0468d80
 3169         -
-- /dev/null
        3995  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3170   3996   
@@ -0,0 +1,12 @@
        3997  +
{
        3998  +
    "credentials": {
        3999  +
        "access_key_id": "AKIDEXAMPLE",
        4000  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4001  +
    },
        4002  +
    "expiration_in_seconds": 3600,
        4003  +
    "normalize": true,
        4004  +
    "region": "us-east-1",
        4005  +
    "service": "service",
        4006  +
    "sign_body": false,
        4007  +
    "timestamp": "2015-08-30T12:36:00Z"
        4008  +
}
              \
 No newline at end of file
 3171   4009   
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
 3172   4010   
similarity index 99%
 3173   4011   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
 3174   4012   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3175   4013   
index 47e7128..76db73d 100644
 3176   4014   
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
 3177   4015   
new file mode 100644
 3178   4016   
index 0000000..f7a7ebe
 3179         -
-- /dev/null
        4017  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3180   4018   
@@ -0,0 +1 @@
        4019  +
3046022100ea029ea1e7b8715f67cd33b8536e013e53e9c7bcd109770f29a4a28767bb2212022100c95a298283c130266a4c8457590d8c047205b4aef9266b85deeb90e5c73e5caa
              \
 No newline at end of file
 3181   4020   
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
 3182   4021   
new file mode 100644
 3183   4022   
index 0000000..9d2c50d
 3184         -
-- /dev/null
        4023  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3185   4024   
@@ -0,0 +1,6 @@
        4025  +
GET /example1/example2/../.. HTTP/1.1
        4026  +
Host:example.amazonaws.com
        4027  +
X-Amz-Date:20150830T123600Z
        4028  +
X-Amz-Region-Set:us-east-1
        4029  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203edb747d59fe32db47529b2e5e02c9276759b7c43ad9e36ff62d52b8dbeb00e3022007f99e8601938b893fe6dcbac9259fec2f3797b0e3d74fd66d59b09e83b8c1d4
        4030  +
 3186   4031   
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
 3187   4032   
similarity index 99%
 3188   4033   
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
 3189   4034   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3190   4035   
index 95d7219..600f1d8 100644
 3191   4036   
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
 3192   4037   
new file mode 100644
 3193   4038   
index 0000000..379dcb2
 3194         -
-- /dev/null
        4039  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3195   4040   
@@ -0,0 +1,4 @@
        4041  +
{
        4042  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4043  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4044  +
}
 3196   4045   
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
 3197   4046   
similarity index 99%
 3198   4047   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
 3199   4048   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3200   4049   
index a34ea26..779c51c 100644
 3201   4050   
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
 3202   4051   
new file mode 100644
 3203   4052   
index 0000000..45ef286
 3204         -
-- /dev/null
        4053  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3205   4054   
@@ -0,0 +1 @@
        4055  +
304402200afc56cdc43e814e44408999f2fb2fe0f8992877345b09e402b28fb2063e4987022035cdba28f5462e9034f45fc5f879bd2305943f9a1830b0f7fbe6468658ba52c1
              \
 No newline at end of file
 3206   4056   
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
 3207   4057   
new file mode 100644
 3208   4058   
index 0000000..0d16f66
 3209         -
-- /dev/null
        4059  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3210   4060   
@@ -0,0 +1,3 @@
        4061  +
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
        4062  +
Host:example.amazonaws.com
        4063  +
 3211   4064   
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
 3212   4065   
similarity index 99%
 3213   4066   
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
 3214   4067   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3215   4068   
index 48f855c..6e29a7e 100644
 3216   4069   
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
 3217   4070   
similarity index 70%
 3218   4071   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
 3219   4072   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3220   4073   
index cfd4e8b..a856c10 100644
 3221         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
        4074  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3222   4075   
@@ -1,3 +1,2 @@
 3223   4076   
GET /example1/example2/../.. HTTP/1.1
 3224   4077   
Host:example.amazonaws.com
 3225         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3226   4078   
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
 3227   4079   
new file mode 100644
 3228   4080   
index 0000000..7bee5c7
 3229         -
-- /dev/null
        4081  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3230   4082   
@@ -0,0 +1,12 @@
        4083  +
{
        4084  +
    "credentials": {
        4085  +
        "access_key_id": "AKIDEXAMPLE",
        4086  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4087  +
    },
        4088  +
    "expiration_in_seconds": 3600,
        4089  +
    "normalize": false,
        4090  +
    "region": "us-east-1",
        4091  +
    "service": "service",
        4092  +
    "sign_body": false,
        4093  +
    "timestamp": "2015-08-30T12:36:00Z"
        4094  +
}
              \
 No newline at end of file
 3231   4095   
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
 3232   4096   
similarity index 99%
 3233   4097   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
 3234   4098   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3235   4099   
index 5e1d1cf..e4e6d57 100644
 3236   4100   
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
 3237   4101   
new file mode 100644
 3238   4102   
index 0000000..2d1b47c
 3239         -
-- /dev/null
        4103  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3240   4104   
@@ -0,0 +1 @@
        4105  +
30450221009bf86ef8b148904a938fcc5a050aa99cb99cb6a3436a62badfef1b82977d95c4022053e3c11e10fb302a2c39c253b066530404ee5fcca63bf962facd8d072817a69d
              \
 No newline at end of file
 3241   4106   
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
 3242   4107   
new file mode 100644
 3243   4108   
index 0000000..7158179
 3244         -
-- /dev/null
        4109  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3245   4110   
@@ -0,0 +1,6 @@
        4111  +
GET /example1/example2/../.. HTTP/1.1
        4112  +
Host:example.amazonaws.com
        4113  +
X-Amz-Date:20150830T123600Z
        4114  +
X-Amz-Region-Set:us-east-1
        4115  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402205651d45d4f377407303dba0775405efa77683821adff20c0256b94d10710de5b022053fa72420652c55327876c5105da6770cb482f55533e1b0bd7d15fa75f570e46
        4116  +
 3246   4117   
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
 3247   4118   
similarity index 99%
 3248   4119   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
 3249   4120   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3250   4121   
index 1cca6cf..db60c8e 100644
 3251   4122   
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
 3252   4123   
new file mode 100644
 3253   4124   
index 0000000..379dcb2
 3254         -
-- /dev/null
        4125  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3255   4126   
@@ -0,0 +1,4 @@
        4127  +
{
        4128  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4129  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4130  +
}
 3256   4131   
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
 3257   4132   
similarity index 99%
 3258   4133   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
 3259   4134   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3260   4135   
index 95dc104..0d963ba 100644
 3261   4136   
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
 3262   4137   
new file mode 100644
 3263   4138   
index 0000000..ae774e4
 3264         -
-- /dev/null
        4139  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3265   4140   
@@ -0,0 +1 @@
        4141  +
3046022100a11cd4cae39a6b3553651f9c6360898278d90a3cb8f736184ff6bdb8564decbc022100d86a34623cc34890750a7fe8a30948638f6dace0e558c3ff82a0cf6256067503
              \
 No newline at end of file
 3266   4142   
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
 3267   4143   
new file mode 100644
 3268   4144   
index 0000000..be6b86e
 3269         -
-- /dev/null
        4145  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3270   4146   
@@ -0,0 +1,3 @@
        4147  +
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
        4148  +
Host:example.amazonaws.com
        4149  +
 3271   4150   
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
 3272   4151   
similarity index 99%
 3273   4152   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
 3274   4153   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3275   4154   
index 50edce6..fcc70cd 100644
 3276   4155   
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
 3277   4156   
new file mode 100644
 3278   4157   
index 0000000..a856c10
 3279         -
-- /dev/null
        4158  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3280   4159   
@@ -0,0 +1,2 @@
        4160  +
GET /example1/example2/../.. HTTP/1.1
        4161  +
Host:example.amazonaws.com
 3281   4162   
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
 3282   4163   
new file mode 100644
 3283   4164   
index 0000000..7bee5c7
 3284         -
-- /dev/null
        4165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3285   4166   
@@ -0,0 +1,12 @@
        4167  +
{
        4168  +
    "credentials": {
        4169  +
        "access_key_id": "AKIDEXAMPLE",
        4170  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4171  +
    },
        4172  +
    "expiration_in_seconds": 3600,
        4173  +
    "normalize": false,
        4174  +
    "region": "us-east-1",
        4175  +
    "service": "service",
        4176  +
    "sign_body": false,
        4177  +
    "timestamp": "2015-08-30T12:36:00Z"
        4178  +
}
              \
 No newline at end of file
 3286   4179   
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
 3287   4180   
similarity index 99%
 3288   4181   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
 3289   4182   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3290   4183   
index d6a0abe..22def1a 100644
 3291   4184   
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
 3292   4185   
new file mode 100644
 3293   4186   
index 0000000..9251bad
 3294         -
-- /dev/null
        4187  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3295   4188   
@@ -0,0 +1 @@
        4189  +
3045022100a85167a37a2c6aea42ef9dcb0dcaeaf85ca4ef1a4d8ffea5be550dbd4573471902202193760e5e6bb1ee4aff836769b9739f4563e06749bcaa7553ec1d1377aa5a6d
              \
 No newline at end of file
 3296   4190   
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
 3297   4191   
new file mode 100644
 3298   4192   
index 0000000..f1bb60f
 3299         -
-- /dev/null
        4193  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3300   4194   
@@ -0,0 +1,6 @@
        4195  +
GET /example/.. HTTP/1.1
        4196  +
Host:example.amazonaws.com
        4197  +
X-Amz-Date:20150830T123600Z
        4198  +
X-Amz-Region-Set:us-east-1
        4199  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402201430c834d8a89aca13ebd785da338950559f71ab29f1b7d7b4ad6b090de1a09702206c8d6089b75105d6fc5df5374bbb8abbc33b78951c95b90f9f6c25a657b58ce6
        4200  +
 3301   4201   
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
 3302   4202   
similarity index 99%
 3303   4203   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
 3304   4204   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3305   4205   
index 4a34e93..5673a20 100644
 3306   4206   
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
 3307   4207   
new file mode 100644
 3308   4208   
index 0000000..379dcb2
 3309         -
-- /dev/null
        4209  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3310   4210   
@@ -0,0 +1,4 @@
        4211  +
{
        4212  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4213  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4214  +
}
 3311   4215   
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
 3312   4216   
similarity index 99%
 3313   4217   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
 3314   4218   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3315   4219   
index b1d123e..a1c22e0 100644
 3316   4220   
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
 3317   4221   
new file mode 100644
 3318   4222   
index 0000000..9f0f686
 3319         -
-- /dev/null
        4223  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3320   4224   
@@ -0,0 +1 @@
        4225  +
3045022074d05647e395d4bf3d751953c7242ee27dd16fbae3f604a272d3acc3d72ba5fb022100ddccd95ac05f60f10d5e95c5847b49018bbfa1084361bf338964408cc2162fff
              \
 No newline at end of file
 3321   4226   
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
 3322   4227   
new file mode 100644
 3323   4228   
index 0000000..d1d451a
 3324         -
-- /dev/null
        4229  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3325   4230   
@@ -0,0 +1,3 @@
        4231  +
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
        4232  +
Host:example.amazonaws.com
        4233  +
 3326   4234   
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
 3327   4235   
similarity index 99%
 3328   4236   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
 3329   4237   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3330   4238   
index a17f5ab..81b41e8 100644
 3331   4239   
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
 3332   4240   
new file mode 100644
 3333   4241   
index 0000000..6aa9f99
 3334         -
-- /dev/null
        4242  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3335   4243   
@@ -0,0 +1,2 @@
        4244  +
GET /example/.. HTTP/1.1
        4245  +
Host:example.amazonaws.com
 3336   4246   
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
 3337   4247   
new file mode 100644
 3338   4248   
index 0000000..0468d80
 3339         -
-- /dev/null
        4249  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3340   4250   
@@ -0,0 +1,12 @@
        4251  +
{
        4252  +
    "credentials": {
        4253  +
        "access_key_id": "AKIDEXAMPLE",
        4254  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4255  +
    },
        4256  +
    "expiration_in_seconds": 3600,
        4257  +
    "normalize": true,
        4258  +
    "region": "us-east-1",
        4259  +
    "service": "service",
        4260  +
    "sign_body": false,
        4261  +
    "timestamp": "2015-08-30T12:36:00Z"
        4262  +
}
              \
 No newline at end of file
 3341   4263   
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
 3342   4264   
similarity index 99%
 3343   4265   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
 3344   4266   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3345   4267   
index 47e7128..76db73d 100644
 3346   4268   
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
 3347   4269   
new file mode 100644
 3348   4270   
index 0000000..ca6e84e
 3349         -
-- /dev/null
        4271  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3350   4272   
@@ -0,0 +1 @@
        4273  +
3045022100e8ed39e8b964e06162ab1cddbff57c449a9b72e2d052a7a3e12a116ae30185ee022003e6eb0fddbaa586225b26877ab145e05a08ac418ef7c966e5daef258b70cbfc
              \
 No newline at end of file
 3351   4274   
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
 3352   4275   
new file mode 100644
 3353   4276   
index 0000000..a7c764c
 3354         -
-- /dev/null
        4277  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3355   4278   
@@ -0,0 +1,6 @@
        4279  +
GET /./ HTTP/1.1
        4280  +
Host:example.amazonaws.com
        4281  +
X-Amz-Date:20150830T123600Z
        4282  +
X-Amz-Region-Set:us-east-1
        4283  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207665172b8612dbbd2c1f3c722c52b7b8dac2cdc5203d86252e21d9610018b153022100c548f3f0c23beeb388f8c8138ce1e883e2cdf2be1d7c5d7c15d4e565bfd6b0dd
        4284  +
 3356   4285   
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
 3357   4286   
similarity index 99%
 3358   4287   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
 3359   4288   
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
 3360   4289   
index 95d7219..600f1d8 100644
 3361   4290   
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
 3362   4291   
new file mode 100644
 3363   4292   
index 0000000..379dcb2
 3364         -
-- /dev/null
        4293  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3365   4294   
@@ -0,0 +1,4 @@
        4295  +
{
        4296  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4297  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4298  +
}
 3366   4299   
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
 3367   4300   
similarity index 99%
 3368   4301   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
 3369   4302   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3370   4303   
index a34ea26..779c51c 100644
 3371   4304   
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
 3372   4305   
new file mode 100644
 3373   4306   
index 0000000..4b6ed09
 3374         -
-- /dev/null
        4307  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3375   4308   
@@ -0,0 +1 @@
        4309  +
3046022100ea775dcca84dbada39eb9e7d55183c31d7294d1826d965c2ade1730bd20ac7cb022100aaab5325eed9bb3f93814af0fd0170893cbeeff052d0bb554f91a394fd2f5135
              \
 No newline at end of file
 3376   4310   
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
 3377   4311   
new file mode 100644
 3378   4312   
index 0000000..d6c7176
 3379         -
-- /dev/null
        4313  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3380   4314   
@@ -0,0 +1,3 @@
        4315  +
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
        4316  +
Host:example.amazonaws.com
        4317  +
 3381   4318   
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
 3382   4319   
similarity index 99%
 3383   4320   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
 3384   4321   
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
 3385   4322   
index 48f855c..6e29a7e 100644
 3386   4323   
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
 3387   4324   
similarity index 61%
 3388   4325   
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
 3389   4326   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3390   4327   
index f3537b7..2c5ff38 100644
 3391         -
-- 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
        4328  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3392   4329   
@@ -1,3 +1,2 @@
 3393   4330   
GET /./ HTTP/1.1
 3394   4331   
Host:example.amazonaws.com
 3395         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3396   4332   
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
 3397   4333   
new file mode 100644
 3398   4334   
index 0000000..7bee5c7
 3399         -
-- /dev/null
        4335  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3400   4336   
@@ -0,0 +1,12 @@
        4337  +
{
        4338  +
    "credentials": {
        4339  +
        "access_key_id": "AKIDEXAMPLE",
        4340  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4341  +
    },
        4342  +
    "expiration_in_seconds": 3600,
        4343  +
    "normalize": false,
        4344  +
    "region": "us-east-1",
        4345  +
    "service": "service",
        4346  +
    "sign_body": false,
        4347  +
    "timestamp": "2015-08-30T12:36:00Z"
        4348  +
}
              \
 No newline at end of file
 3401   4349   
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
 3402   4350   
similarity index 99%
 3403   4351   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3404   4352   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3405   4353   
index d05303d..9257ac4 100644
 3406   4354   
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
 3407   4355   
new file mode 100644
 3408   4356   
index 0000000..2eb1aa5
 3409         -
-- /dev/null
        4357  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3410   4358   
@@ -0,0 +1 @@
        4359  +
30450220430660fe6e8e04ee055a2c56476dcf95c00b3efca267823134664f90a23fdc0f022100f188106c83e13a89e6a487f24d23522520f7a15c40e3aacd0c32284da42c2f5a
              \
 No newline at end of file
 3411   4360   
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
 3412   4361   
new file mode 100644
 3413   4362   
index 0000000..df3b1da
 3414         -
-- /dev/null
        4363  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3415   4364   
@@ -0,0 +1,6 @@
        4365  +
GET /./ HTTP/1.1
        4366  +
Host:example.amazonaws.com
        4367  +
X-Amz-Date:20150830T123600Z
        4368  +
X-Amz-Region-Set:us-east-1
        4369  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022049aaa02168ac9666a94f42238be0a02a7a244b74d6e16bdf64aac7ce8e21e44d02206b9be50186bdd4ee9191c0dd5ccff7e990365bb3b56430653f6fa49a68dbf596
        4370  +
 3416   4371   
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
 3417   4372   
similarity index 99%
 3418   4373   
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
 3419   4374   
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
 3420   4375   
index e1bfb39..754b3ed 100644
 3421   4376   
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
 3422   4377   
new file mode 100644
 3423   4378   
index 0000000..379dcb2
 3424         -
-- /dev/null
        4379  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3425   4380   
@@ -0,0 +1,4 @@
        4381  +
{
        4382  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4383  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4384  +
}
 3426   4385   
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
 3427   4386   
similarity index 99%
 3428   4387   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3429   4388   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3430   4389   
index f048d0f..c8edce3 100644
 3431   4390   
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
 3432   4391   
new file mode 100644
 3433   4392   
index 0000000..d3af3b8
 3434         -
-- /dev/null
        4393  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3435   4394   
@@ -0,0 +1 @@
        4395  +
304402207999228e5213710741e030ffa7dfa83ce3676384c5df044431bc854488a08abd0220248ff8a956bbcbc641c0ec4a7853774f44112b1571f861fc5aebf78282fd7e63
              \
 No newline at end of file
 3436   4396   
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
 3437   4397   
new file mode 100644
 3438   4398   
index 0000000..eb38155
 3439         -
-- /dev/null
        4399  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3440   4400   
@@ -0,0 +1,3 @@
        4401  +
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
        4402  +
Host:example.amazonaws.com
        4403  +
 3441   4404   
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
 3442   4405   
similarity index 99%
 3443   4406   
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
 3444   4407   
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
 3445   4408   
index bfcf245..4f20b8f 100644
 3446   4409   
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
 3447   4410   
new file mode 100644
 3448   4411   
index 0000000..2c5ff38
 3449         -
-- /dev/null
        4412  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3450   4413   
@@ -0,0 +1,2 @@
        4414  +
GET /./ HTTP/1.1
        4415  +
Host:example.amazonaws.com
 3451   4416   
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
 3452   4417   
new file mode 100644
 3453   4418   
index 0000000..0468d80
 3454         -
-- /dev/null
        4419  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3455   4420   
@@ -0,0 +1,12 @@
        4421  +
{
        4422  +
    "credentials": {
        4423  +
        "access_key_id": "AKIDEXAMPLE",
        4424  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4425  +
    },
        4426  +
    "expiration_in_seconds": 3600,
        4427  +
    "normalize": true,
        4428  +
    "region": "us-east-1",
        4429  +
    "service": "service",
        4430  +
    "sign_body": false,
        4431  +
    "timestamp": "2015-08-30T12:36:00Z"
        4432  +
}
              \
 No newline at end of file
 3456   4433   
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
 3457   4434   
similarity index 99%
 3458   4435   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
 3459   4436   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3460   4437   
index 47e7128..76db73d 100644
 3461   4438   
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
 3462   4439   
new file mode 100644
 3463   4440   
index 0000000..0c049ca
 3464         -
-- /dev/null
        4441  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 3465   4442   
@@ -0,0 +1 @@
        4443  +
304602210084a7310186a866f81dbe8e546f6931dd7c61586d30664d5c11f5904836f72cfd022100c7d80abdccceb1cbcdbbda8b4f3f0ae1ac6229dce800b21ba8298c582fa96a1c
              \
 No newline at end of file
 3466   4444   
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
 3467   4445   
new file mode 100644
 3468   4446   
index 0000000..f4bb1e1
 3469         -
-- /dev/null
        4447  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 3470   4448   
@@ -0,0 +1,6 @@
        4449  +
GET // HTTP/1.1
        4450  +
Host:example.amazonaws.com
        4451  +
X-Amz-Date:20150830T123600Z
        4452  +
X-Amz-Region-Set:us-east-1
        4453  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207c7fe2e91cdbe4529569d58fc3727507375cff81a56cfa26b387895ab6cdbb25022100d38e283efa5ff27d88f10e7367493b1dc49050ba9474531e4acb3ee30fac3739
        4454  +
 3471   4455   
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
 3472   4456   
similarity index 99%
 3473   4457   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
 3474   4458   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3475   4459   
index 95d7219..600f1d8 100644
 3476   4460   
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
 3477   4461   
new file mode 100644
 3478   4462   
index 0000000..379dcb2
 3479         -
-- /dev/null
        4463  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 3480   4464   
@@ -0,0 +1,4 @@
        4465  +
{
        4466  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4467  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4468  +
}
 3481   4469   
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
 3482   4470   
similarity index 99%
 3483   4471   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
 3484   4472   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3485   4473   
index a34ea26..779c51c 100644
 3486   4474   
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
 3487   4475   
new file mode 100644
 3488   4476   
index 0000000..ca52293
 3489         -
-- /dev/null
        4477  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 3490   4478   
@@ -0,0 +1 @@
        4479  +
3045022100b1c08ec4e9a6313f2de7bd8ce726845ea7a3cc636a21ab7258a3067836a6601b02206b76d7a9845bfb683eb30d126a1dc4657e8b64762d4bfb976da9fa132c4a9bd7
              \
 No newline at end of file
 3491   4480   
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
 3492   4481   
new file mode 100644
 3493   4482   
index 0000000..4a212a9
 3494         -
-- /dev/null
        4483  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 3495   4484   
@@ -0,0 +1,3 @@
        4485  +
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
        4486  +
Host:example.amazonaws.com
        4487  +
 3496   4488   
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
 3497   4489   
similarity index 99%
 3498   4490   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
 3499   4491   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 3500   4492   
index 48f855c..6e29a7e 100644
 3501   4493   
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
 3502   4494   
similarity index 61%
 3503   4495   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
 3504   4496   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3505   4497   
index ede8e3c..25bc21e 100644
 3506         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
        4498  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3507   4499   
@@ -1,3 +1,2 @@
 3508   4500   
GET // HTTP/1.1
 3509   4501   
Host:example.amazonaws.com
 3510         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3511   4502   
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
 3512   4503   
new file mode 100644
 3513   4504   
index 0000000..0468d80
 3514         -
-- /dev/null
        4505  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 3515   4506   
@@ -0,0 +1,12 @@
        4507  +
{
        4508  +
    "credentials": {
        4509  +
        "access_key_id": "AKIDEXAMPLE",
        4510  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4511  +
    },
        4512  +
    "expiration_in_seconds": 3600,
        4513  +
    "normalize": true,
        4514  +
    "region": "us-east-1",
        4515  +
    "service": "service",
        4516  +
    "sign_body": false,
        4517  +
    "timestamp": "2015-08-30T12:36:00Z"
        4518  +
}
              \
 No newline at end of file
 3516   4519   
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
 3517   4520   
similarity index 99%
 3518   4521   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3519   4522   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3520   4523   
index 2e36c20..a51f1ba 100644
 3521   4524   
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
 3522   4525   
new file mode 100644
 3523   4526   
index 0000000..f5c871f
 3524         -
-- /dev/null
        4527  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 3525   4528   
@@ -0,0 +1 @@
        4529  +
304502206b0f9b99fe4e4b3bbcb69dd6ca076c847e676161b6fb4cd2bc776f357ece3d07022100fafc5606c7b1a45aa6ce6a7a3a68b07875315b8f952f9a192a420e407e8d1cef
              \
 No newline at end of file
 3526   4530   
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
 3527   4531   
new file mode 100644
 3528   4532   
index 0000000..bda4718
 3529         -
-- /dev/null
        4533  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 3530   4534   
@@ -0,0 +1,6 @@
        4535  +
GET /./example HTTP/1.1
        4536  +
Host:example.amazonaws.com
        4537  +
X-Amz-Date:20150830T123600Z
        4538  +
X-Amz-Region-Set:us-east-1
        4539  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221008cb5fa4d42bdd0c293d58ce748128be3a41693d25cfd701e281bf0c0bc28f41a022100b863217c8f05146ff1b4282706bc78781b1425c2d36a09127116e852e31fc974
        4540  +
 3531   4541   
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
 3532   4542   
similarity index 99%
 3533   4543   
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
 3534   4544   
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
 3535   4545   
index cd30e8b..2ffe879 100644
 3536   4546   
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
 3537   4547   
new file mode 100644
 3538   4548   
index 0000000..379dcb2
 3539         -
-- /dev/null
        4549  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 3540   4550   
@@ -0,0 +1,4 @@
        4551  +
{
        4552  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4553  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4554  +
}
 3541   4555   
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
 3542   4556   
similarity index 99%
 3543   4557   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3544   4558   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3545   4559   
index 77cf28d..45151ea 100644
 3546   4560   
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
 3547   4561   
new file mode 100644
 3548   4562   
index 0000000..11ad7bf
 3549         -
-- /dev/null
        4563  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 3550   4564   
@@ -0,0 +1 @@
        4565  +
3045022004b3d54ffdc33558a93c158a156ef1b50963d051e58ecb88b6809629d6b93860022100d88f70cb68de54e8abc628cb2325bcb32fab1a207d482010955f844812ad5174
              \
 No newline at end of file
 3551   4566   
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
 3552   4567   
new file mode 100644
 3553   4568   
index 0000000..a7537b1
 3554         -
-- /dev/null
        4569  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 3555   4570   
@@ -0,0 +1,3 @@
        4571  +
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
        4572  +
Host:example.amazonaws.com
        4573  +
 3556   4574   
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
 3557   4575   
similarity index 99%
 3558   4576   
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
 3559   4577   
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
 3560   4578   
index 49d9b24..b486672 100644
 3561   4579   
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
 3562   4580   
similarity index 65%
 3563   4581   
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
 3564   4582   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3565   4583   
index 3c91071..5d919c9 100644
 3566         -
-- 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
        4584  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3567   4585   
@@ -1,3 +1,2 @@
 3568   4586   
GET /./example HTTP/1.1
 3569   4587   
Host:example.amazonaws.com
 3570         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3571   4588   
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
 3572   4589   
new file mode 100644
 3573   4590   
index 0000000..7bee5c7
 3574         -
-- /dev/null
        4591  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 3575   4592   
@@ -0,0 +1,12 @@
        4593  +
{
        4594  +
    "credentials": {
        4595  +
        "access_key_id": "AKIDEXAMPLE",
        4596  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4597  +
    },
        4598  +
    "expiration_in_seconds": 3600,
        4599  +
    "normalize": false,
        4600  +
    "region": "us-east-1",
        4601  +
    "service": "service",
        4602  +
    "sign_body": false,
        4603  +
    "timestamp": "2015-08-30T12:36:00Z"
        4604  +
}
              \
 No newline at end of file
 3576   4605   
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
 3577   4606   
similarity index 99%
 3578   4607   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3579   4608   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3580   4609   
index 4444842..2355a69 100644
 3581   4610   
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
 3582   4611   
new file mode 100644
 3583   4612   
index 0000000..9c8f737
 3584         -
-- /dev/null
        4613  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 3585   4614   
@@ -0,0 +1 @@
        4615  +
3044022056618e95bf64058b8174e9e52790352380946d9a0a4ab332b530a63f497a80800220105ebcd6c6ee9b034157d21e7c81fdfb72ca640961cee9b49de82e5c1f80ac5e
              \
 No newline at end of file
 3586   4616   
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
 3587   4617   
new file mode 100644
 3588   4618   
index 0000000..aa5980d
 3589         -
-- /dev/null
        4619  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 3590   4620   
@@ -0,0 +1,6 @@
        4621  +
GET /./example HTTP/1.1
        4622  +
Host:example.amazonaws.com
        4623  +
X-Amz-Date:20150830T123600Z
        4624  +
X-Amz-Region-Set:us-east-1
        4625  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221009e2c768ae9904c3d04eba53cfbb7460034029fb1f169b51f82623cc53ae25dc7022100bfe47ecde858ad9ae3311bba5a4fd45fcacdb1795cc6825f0939e5d929a464bf
        4626  +
 3591   4627   
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
 3592   4628   
similarity index 99%
 3593   4629   
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
 3594   4630   
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
 3595   4631   
index cc63510..d056816 100644
 3596   4632   
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
 3597   4633   
new file mode 100644
 3598   4634   
index 0000000..379dcb2
 3599         -
-- /dev/null
        4635  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 3600   4636   
@@ -0,0 +1,4 @@
        4637  +
{
        4638  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4639  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4640  +
}
 3601   4641   
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
 3602   4642   
similarity index 99%
 3603   4643   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3604   4644   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3605   4645   
index ed2cb2d..df9928e 100644
 3606   4646   
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
 3607   4647   
new file mode 100644
 3608   4648   
index 0000000..bb4d86b
 3609         -
-- /dev/null
        4649  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 3610   4650   
@@ -0,0 +1 @@
        4651  +
304502202c31415712324143f4f20aebbd0f8a2fd4fcdd49d68ac95cd6815db3c0e6407b022100cb46cb62bbd024da2e29445c3378a32057b68b272fb2a08c79bfdcbc398505f3
              \
 No newline at end of file
 3611   4652   
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
 3612   4653   
new file mode 100644
 3613   4654   
index 0000000..0061136
 3614         -
-- /dev/null
        4655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 3615   4656   
@@ -0,0 +1,3 @@
        4657  +
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
        4658  +
Host:example.amazonaws.com
        4659  +
 3616   4660   
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
 3617   4661   
similarity index 99%
 3618   4662   
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
 3619   4663   
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
 3620   4664   
index c9f3b6d..418f2d6 100644
 3621   4665   
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
 3622   4666   
new file mode 100644
 3623   4667   
index 0000000..5d919c9
 3624         -
-- /dev/null
        4668  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 3625   4669   
@@ -0,0 +1,2 @@
        4670  +
GET /./example HTTP/1.1
        4671  +
Host:example.amazonaws.com
 3626   4672   
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
 3627   4673   
new file mode 100644
 3628   4674   
index 0000000..7bee5c7
 3629         -
-- /dev/null
        4675  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 3630   4676   
@@ -0,0 +1,12 @@
        4677  +
{
        4678  +
    "credentials": {
        4679  +
        "access_key_id": "AKIDEXAMPLE",
        4680  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4681  +
    },
        4682  +
    "expiration_in_seconds": 3600,
        4683  +
    "normalize": false,
        4684  +
    "region": "us-east-1",
        4685  +
    "service": "service",
        4686  +
    "sign_body": false,
        4687  +
    "timestamp": "2015-08-30T12:36:00Z"
        4688  +
}
              \
 No newline at end of file
 3631   4689   
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
 3632   4690   
similarity index 99%
 3633   4691   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
 3634   4692   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 3635   4693   
index 8a4d33b..5f809da 100644
 3636   4694   
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
 3637   4695   
new file mode 100644
 3638   4696   
index 0000000..60179e9
 3639         -
-- /dev/null
        4697  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 3640   4698   
@@ -0,0 +1 @@
        4699  +
3046022100fee7e772befdf85d3f9871798d5e08e93ad3f5d5d408b41387ba55714244809b0221008268d33835753dcdbd0a4d149d902eed071c41b70c230ecf56e0120a0f7d72a1
              \
 No newline at end of file
 3641   4700   
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
 3642   4701   
new file mode 100644
 3643   4702   
index 0000000..72bf1b7
 3644         -
-- /dev/null
        4703  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 3645   4704   
@@ -0,0 +1,6 @@
        4705  +
GET // HTTP/1.1
        4706  +
Host:example.amazonaws.com
        4707  +
X-Amz-Date:20150830T123600Z
        4708  +
X-Amz-Region-Set:us-east-1
        4709  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022061f03990d40a274470a1621b6e12b64452083a61218be77e48132a965da27377022100cdff18369b7361b1e33bd6cb5b216cdf88d390121447d442f59ccf84eb6489f7
        4710  +
 3646   4711   
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
 3647   4712   
similarity index 99%
 3648   4713   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
 3649   4714   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 3650   4715   
index 874c01c..2b3bf67 100644
 3651   4716   
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
 3652   4717   
new file mode 100644
 3653   4718   
index 0000000..379dcb2
 3654         -
-- /dev/null
        4719  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 3655   4720   
@@ -0,0 +1,4 @@
        4721  +
{
        4722  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4723  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4724  +
}
 3656   4725   
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
 3657   4726   
similarity index 99%
 3658   4727   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
 3659   4728   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 3660   4729   
index 81d7b0b..d10ad29 100644
 3661   4730   
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
 3662   4731   
new file mode 100644
 3663   4732   
index 0000000..d9bd824
 3664         -
-- /dev/null
        4733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 3665   4734   
@@ -0,0 +1 @@
        4735  +
3045022100abcadf84ed6f4bf5c19df3220b13e370ef093e5e7a5a5093c1a796a3de7804710220568ec0dafd60aa764002ce2ac7c89f403b47142dc7e0e48ded1691929488c88e
              \
 No newline at end of file
 3666   4736   
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
 3667   4737   
new file mode 100644
 3668   4738   
index 0000000..19d1d46
 3669         -
-- /dev/null
        4739  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 3670   4740   
@@ -0,0 +1,3 @@
        4741  +
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
        4742  +
Host:example.amazonaws.com
        4743  +
 3671   4744   
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
 3672   4745   
similarity index 99%
 3673   4746   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
 3674   4747   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 3675   4748   
index 17e5279..24c8a5e 100644
 3676   4749   
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
 3677   4750   
new file mode 100644
 3678   4751   
index 0000000..25bc21e
 3679         -
-- /dev/null
        4752  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 3680   4753   
@@ -0,0 +1,2 @@
        4754  +
GET // HTTP/1.1
        4755  +
Host:example.amazonaws.com
 3681   4756   
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
 3682   4757   
new file mode 100644
 3683   4758   
index 0000000..0468d80
 3684         -
-- /dev/null
        4759  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 3685   4760   
@@ -0,0 +1,12 @@
        4761  +
{
        4762  +
    "credentials": {
        4763  +
        "access_key_id": "AKIDEXAMPLE",
        4764  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4765  +
    },
        4766  +
    "expiration_in_seconds": 3600,
        4767  +
    "normalize": true,
        4768  +
    "region": "us-east-1",
        4769  +
    "service": "service",
        4770  +
    "sign_body": false,
        4771  +
    "timestamp": "2015-08-30T12:36:00Z"
        4772  +
}
              \
 No newline at end of file
 3686   4773   
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
 3687   4774   
similarity index 99%
 3688   4775   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
 3689   4776   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 3690   4777   
index fdf9c48..a8e9e02 100644
 3691   4778   
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
 3692   4779   
new file mode 100644
 3693   4780   
index 0000000..ffe1b60
 3694         -
-- /dev/null
        4781  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 3695   4782   
@@ -0,0 +1 @@
        4783  +
304402205dd203fd6b973e5fb088569ec27db1e267ef4a728f177e88fcc65f299255c0ab02206da878f40c64094595aa4e808849b69025f1c9b9f4be0f0e6ab8cd7a04e81d77
              \
 No newline at end of file
 3696   4784   
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
 3697   4785   
new file mode 100644
 3698   4786   
index 0000000..3189f55
 3699         -
-- /dev/null
        4787  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 3700   4788   
@@ -0,0 +1,6 @@
        4789  +
GET //example// HTTP/1.1
        4790  +
Host:example.amazonaws.com
        4791  +
X-Amz-Date:20150830T123600Z
        4792  +
X-Amz-Region-Set:us-east-1
        4793  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203d34870fcc77b0f5a3f6d440cd1cecb75c7e534cfbcc68f60743d308ae92fef602200f9fbaacc5010b9a7e046b1b5ae58764bd32c24c47ef65b63ad9ff756c478e4d
        4794  +
 3701   4795   
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
 3702   4796   
similarity index 99%
 3703   4797   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
 3704   4798   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 3705   4799   
index 8f9c95e..430020e 100644
 3706   4800   
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
 3707   4801   
new file mode 100644
 3708   4802   
index 0000000..379dcb2
 3709         -
-- /dev/null
        4803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 3710   4804   
@@ -0,0 +1,4 @@
        4805  +
{
        4806  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4807  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4808  +
}
 3711   4809   
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
 3712   4810   
similarity index 99%
 3713   4811   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
 3714   4812   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 3715   4813   
index 1046735..8d41e37 100644
 3716   4814   
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
 3717   4815   
new file mode 100644
 3718   4816   
index 0000000..93a0fa4
 3719         -
-- /dev/null
        4817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 3720   4818   
@@ -0,0 +1 @@
        4819  +
3045022100dfd2281b396d138207f0e58889bd6cc4d95ffd8d64e6f37ef2a9f2a15cab6944022060d05a747cd4e3c49cb50bf58d834ae917cd1ebd1524a352fb64f4d54f9ba279
              \
 No newline at end of file
 3721   4820   
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
 3722   4821   
new file mode 100644
 3723   4822   
index 0000000..65c8cb6
 3724         -
-- /dev/null
        4823  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 3725   4824   
@@ -0,0 +1,3 @@
        4825  +
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
        4826  +
Host:example.amazonaws.com
        4827  +
 3726   4828   
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
 3727   4829   
similarity index 99%
 3728   4830   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
 3729   4831   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 3730   4832   
index b293cc2..0f4c4c5 100644
 3731   4833   
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
 3732   4834   
similarity index 65%
 3733   4835   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
 3734   4836   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3735   4837   
index a4307ce..12e0931 100644
 3736         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
        4838  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3737   4839   
@@ -1,3 +1,2 @@
 3738   4840   
GET //example// HTTP/1.1
 3739   4841   
Host:example.amazonaws.com
 3740         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3741   4842   
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
 3742   4843   
new file mode 100644
 3743   4844   
index 0000000..7bee5c7
 3744         -
-- /dev/null
        4845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 3745   4846   
@@ -0,0 +1,12 @@
        4847  +
{
        4848  +
    "credentials": {
        4849  +
        "access_key_id": "AKIDEXAMPLE",
        4850  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4851  +
    },
        4852  +
    "expiration_in_seconds": 3600,
        4853  +
    "normalize": false,
        4854  +
    "region": "us-east-1",
        4855  +
    "service": "service",
        4856  +
    "sign_body": false,
        4857  +
    "timestamp": "2015-08-30T12:36:00Z"
        4858  +
}
              \
 No newline at end of file
 3746   4859   
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
 3747   4860   
similarity index 99%
 3748   4861   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
 3749   4862   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 3750   4863   
index a9c55f6..76f55ed 100644
 3751   4864   
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
 3752   4865   
new file mode 100644
 3753   4866   
index 0000000..de333b2
 3754         -
-- /dev/null
        4867  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 3755   4868   
@@ -0,0 +1 @@
        4869  +
3044022039ccb6afb5f0b574cfc8fec2e9158269bbe28f9e5747acc032d1ea17617f8b2002204933ee3e4ad4ec425c90593a68db99fcece29ae45906dec40c2204290cedf8bd
              \
 No newline at end of file
 3756   4870   
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
 3757   4871   
new file mode 100644
 3758   4872   
index 0000000..773ce63
 3759         -
-- /dev/null
        4873  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 3760   4874   
@@ -0,0 +1,6 @@
        4875  +
GET //example// HTTP/1.1
        4876  +
Host:example.amazonaws.com
        4877  +
X-Amz-Date:20150830T123600Z
        4878  +
X-Amz-Region-Set:us-east-1
        4879  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502202450e5abfccb424d5a0e2d5d1a084e76abc5290ae567a97f5174bfed575fd519022100a5e743040a2bdd3cd7889070e1d190d5782e7591a715370f9bea04dc2702dbab
        4880  +
 3761   4881   
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
 3762   4882   
similarity index 99%
 3763   4883   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
 3764   4884   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 3765   4885   
index 5c4c2cd..46c3265 100644
 3766   4886   
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
 3767   4887   
new file mode 100644
 3768   4888   
index 0000000..379dcb2
 3769         -
-- /dev/null
        4889  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 3770   4890   
@@ -0,0 +1,4 @@
        4891  +
{
        4892  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4893  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4894  +
}
 3771   4895   
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
 3772   4896   
similarity index 99%
 3773   4897   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
 3774   4898   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 3775   4899   
index c878ab4..6047ccf 100644
 3776   4900   
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
 3777   4901   
new file mode 100644
 3778   4902   
index 0000000..d61fcd0
 3779         -
-- /dev/null
        4903  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 3780   4904   
@@ -0,0 +1 @@
        4905  +
3045022100fa1d3e99997a184d59e23fb8bfeca08a5f94f2e7b89b0320d11deacab3593f0f022009c0785ec02c5dda370a3eb714feb51e3b0d56df674571bf7146bf8277897e65
              \
 No newline at end of file
 3781   4906   
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
 3782   4907   
new file mode 100644
 3783   4908   
index 0000000..3e37b5b
 3784         -
-- /dev/null
        4909  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 3785   4910   
@@ -0,0 +1,3 @@
        4911  +
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
        4912  +
Host:example.amazonaws.com
        4913  +
 3786   4914   
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
 3787   4915   
similarity index 99%
 3788   4916   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
 3789   4917   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 3790   4918   
index 5f59645..2537d28 100644
 3791   4919   
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
 3792   4920   
new file mode 100644
 3793   4921   
index 0000000..12e0931
 3794         -
-- /dev/null
        4922  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 3795   4923   
@@ -0,0 +1,2 @@
        4924  +
GET //example// HTTP/1.1
        4925  +
Host:example.amazonaws.com
 3796   4926   
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
 3797   4927   
new file mode 100644
 3798   4928   
index 0000000..0468d80
 3799         -
-- /dev/null
        4929  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 3800   4930   
@@ -0,0 +1,12 @@
        4931  +
{
        4932  +
    "credentials": {
        4933  +
        "access_key_id": "AKIDEXAMPLE",
        4934  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4935  +
    },
        4936  +
    "expiration_in_seconds": 3600,
        4937  +
    "normalize": true,
        4938  +
    "region": "us-east-1",
        4939  +
    "service": "service",
        4940  +
    "sign_body": false,
        4941  +
    "timestamp": "2015-08-30T12:36:00Z"
        4942  +
}
              \
 No newline at end of file
 3801   4943   
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
 3802   4944   
new file mode 100644
 3803   4945   
index 0000000..0b2b616
 3804         -
-- /dev/null
        4946  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 3805   4947   
@@ -0,0 +1,9 @@
        4948  +
GET
        4949  +
/example%20space/
        4950  +
        4951  +
host:example.amazonaws.com
        4952  +
x-amz-date:20150830T123600Z
        4953  +
x-amz-region-set:us-east-1
        4954  +
        4955  +
host;x-amz-date;x-amz-region-set
        4956  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3806   4957   
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
 3807   4958   
new file mode 100644
 3808   4959   
index 0000000..6e7841d
 3809         -
-- /dev/null
        4960  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 3810   4961   
@@ -0,0 +1 @@
        4962  +
304502202292b4f0e4f1495b9ceb3b77349efeffdce42cb5461f810db3983005c1e772ca022100b4b6175661196a82f5b59968315517e1ffdde58d2e3eba10d3bfe171cde625c4
              \
 No newline at end of file
 3811   4963   
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
 3812   4964   
new file mode 100644
 3813   4965   
index 0000000..0969cd3
 3814         -
-- /dev/null
        4966  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 3815   4967   
@@ -0,0 +1,6 @@
        4968  +
GET /example space/ HTTP/1.1
        4969  +
Host:example.amazonaws.com
        4970  +
X-Amz-Date:20150830T123600Z
        4971  +
X-Amz-Region-Set:us-east-1
        4972  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100e8e0ec99a8d287073e078543fdbdeba108cdef097a52c7556874076072350200022100e59d9e0f48209bea00faa47d485d850eb72747db83927a2a43b5ebab5ca2b545
        4973  +
 3816   4974   
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
 3817   4975   
new file mode 100644
 3818   4976   
index 0000000..ddae6e2
 3819         -
-- /dev/null
        4977  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 3820   4978   
@@ -0,0 +1,4 @@
        4979  +
AWS4-ECDSA-P256-SHA256
        4980  +
20150830T123600Z
        4981  +
20150830/service/aws4_request
        4982  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3821   4983   
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
 3822   4984   
new file mode 100644
 3823   4985   
index 0000000..379dcb2
 3824         -
-- /dev/null
        4986  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 3825   4987   
@@ -0,0 +1,4 @@
        4988  +
{
        4989  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4990  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4991  +
}
 3826   4992   
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
 3827   4993   
new file mode 100644
 3828   4994   
index 0000000..a66b3cb
 3829         -
-- /dev/null
        4995  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 3830   4996   
@@ -0,0 +1,7 @@
        4997  +
GET
        4998  +
/example%20space/
        4999  +
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
        5000  +
host:example.amazonaws.com
        5001  +
        5002  +
host
        5003  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3831   5004   
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
 3832   5005   
new file mode 100644
 3833   5006   
index 0000000..b3253ae
 3834         -
-- /dev/null
        5007  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 3835   5008   
@@ -0,0 +1 @@
        5009  +
3045022100fc068fdda7586bec9ac9ed341e7a81bf1e1f8c60fee6e22165868ecac62e404d02200620b5d68b9be75210336618fc0a884439ce1ae93085adb03e27f1ce7ca4912e
              \
 No newline at end of file
 3836   5010   
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
 3837   5011   
new file mode 100644
 3838   5012   
index 0000000..9e335b2
 3839         -
-- /dev/null
        5013  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 3840   5014   
@@ -0,0 +1,3 @@
        5015  +
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
        5016  +
Host:example.amazonaws.com
        5017  +
 3841   5018   
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
 3842   5019   
new file mode 100644
 3843   5020   
index 0000000..b6ff6fb
 3844         -
-- /dev/null
        5021  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 3845   5022   
@@ -0,0 +1,4 @@
        5023  +
AWS4-ECDSA-P256-SHA256
        5024  +
20150830T123600Z
        5025  +
20150830/service/aws4_request
        5026  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3846   5027   
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
 3847   5028   
new file mode 100644
 3848   5029   
index 0000000..ab509ab
 3849         -
-- /dev/null
        5030  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 3850   5031   
@@ -0,0 +1,2 @@
        5032  +
GET /example space/ HTTP/1.1
        5033  +
Host:example.amazonaws.com
 3851   5034   
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
 3852   5035   
new file mode 100644
 3853   5036   
index 0000000..7bee5c7
 3854         -
-- /dev/null
        5037  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 3855   5038   
@@ -0,0 +1,12 @@
        5039  +
{
        5040  +
    "credentials": {
        5041  +
        "access_key_id": "AKIDEXAMPLE",
        5042  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5043  +
    },
        5044  +
    "expiration_in_seconds": 3600,
        5045  +
    "normalize": false,
        5046  +
    "region": "us-east-1",
        5047  +
    "service": "service",
        5048  +
    "sign_body": false,
        5049  +
    "timestamp": "2015-08-30T12:36:00Z"
        5050  +
}
              \
 No newline at end of file
 3856   5051   
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
 3857   5052   
new file mode 100644
 3858   5053   
index 0000000..0b2b616
 3859         -
-- /dev/null
        5054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 3860   5055   
@@ -0,0 +1,9 @@
        5056  +
GET
        5057  +
/example%20space/
        5058  +
        5059  +
host:example.amazonaws.com
        5060  +
x-amz-date:20150830T123600Z
        5061  +
x-amz-region-set:us-east-1
        5062  +
        5063  +
host;x-amz-date;x-amz-region-set
        5064  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3861   5065   
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
 3862   5066   
new file mode 100644
 3863   5067   
index 0000000..e75ae08
 3864         -
-- /dev/null
        5068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 3865   5069   
@@ -0,0 +1 @@
        5070  +
3046022100881d1dce37131cd3248fa4cfb63f050e8985c3de5a58f654a8b263d52ad576180221009316e13742504474cf33631bb5f2fa89f4990c911ad317be831a6de015cf4054
              \
 No newline at end of file
 3866   5071   
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
 3867   5072   
new file mode 100644
 3868   5073   
index 0000000..cb089db
 3869         -
-- /dev/null
        5074  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 3870   5075   
@@ -0,0 +1,6 @@
        5076  +
GET /example space/ HTTP/1.1
        5077  +
Host:example.amazonaws.com
        5078  +
X-Amz-Date:20150830T123600Z
        5079  +
X-Amz-Region-Set:us-east-1
        5080  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100a26695d793a8e7d2ed2a3495402e9b4bf8e5b05e767d303f57d9515f617ebae5022100c4b89f5648567c08b6d173b6d733f5c012bb615cd38039109f64db56efecc851
        5081  +
 3871   5082   
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
 3872   5083   
new file mode 100644
 3873   5084   
index 0000000..ddae6e2
 3874         -
-- /dev/null
        5085  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 3875   5086   
@@ -0,0 +1,4 @@
        5087  +
AWS4-ECDSA-P256-SHA256
        5088  +
20150830T123600Z
        5089  +
20150830/service/aws4_request
        5090  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3876   5091   
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
 3877   5092   
new file mode 100644
 3878   5093   
index 0000000..379dcb2
 3879         -
-- /dev/null
        5094  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 3880   5095   
@@ -0,0 +1,4 @@
        5096  +
{
        5097  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5098  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5099  +
}
 3881   5100   
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
 3882   5101   
new file mode 100644
 3883   5102   
index 0000000..a66b3cb
 3884         -
-- /dev/null
        5103  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 3885   5104   
@@ -0,0 +1,7 @@
        5105  +
GET
        5106  +
/example%20space/
        5107  +
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
        5108  +
host:example.amazonaws.com
        5109  +
        5110  +
host
        5111  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3886   5112   
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
 3887   5113   
new file mode 100644
 3888   5114   
index 0000000..66a80c3
 3889         -
-- /dev/null
        5115  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 3890   5116   
@@ -0,0 +1 @@
        5117  +
304502201825fe5d62f321a740cbe590ce0c0c17045eed9acbbbd574d3cefbec349d06c5022100bcd482f85374b24d9f1f5000d2de7e12a4e0c8f5277e73d29c41ecc45390e731
              \
 No newline at end of file
 3891   5118   
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
 3892   5119   
new file mode 100644
 3893   5120   
index 0000000..7d1b9d9
 3894         -
-- /dev/null
        5121  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 3895   5122   
@@ -0,0 +1,3 @@
        5123  +
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
        5124  +
Host:example.amazonaws.com
        5125  +
 3896   5126   
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
 3897   5127   
new file mode 100644
 3898   5128   
index 0000000..b6ff6fb
 3899         -
-- /dev/null
        5129  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 3900   5130   
@@ -0,0 +1,4 @@
        5131  +
AWS4-ECDSA-P256-SHA256
        5132  +
20150830T123600Z
        5133  +
20150830/service/aws4_request
        5134  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3901   5135   
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
 3902   5136   
new file mode 100644
 3903   5137   
index 0000000..ab509ab
 3904         -
-- /dev/null
        5138  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 3905   5139   
@@ -0,0 +1,2 @@
        5140  +
GET /example space/ HTTP/1.1
        5141  +
Host:example.amazonaws.com
 3906   5142   
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
 3907   5143   
new file mode 100644
 3908   5144   
index 0000000..0468d80
 3909         -
-- /dev/null
        5145  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 3910   5146   
@@ -0,0 +1,12 @@
        5147  +
{
        5148  +
    "credentials": {
        5149  +
        "access_key_id": "AKIDEXAMPLE",
        5150  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5151  +
    },
        5152  +
    "expiration_in_seconds": 3600,
        5153  +
    "normalize": true,
        5154  +
    "region": "us-east-1",
        5155  +
    "service": "service",
        5156  +
    "sign_body": false,
        5157  +
    "timestamp": "2015-08-30T12:36:00Z"
        5158  +
}
              \
 No newline at end of file
 3911   5159   
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
 3912   5160   
similarity index 99%
 3913   5161   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
 3914   5162   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 3915   5163   
index b0db648..46d76bb 100644
 3916   5164   
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
 3917   5165   
new file mode 100644
 3918   5166   
index 0000000..53c0cb6
 3919         -
-- /dev/null
        5167  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 3920   5168   
@@ -0,0 +1 @@
        5169  +
304502204303d34750ced762f4e5af2c61ba70c9f5830d8a5c7fc418a02823d61673ca32022100c26cf8f38007155cb8bd3e684697063ad8f421a91be796d78b14b126e25d3680
              \
 No newline at end of file
 3921   5170   
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
 3922   5171   
new file mode 100644
 3923   5172   
index 0000000..3bdb653
 3924         -
-- /dev/null
        5173  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 3925   5174   
@@ -0,0 +1,6 @@
        5175  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5176  +
Host:example.amazonaws.com
        5177  +
X-Amz-Date:20150830T123600Z
        5178  +
X-Amz-Region-Set:us-east-1
        5179  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206a228bcbe26141c2c5065525b98ea00b793470e04e655006269f740e320215930220160015e35502fa89a96f5fed59981af0896b60ecea6a68606a0be368bca73f2c
        5180  +
 3926   5181   
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
 3927   5182   
similarity index 99%
 3928   5183   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
 3929   5184   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 3930   5185   
index 20c7cd6..3b30173 100644
 3931   5186   
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
 3932   5187   
new file mode 100644
 3933   5188   
index 0000000..379dcb2
 3934         -
-- /dev/null
        5189  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 3935   5190   
@@ -0,0 +1,4 @@
        5191  +
{
        5192  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5193  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5194  +
}
 3936   5195   
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
 3937   5196   
similarity index 99%
 3938   5197   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
 3939   5198   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 3940   5199   
index f9fb726..7e93f58 100644
 3941   5200   
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
 3942   5201   
new file mode 100644
 3943   5202   
index 0000000..48311a8
 3944         -
-- /dev/null
        5203  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 3945   5204   
@@ -0,0 +1 @@
        5205  +
3045022100a8e6e2918ceb211f77810150d828be217af238ca95db6f88264d668ffacefb8b02204122d651c775a3ed8f40f3bfe37a2c8fec28cd53027b599eddd7115e06ca4bb0
              \
 No newline at end of file
 3946   5206   
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
 3947   5207   
new file mode 100644
 3948   5208   
index 0000000..82da9be
 3949         -
-- /dev/null
        5209  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 3950   5210   
@@ -0,0 +1,3 @@
        5211  +
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
        5212  +
Host:example.amazonaws.com
        5213  +
 3951   5214   
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
 3952   5215   
similarity index 99%
 3953   5216   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
 3954   5217   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 3955   5218   
index ef06e89..4aab9a2 100644
 3956   5219   
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
 3957   5220   
similarity index 80%
 3958   5221   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
 3959   5222   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 3960   5223   
index da760cd..a149694 100644
 3961         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
        5224  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 3962   5225   
@@ -1,3 +1,2 @@
 3963   5226   
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 3964   5227   
Host:example.amazonaws.com
 3965         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3966   5228   
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
 3967   5229   
new file mode 100644
 3968   5230   
index 0000000..0468d80
 3969         -
-- /dev/null
        5231  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 3970   5232   
@@ -0,0 +1,12 @@
        5233  +
{
        5234  +
    "credentials": {
        5235  +
        "access_key_id": "AKIDEXAMPLE",
        5236  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5237  +
    },
        5238  +
    "expiration_in_seconds": 3600,
        5239  +
    "normalize": true,
        5240  +
    "region": "us-east-1",
        5241  +
    "service": "service",
        5242  +
    "sign_body": false,
        5243  +
    "timestamp": "2015-08-30T12:36:00Z"
        5244  +
}
              \
 No newline at end of file
 3971   5245   
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
 3972   5246   
new file mode 100644
 3973   5247   
index 0000000..0f1afe7
 3974         -
-- /dev/null
        5248  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 3975   5249   
@@ -0,0 +1,9 @@
        5250  +
GET
        5251  +
/%E1%88%B4
        5252  +
        5253  +
host:example.amazonaws.com
        5254  +
x-amz-date:20150830T123600Z
        5255  +
x-amz-region-set:us-east-1
        5256  +
        5257  +
host;x-amz-date;x-amz-region-set
        5258  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3976   5259   
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
 3977   5260   
new file mode 100644
 3978   5261   
index 0000000..4b9af6c
 3979         -
-- /dev/null
        5262  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 3980   5263   
@@ -0,0 +1 @@
        5264  +
3044022009b73628ce2929e224b781c591bdc93fc3381cef5f63992eefb82a286276fa0902203cbc6071d1be7b8c91ec0a04b921881c48cbea2a0a86481f6fa7a983e36190c0
              \
 No newline at end of file
 3981   5265   
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
 3982   5266   
new file mode 100644
 3983   5267   
index 0000000..d42d7b3
 3984         -
-- /dev/null
        5268  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 3985   5269   
@@ -0,0 +1,6 @@
        5270  +
GET /ሴ HTTP/1.1
        5271  +
Host:example.amazonaws.com
        5272  +
X-Amz-Date:20150830T123600Z
        5273  +
X-Amz-Region-Set:us-east-1
        5274  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210082c462efc22f340d7d20b19e0c9b38400e9395bedd9269e01e959ef915ca2846022050d38df1572786ef8befe01d888335c15b0f17fb1d795858fa3cb79e060ba375
        5275  +
 3986   5276   
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
 3987   5277   
new file mode 100644
 3988   5278   
index 0000000..0827f62
 3989         -
-- /dev/null
        5279  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 3990   5280   
@@ -0,0 +1,4 @@
        5281  +
AWS4-ECDSA-P256-SHA256
        5282  +
20150830T123600Z
        5283  +
20150830/service/aws4_request
        5284  +
7c8a7084825e715f0e217a7470ce3611bcfedb5b70329d9b36bba5cefd39c11a
              \
 No newline at end of file
 3991   5285   
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
 3992   5286   
new file mode 100644
 3993   5287   
index 0000000..379dcb2
 3994         -
-- /dev/null
        5288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 3995   5289   
@@ -0,0 +1,4 @@
        5290  +
{
        5291  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5292  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5293  +
}
 3996   5294   
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
 3997   5295   
new file mode 100644
 3998   5296   
index 0000000..a41a2f8
 3999         -
-- /dev/null
        5297  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 4000   5298   
@@ -0,0 +1,7 @@
        5299  +
GET
        5300  +
/%E1%88%B4
        5301  +
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
        5302  +
host:example.amazonaws.com
        5303  +
        5304  +
host
        5305  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4001   5306   
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
 4002   5307   
new file mode 100644
 4003   5308   
index 0000000..a5c7f4f
 4004         -
-- /dev/null
        5309  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 4005   5310   
@@ -0,0 +1 @@
        5311  +
30460221008cf2ac3d46b7529fe7b73add56626a546fc9372b458e197dbd355198465e0918022100c059b86e01bd11d31c5fe19ee7c73fe3b8058ad2cebe2fe74c779c4a6a95684a
              \
 No newline at end of file
 4006   5312   
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
 4007   5313   
new file mode 100644
 4008   5314   
index 0000000..492ed33
 4009         -
-- /dev/null
        5315  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 4010   5316   
@@ -0,0 +1,3 @@
        5317  +
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
        5318  +
Host:example.amazonaws.com
        5319  +
 4011   5320   
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
 4012   5321   
new file mode 100644
 4013   5322   
index 0000000..a93108f
 4014         -
-- /dev/null
        5323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 4015   5324   
@@ -0,0 +1,4 @@
        5325  +
AWS4-ECDSA-P256-SHA256
        5326  +
20150830T123600Z
        5327  +
20150830/service/aws4_request
        5328  +
b77c78c8276c5eac930db70b21b69b34d0c2560e1a963ab28e28481ef6a4ff66
              \
 No newline at end of file
 4016   5329   
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
 4017   5330   
new file mode 100644
 4018   5331   
index 0000000..9e273f6
 4019         -
-- /dev/null
        5332  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 4020   5333   
@@ -0,0 +1,2 @@
        5334  +
GET /ሴ HTTP/1.1
        5335  +
Host:example.amazonaws.com
 4021   5336   
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
 4022   5337   
new file mode 100644
 4023   5338   
index 0000000..0468d80
 4024         -
-- /dev/null
        5339  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 4025   5340   
@@ -0,0 +1,12 @@
        5341  +
{
        5342  +
    "credentials": {
        5343  +
        "access_key_id": "AKIDEXAMPLE",
        5344  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5345  +
    },
        5346  +
    "expiration_in_seconds": 3600,
        5347  +
    "normalize": true,
        5348  +
    "region": "us-east-1",
        5349  +
    "service": "service",
        5350  +
    "sign_body": false,
        5351  +
    "timestamp": "2015-08-30T12:36:00Z"
        5352  +
}
              \
 No newline at end of file
 4026   5353   
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
 4027   5354   
similarity index 99%
 4028   5355   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
 4029   5356   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4030   5357   
index bb9d4bf..edc0bb4 100644
 4031   5358   
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
 4032   5359   
new file mode 100644
 4033   5360   
index 0000000..ee9a272
 4034         -
-- /dev/null
        5361  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 4035   5362   
@@ -0,0 +1 @@
        5363  +
3044022075e5fe54105695e4af6f5b59ff39f4f1d84de3bfdd546a6b9212936a78e743ac02204f25f3b9826688eb9743088f426eabd6b306432fd2c4c5c5aa2bbb9058267542
              \
 No newline at end of file
 4036   5364   
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
 4037   5365   
new file mode 100644
 4038   5366   
index 0000000..2090343
 4039         -
-- /dev/null
        5367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 4040   5368   
@@ -0,0 +1,6 @@
        5369  +
GET /?Param1=value1 HTTP/1.1
        5370  +
Host:example.amazonaws.com
        5371  +
X-Amz-Date:20150830T123600Z
        5372  +
X-Amz-Region-Set:us-east-1
        5373  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210093d40fe05684ddadfadfafc4b8565d18ca94d590fc897577224bf09696bbde6102206f12bb5e2503781303cf6880c0a2136d4b820221eb9d6ac5ad61378b16b8ea5d
        5374  +
 4041   5375   
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
 4042   5376   
similarity index 99%
 4043   5377   
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
 4044   5378   
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
 4045   5379   
index a176f1d..06ed74f 100644
 4046   5380   
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
 4047   5381   
new file mode 100644
 4048   5382   
index 0000000..379dcb2
 4049         -
-- /dev/null
        5383  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 4050   5384   
@@ -0,0 +1,4 @@
        5385  +
{
        5386  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5387  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5388  +
}
 4051   5389   
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
 4052   5390   
similarity index 99%
 4053   5391   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
 4054   5392   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4055   5393   
index 344384b..a875d70 100644
 4056   5394   
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
 4057   5395   
new file mode 100644
 4058   5396   
index 0000000..ef93624
 4059         -
-- /dev/null
        5397  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 4060   5398   
@@ -0,0 +1 @@
        5399  +
30460221009a9e99aefe8effed47320e6e9f54cb943e2f72ce638ed7aae2a6711240304b82022100a90e99f053dd51912a6993299229e19aebbd81e68d4d24a1bdedcc6717c9f456
              \
 No newline at end of file
 4061   5400   
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
 4062   5401   
new file mode 100644
 4063   5402   
index 0000000..92829f7
 4064         -
-- /dev/null
        5403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 4065   5404   
@@ -0,0 +1,3 @@
        5405  +
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
        5406  +
Host:example.amazonaws.com
        5407  +
 4066   5408   
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
 4067   5409   
similarity index 99%
 4068   5410   
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
 4069   5411   
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
 4070   5412   
index b625052..4ff9191 100644
 4071   5413   
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
 4072   5414   
similarity index 67%
 4073   5415   
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
 4074   5416   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4075   5417   
index 970d0a0..f4a03bb 100644
 4076         -
-- 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
        5418  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4077   5419   
@@ -1,3 +1,2 @@
 4078   5420   
GET /?Param1=value1 HTTP/1.1
 4079   5421   
Host:example.amazonaws.com
 4080         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4081   5422   
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
 4082   5423   
new file mode 100644
 4083   5424   
index 0000000..0468d80
 4084         -
-- /dev/null
        5425  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 4085   5426   
@@ -0,0 +1,12 @@
        5427  +
{
        5428  +
    "credentials": {
        5429  +
        "access_key_id": "AKIDEXAMPLE",
        5430  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5431  +
    },
        5432  +
    "expiration_in_seconds": 3600,
        5433  +
    "normalize": true,
        5434  +
    "region": "us-east-1",
        5435  +
    "service": "service",
        5436  +
    "sign_body": false,
        5437  +
    "timestamp": "2015-08-30T12:36:00Z"
        5438  +
}
              \
 No newline at end of file
 4086   5439   
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
 4087   5440   
new file mode 100644
 4088   5441   
index 0000000..da07537
 4089         -
-- /dev/null
        5442  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 4090   5443   
@@ -0,0 +1,9 @@
        5444  +
GET
        5445  +
/
        5446  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        5447  +
host:example.amazonaws.com
        5448  +
x-amz-date:20150830T123600Z
        5449  +
x-amz-region-set:us-east-1
        5450  +
        5451  +
host;x-amz-date;x-amz-region-set
        5452  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4091   5453   
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
 4092   5454   
new file mode 100644
 4093   5455   
index 0000000..edb21e5
 4094         -
-- /dev/null
        5456  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 4095   5457   
@@ -0,0 +1 @@
        5458  +
304402201c9d8aa856d87542e2fc29ccb3841bf604d7582a8ab2ca8e6c9e21c98693f35502207052f84ecd1dc8b6468a536e9d1bdc990cf14bae8142c1cc945f15bcf0e87613
              \
 No newline at end of file
 4096   5459   
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
 4097   5460   
new file mode 100644
 4098   5461   
index 0000000..e60394c
 4099         -
-- /dev/null
        5462  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 4100   5463   
@@ -0,0 +1,6 @@
        5464  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5465  +
Host:example.amazonaws.com
        5466  +
X-Amz-Date:20150830T123600Z
        5467  +
X-Amz-Region-Set:us-east-1
        5468  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100cef3137947f52af13fe5591d4ddcff0260176e7b2a668b43ac8f0cba2e489fe502203b4fe53c9fe3e8925643fe0e4c3ec0b3ea6262917bf7300d2e2abb399078e6de
        5469  +
 4101   5470   
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
 4102   5471   
new file mode 100644
 4103   5472   
index 0000000..1dfc886
 4104         -
-- /dev/null
        5473  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 4105   5474   
@@ -0,0 +1,4 @@
        5475  +
AWS4-ECDSA-P256-SHA256
        5476  +
20150830T123600Z
        5477  +
20150830/service/aws4_request
        5478  +
55568a29040b287c72015a5ab482d9aaceeb1e9881f3bc946378bc3d6079f6a5
              \
 No newline at end of file
 4106   5479   
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
 4107   5480   
new file mode 100644
 4108   5481   
index 0000000..379dcb2
 4109         -
-- /dev/null
        5482  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 4110   5483   
@@ -0,0 +1,4 @@
        5484  +
{
        5485  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5486  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5487  +
}
 4111   5488   
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
 4112   5489   
new file mode 100644
 4113   5490   
index 0000000..e94dc0c
 4114         -
-- /dev/null
        5491  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 4115   5492   
@@ -0,0 +1,7 @@
        5493  +
GET
        5494  +
/
        5495  +
%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
        5496  +
host:example.amazonaws.com
        5497  +
        5498  +
host
        5499  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4116   5500   
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
 4117   5501   
new file mode 100644
 4118   5502   
index 0000000..7489437
 4119         -
-- /dev/null
        5503  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4120   5504   
@@ -0,0 +1 @@
        5505  +
3046022100dcc853d7fbd59ceebd1ac57d404b979a7252cf88c79dcc6d58167902750235fd022100ffa98128e35b03aa434287165980f78533e9e6dfc80373cea82b047f4f0554ee
              \
 No newline at end of file
 4121   5506   
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
 4122   5507   
new file mode 100644
 4123   5508   
index 0000000..90c0e73
 4124         -
-- /dev/null
        5509  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4125   5510   
@@ -0,0 +1,3 @@
        5511  +
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
        5512  +
Host:example.amazonaws.com
        5513  +
 4126   5514   
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
 4127   5515   
new file mode 100644
 4128   5516   
index 0000000..ab8a711
 4129         -
-- /dev/null
        5517  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4130   5518   
@@ -0,0 +1,4 @@
        5519  +
AWS4-ECDSA-P256-SHA256
        5520  +
20150830T123600Z
        5521  +
20150830/service/aws4_request
        5522  +
56d9ab07692614338f2aa44f1018ad4102b19305fba8b83383d2d7c6ca816614
              \
 No newline at end of file
 4131   5523   
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
 4132   5524   
new file mode 100644
 4133   5525   
index 0000000..368c6e3
 4134         -
-- /dev/null
        5526  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4135   5527   
@@ -0,0 +1,2 @@
        5528  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5529  +
Host:example.amazonaws.com
 4136   5530   
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
 4137   5531   
new file mode 100644
 4138   5532   
index 0000000..0468d80
 4139         -
-- /dev/null
        5533  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4140   5534   
@@ -0,0 +1,12 @@
        5535  +
{
        5536  +
    "credentials": {
        5537  +
        "access_key_id": "AKIDEXAMPLE",
        5538  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5539  +
    },
        5540  +
    "expiration_in_seconds": 3600,
        5541  +
    "normalize": true,
        5542  +
    "region": "us-east-1",
        5543  +
    "service": "service",
        5544  +
    "sign_body": false,
        5545  +
    "timestamp": "2015-08-30T12:36:00Z"
        5546  +
}
              \
 No newline at end of file
 4141   5547   
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
 4142   5548   
similarity index 99%
 4143   5549   
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
 4144   5550   
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
 4145   5551   
index 74f625a..3db56f7 100644
 4146   5552   
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
 4147   5553   
new file mode 100644
 4148   5554   
index 0000000..e6042bc
 4149         -
-- /dev/null
        5555  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4150   5556   
@@ -0,0 +1 @@
        5557  +
3045022100b342b0d62487d235a5baf82e970102670a8d7af34c61f086125d204a90724d9e022070304e846de3de228c57e528b61f4addfdb5fa788a8a452e483c6a286d8803f5
              \
 No newline at end of file
 4151   5558   
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
 4152   5559   
new file mode 100644
 4153   5560   
index 0000000..5505969
 4154         -
-- /dev/null
        5561  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4155   5562   
@@ -0,0 +1,6 @@
        5563  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        5564  +
Host:example.amazonaws.com
        5565  +
X-Amz-Date:20150830T123600Z
        5566  +
X-Amz-Region-Set:us-east-1
        5567  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220394fa0699225f403514cb4db03b7c479f64c5f9864bf520b871bb23a054d6517022100d4445c909fc62a43c6c485a8582621e0e14c6ef1e4218072bc2dcaffc1188f18
        5568  +
 4156   5569   
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
 4157   5570   
similarity index 99%
 4158   5571   
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
 4159   5572   
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
 4160   5573   
index 44873b7..e8f5e31 100644
 4161   5574   
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
 4162   5575   
new file mode 100644
 4163   5576   
index 0000000..379dcb2
 4164         -
-- /dev/null
        5577  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4165   5578   
@@ -0,0 +1,4 @@
        5579  +
{
        5580  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5581  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5582  +
}
 4166   5583   
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
 4167   5584   
similarity index 99%
 4168   5585   
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
 4169   5586   
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
 4170   5587   
index 6d30727..3fe6a9f 100644
 4171   5588   
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
 4172   5589   
new file mode 100644
 4173   5590   
index 0000000..3f35de8
 4174         -
-- /dev/null
        5591  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4175   5592   
@@ -0,0 +1 @@
        5593  +
304402207c976c47b1bcf7333ad10fcf78498bb14a368a6cd8f58703d47c9e91c4468c13022059a3715bafae9410271bf3355ccd0bbc622fe90f3c0168203d83323297789de5
              \
 No newline at end of file
 4176   5594   
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
 4177   5595   
new file mode 100644
 4178   5596   
index 0000000..30b336b
 4179         -
-- /dev/null
        5597  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4180   5598   
@@ -0,0 +1,3 @@
        5599  +
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
        5600  +
Host:example.amazonaws.com
        5601  +
 4181   5602   
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
 4182   5603   
similarity index 99%
 4183   5604   
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
 4184   5605   
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
 4185   5606   
index 99d0510..7f0565f 100644
 4186   5607   
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
 4187   5608   
similarity index 100%
 4188   5609   
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
 4189   5610   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 4190   5611   
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
 4191   5612   
new file mode 100644
 4192   5613   
index 0000000..0468d80
 4193         -
-- /dev/null
        5614  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 4194   5615   
@@ -0,0 +1,12 @@
        5616  +
{
        5617  +
    "credentials": {
        5618  +
        "access_key_id": "AKIDEXAMPLE",
        5619  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5620  +
    },
        5621  +
    "expiration_in_seconds": 3600,
        5622  +
    "normalize": true,
        5623  +
    "region": "us-east-1",
        5624  +
    "service": "service",
        5625  +
    "sign_body": false,
        5626  +
    "timestamp": "2015-08-30T12:36:00Z"
        5627  +
}
              \
 No newline at end of file
 4195   5628   
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
 4196   5629   
similarity index 99%
 4197   5630   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
 4198   5631   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4199   5632   
index 816c862..cc4537a 100644
 4200   5633   
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
 4201   5634   
new file mode 100644
 4202   5635   
index 0000000..70d38c1
 4203         -
-- /dev/null
        5636  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 4204   5637   
@@ -0,0 +1 @@
        5638  +
3045022100ce7ae9d07bea650598803710644006d47de14a884d0777abd71ccf76164a36c70220256f34ad94c5cb1291a05f7680c2a0068c51d2a31a4e2fe2100d4a58197565ed
              \
 No newline at end of file
 4205   5639   
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
 4206   5640   
new file mode 100644
 4207   5641   
index 0000000..0647eea
 4208         -
-- /dev/null
        5642  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 4209   5643   
@@ -0,0 +1,6 @@
        5644  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5645  +
Host:example.amazonaws.com
        5646  +
X-Amz-Date:20150830T123600Z
        5647  +
X-Amz-Region-Set:us-east-1
        5648  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220023b0ce37b4e3f7fe6b6e155dab72846b461d22ff4820f019a07afef476f61ee022100f985e993037270cc48ac905b360046d077770a2b28aa829ea909430b1b3ed8aa
        5649  +
 4210   5650   
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
 4211   5651   
similarity index 99%
 4212   5652   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
 4213   5653   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 4214   5654   
index 6129fc5..cc19d14 100644
 4215   5655   
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
 4216   5656   
new file mode 100644
 4217   5657   
index 0000000..379dcb2
 4218         -
-- /dev/null
        5658  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 4219   5659   
@@ -0,0 +1,4 @@
        5660  +
{
        5661  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5662  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5663  +
}
 4220   5664   
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
 4221   5665   
similarity index 99%
 4222   5666   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
 4223   5667   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 4224   5668   
index b77ee9f..ed6a10e 100644
 4225   5669   
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
 4226   5670   
new file mode 100644
 4227   5671   
index 0000000..2ceba7b
 4228         -
-- /dev/null
        5672  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 4229   5673   
@@ -0,0 +1 @@
        5674  +
30450220720698c40b04f1a2e1f94e91ed9a59f8b2a2e70cb55e6dd245d0aec039cad6ea022100b2076666b780735e1ddabf773f141ff49f8df3686ffb6c4c7798ba22470e3819
              \
 No newline at end of file
 4230   5675   
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
 4231   5676   
new file mode 100644
 4232   5677   
index 0000000..0cd6d0a
 4233         -
-- /dev/null
        5678  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 4234   5679   
@@ -0,0 +1,3 @@
        5680  +
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
        5681  +
Host:example.amazonaws.com
        5682  +
 4235   5683   
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
 4236   5684   
similarity index 99%
 4237   5685   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
 4238   5686   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 4239   5687   
index 1cfed7a..aad1421 100644
 4240   5688   
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
 4241   5689   
similarity index 86%
 4242   5690   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
 4243   5691   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4244   5692   
index d2833b3..36b2fe3 100644
 4245         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
        5693  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4246   5694   
@@ -1,3 +1,2 @@
 4247   5695   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4248   5696   
Host:example.amazonaws.com
 4249         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4250   5697   
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
 4251   5698   
new file mode 100644
 4252   5699   
index 0000000..0468d80
 4253         -
-- /dev/null
        5700  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 4254   5701   
@@ -0,0 +1,12 @@
        5702  +
{
        5703  +
    "credentials": {
        5704  +
        "access_key_id": "AKIDEXAMPLE",
        5705  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5706  +
    },
        5707  +
    "expiration_in_seconds": 3600,
        5708  +
    "normalize": true,
        5709  +
    "region": "us-east-1",
        5710  +
    "service": "service",
        5711  +
    "sign_body": false,
        5712  +
    "timestamp": "2015-08-30T12:36:00Z"
        5713  +
}
              \
 No newline at end of file
 4255   5714   
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
 4256   5715   
new file mode 100644
 4257   5716   
index 0000000..76db73d
 4258         -
-- /dev/null
        5717  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 4259   5718   
@@ -0,0 +1,9 @@
        5719  +
GET
        5720  +
/
        5721  +
        5722  +
host:example.amazonaws.com
        5723  +
x-amz-date:20150830T123600Z
        5724  +
x-amz-region-set:us-east-1
        5725  +
        5726  +
host;x-amz-date;x-amz-region-set
        5727  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4260   5728   
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
 4261   5729   
new file mode 100644
 4262   5730   
index 0000000..281cc62
 4263         -
-- /dev/null
        5731  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 4264   5732   
@@ -0,0 +1 @@
        5733  +
304402202f36c5363f01990fac07fb18efd255fb82fa3807a8a84946f0b5ac2b71ac96f5022068a86869075a8ca0fe4f875f6a07af6df16538f156dba648c9a96b7c3d687924
              \
 No newline at end of file
 4265   5734   
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
 4266   5735   
new file mode 100644
 4267   5736   
index 0000000..cce9925
 4268         -
-- /dev/null
        5737  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 4269   5738   
@@ -0,0 +1,6 @@
        5739  +
GET / HTTP/1.1
        5740  +
Host:example.amazonaws.com
        5741  +
X-Amz-Date:20150830T123600Z
        5742  +
X-Amz-Region-Set:us-east-1
        5743  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502201f8540fba7741deef60d162a2cf5a8abece28db296174e82420ae6790d93b8af022100d3109ac9ec7995b9e976efa2c54b278d3fab0737e3c73483771773d2061d8f3f
        5744  +
 4270   5745   
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
 4271   5746   
new file mode 100644
 4272   5747   
index 0000000..600f1d8
 4273         -
-- /dev/null
        5748  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 4274   5749   
@@ -0,0 +1,4 @@
        5750  +
AWS4-ECDSA-P256-SHA256
        5751  +
20150830T123600Z
        5752  +
20150830/service/aws4_request
        5753  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4275   5754   
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
 4276   5755   
new file mode 100644
 4277   5756   
index 0000000..379dcb2
 4278         -
-- /dev/null
        5757  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 4279   5758   
@@ -0,0 +1,4 @@
        5759  +
{
        5760  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5761  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5762  +
}
 4280   5763   
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
 4281   5764   
new file mode 100644
 4282   5765   
index 0000000..779c51c
 4283         -
-- /dev/null
        5766  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 4284   5767   
@@ -0,0 +1,7 @@
        5768  +
GET
        5769  +
/
        5770  +
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
        5771  +
host:example.amazonaws.com
        5772  +
        5773  +
host
        5774  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4285   5775   
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
 4286   5776   
new file mode 100644
 4287   5777   
index 0000000..2979e5e
 4288         -
-- /dev/null
        5778  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 4289   5779   
@@ -0,0 +1 @@
        5780  +
304402203840161a4739cd19b33c2186657554e140b84ce1fe9021074f154410b97ffad002200606f4430d72826616b2cd47590fcee42bbf23cb0287458389a43f9e6edd897d
              \
 No newline at end of file
 4290   5781   
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
 4291   5782   
new file mode 100644
 4292   5783   
index 0000000..1b3179c
 4293         -
-- /dev/null
        5784  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 4294   5785   
@@ -0,0 +1,3 @@
        5786  +
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
        5787  +
Host:example.amazonaws.com
        5788  +
 4295   5789   
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
 4296   5790   
new file mode 100644
 4297   5791   
index 0000000..6e29a7e
 4298         -
-- /dev/null
        5792  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 4299   5793   
@@ -0,0 +1,4 @@
        5794  +
AWS4-ECDSA-P256-SHA256
        5795  +
20150830T123600Z
        5796  +
20150830/service/aws4_request
        5797  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4300   5798   
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
 4301   5799   
similarity index 60%
 4302   5800   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
 4303   5801   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4304   5802   
index 0f7a9bf..e659c3b 100644
 4305         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
        5803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4306   5804   
@@ -1,3 +1,2 @@
 4307   5805   
GET / HTTP/1.1
 4308   5806   
Host:example.amazonaws.com
 4309         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4310   5807   
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
 4311   5808   
new file mode 100644
 4312   5809   
index 0000000..0468d80
 4313         -
-- /dev/null
        5810  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 4314   5811   
@@ -0,0 +1,12 @@
        5812  +
{
        5813  +
    "credentials": {
        5814  +
        "access_key_id": "AKIDEXAMPLE",
        5815  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5816  +
    },
        5817  +
    "expiration_in_seconds": 3600,
        5818  +
    "normalize": true,
        5819  +
    "region": "us-east-1",
        5820  +
    "service": "service",
        5821  +
    "sign_body": false,
        5822  +
    "timestamp": "2015-08-30T12:36:00Z"
        5823  +
}
              \
 No newline at end of file
 4315   5824   
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
 4316   5825   
new file mode 100644
 4317   5826   
index 0000000..8841ddf
 4318         -
-- /dev/null
        5827  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 4319   5828   
@@ -0,0 +1,9 @@
        5829  +
GET
        5830  +
/
        5831  +
%E1%88%B4=bar
        5832  +
host:example.amazonaws.com
        5833  +
x-amz-date:20150830T123600Z
        5834  +
x-amz-region-set:us-east-1
        5835  +
        5836  +
host;x-amz-date;x-amz-region-set
        5837  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4320   5838   
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
 4321   5839   
new file mode 100644
 4322   5840   
index 0000000..1497add
 4323         -
-- /dev/null
        5841  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 4324   5842   
@@ -0,0 +1 @@
        5843  +
3046022100b47fe24b090d857f34597a58a4e8acd0ea9639462e606af7e1fa1e2c3fae1d630221008ce7f870adf7d2c06f299da0c9870402b027c6a50ff027881655a664ff294cc3
              \
 No newline at end of file
 4325   5844   
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
 4326   5845   
new file mode 100644
 4327   5846   
index 0000000..961bc10
 4328         -
-- /dev/null
        5847  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 4329   5848   
@@ -0,0 +1,6 @@
        5849  +
GET /?ሴ=bar HTTP/1.1
        5850  +
Host:example.amazonaws.com
        5851  +
X-Amz-Date:20150830T123600Z
        5852  +
X-Amz-Region-Set:us-east-1
        5853  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502206e0b9d70bb0413a557946314e04739d721c9f301d452c072590edfdcb9320572022100846f242fb0346c8c56c76a6f0e70c521d7ac02742f09c2e7b5253f1e9afe5a44
        5854  +
 4330   5855   
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
 4331   5856   
new file mode 100644
 4332   5857   
index 0000000..e78ed70
 4333         -
-- /dev/null
        5858  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 4334   5859   
@@ -0,0 +1,4 @@
        5860  +
AWS4-ECDSA-P256-SHA256
        5861  +
20150830T123600Z
        5862  +
20150830/service/aws4_request
        5863  +
b27131d754045e85823698b1fe3fc9694c17b16d97f4c43cef2359a1233c7b76
              \
 No newline at end of file
 4335   5864   
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
 4336   5865   
new file mode 100644
 4337   5866   
index 0000000..379dcb2
 4338         -
-- /dev/null
        5867  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 4339   5868   
@@ -0,0 +1,4 @@
        5869  +
{
        5870  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5871  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5872  +
}
 4340   5873   
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
 4341   5874   
new file mode 100644
 4342   5875   
index 0000000..6d5ae93
 4343         -
-- /dev/null
        5876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 4344   5877   
@@ -0,0 +1,7 @@
        5878  +
GET
        5879  +
/
        5880  +
%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
        5881  +
host:example.amazonaws.com
        5882  +
        5883  +
host
        5884  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4345   5885   
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
 4346   5886   
new file mode 100644
 4347   5887   
index 0000000..92107f2
 4348         -
-- /dev/null
        5888  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 4349   5889   
@@ -0,0 +1 @@
        5890  +
3044022076d8b03a19db63abc106c50f13487d5363f1eac2c77bc4eda764eadba8f84c6502205c0aa76554ba223a97958be9ff34aca35d84cb7b8c7ba698793ead9e6788e241
              \
 No newline at end of file
 4350   5891   
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
 4351   5892   
new file mode 100644
 4352   5893   
index 0000000..bb8a75b
 4353         -
-- /dev/null
        5894  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 4354   5895   
@@ -0,0 +1,3 @@
        5896  +
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
        5897  +
Host:example.amazonaws.com
        5898  +
 4355   5899   
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
 4356   5900   
new file mode 100644
 4357   5901   
index 0000000..9fa94c7
 4358         -
-- /dev/null
        5902  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 4359   5903   
@@ -0,0 +1,4 @@
        5904  +
AWS4-ECDSA-P256-SHA256
        5905  +
20150830T123600Z
        5906  +
20150830/service/aws4_request
        5907  +
e22d57192c68232f914afff959b8aa1027756098f879c7d4d7615a2469f85c1f
              \
 No newline at end of file
 4360   5908   
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
 4361   5909   
new file mode 100644
 4362   5910   
index 0000000..aff333a
 4363         -
-- /dev/null
        5911  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 4364   5912   
@@ -0,0 +1,2 @@
        5913  +
GET /?ሴ=bar HTTP/1.1
        5914  +
Host:example.amazonaws.com
 4365   5915   
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
 4366   5916   
new file mode 100644
 4367   5917   
index 0000000..a334e18
 4368         -
-- /dev/null
        5918  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 4369   5919   
@@ -0,0 +1,13 @@
        5920  +
{
        5921  +
    "credentials": {
        5922  +
        "access_key_id": "AKIDEXAMPLE",
        5923  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        5924  +
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
        5925  +
    },
        5926  +
    "expiration_in_seconds": 3600,
        5927  +
    "normalize": true,
        5928  +
    "region": "us-east-1",
        5929  +
    "service": "service",
        5930  +
    "sign_body": false,
        5931  +
    "timestamp": "2015-08-30T12:36:00Z"
        5932  +
}
              \
 No newline at end of file
 4370   5933   
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
 4371   5934   
similarity index 99%
 4372   5935   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
 4373   5936   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 4374   5937   
index f14defd..0e9ad42 100644
 4375   5938   
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
 4376   5939   
new file mode 100644
 4377   5940   
index 0000000..a7673b5
 4378         -
-- /dev/null
        5941  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 4379   5942   
@@ -0,0 +1 @@
        5943  +
3044022035c6bc9a8cab8a434bd8bd1cc3b6f1401842f530f1537722ad10d72a1577f8c80220101352fe0720715efbab80f82edb133175f0b61cad85daf943ad615852f9ae10
              \
 No newline at end of file
 4380   5944   
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
 4381   5945   
new file mode 100644
 4382   5946   
index 0000000..ed16e76
 4383         -
-- /dev/null
        5947  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 4384   5948   
@@ -0,0 +1,7 @@
        5949  +
GET / HTTP/1.1
        5950  +
Host:example.amazonaws.com
        5951  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        5952  +
X-Amz-Date:20150830T123600Z
        5953  +
X-Amz-Region-Set:us-east-1
        5954  +
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
        5955  +
 4385   5956   
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
 4386   5957   
similarity index 99%
 4387   5958   
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
 4388   5959   
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
 4389   5960   
index 4edece5..6c1ec65 100644
 4390   5961   
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
 4391   5962   
new file mode 100644
 4392   5963   
index 0000000..379dcb2
 4393         -
-- /dev/null
        5964  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 4394   5965   
@@ -0,0 +1,4 @@
        5966  +
{
        5967  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5968  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5969  +
}
 4395   5970   
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
 4396   5971   
similarity index 99%
 4397   5972   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
 4398   5973   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 4399   5974   
index 7c042af..1876b42 100644
 4400   5975   
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
 4401   5976   
new file mode 100644
 4402   5977   
index 0000000..903dfb4
 4403         -
-- /dev/null
        5978  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 4404   5979   
@@ -0,0 +1 @@
        5980  +
3046022100d51f7ae1ac1b6b3db6c40f69aafb4306f81cdd2d87a85f69b2c4cb8fd057cf21022100cdb787a698c3f53d961f5b6279a0ff246097f50c874bcbf7a249bf4c0f118fb3
              \
 No newline at end of file
 4405   5981   
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
 4406   5982   
new file mode 100644
 4407   5983   
index 0000000..bf1d246
 4408         -
-- /dev/null
        5984  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 4409   5985   
@@ -0,0 +1,3 @@
        5986  +
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
        5987  +
Host:example.amazonaws.com
        5988  +
 4410   5989   
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
 4411   5990   
similarity index 99%
 4412   5991   
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
 4413   5992   
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
 4414   5993   
index 0fd066a..f1b1790 100644
 4415   5994   
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
 4416   5995   
similarity index 60%
 4417   5996   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
 4418   5997   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4419   5998   
index 0f7a9bf..e659c3b 100644
 4420         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
        5999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4421   6000   
@@ -1,3 +1,2 @@
 4422   6001   
GET / HTTP/1.1
 4423   6002   
Host:example.amazonaws.com
 4424         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4425   6003   
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
 4426   6004   
new file mode 100644
 4427   6005   
index 0000000..76db73d
 4428         -
-- /dev/null
        6006  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 4429   6007   
@@ -0,0 +1,9 @@
        6008  +
GET
        6009  +
/
        6010  +
        6011  +
host:example.amazonaws.com
        6012  +
x-amz-date:20150830T123600Z
        6013  +
x-amz-region-set:us-east-1
        6014  +
        6015  +
host;x-amz-date;x-amz-region-set
        6016  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4430   6017   
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
 4431   6018   
new file mode 100644
 4432   6019   
index 0000000..0468d80
 4433         -
-- /dev/null
        6020  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 4434   6021   
@@ -0,0 +1,12 @@
        6022  +
{
        6023  +
    "credentials": {
        6024  +
        "access_key_id": "AKIDEXAMPLE",
        6025  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6026  +
    },
        6027  +
    "expiration_in_seconds": 3600,
        6028  +
    "normalize": true,
        6029  +
    "region": "us-east-1",
        6030  +
    "service": "service",
        6031  +
    "sign_body": false,
        6032  +
    "timestamp": "2015-08-30T12:36:00Z"
        6033  +
}
              \
 No newline at end of file
 4435   6034   
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
 4436   6035   
new file mode 100644
 4437   6036   
index 0000000..76db73d
 4438         -
-- /dev/null
        6037  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 4439   6038   
@@ -0,0 +1,9 @@
        6039  +
GET
        6040  +
/
        6041  +
        6042  +
host:example.amazonaws.com
        6043  +
x-amz-date:20150830T123600Z
        6044  +
x-amz-region-set:us-east-1
        6045  +
        6046  +
host;x-amz-date;x-amz-region-set
        6047  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4440   6048   
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
 4441   6049   
new file mode 100644
 4442   6050   
index 0000000..a96ff24
 4443         -
-- /dev/null
        6051  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 4444   6052   
@@ -0,0 +1 @@
        6053  +
3045022018b4e277d0281864beb51d3600e23f88510ea5031d68ddfbb68614b82a5eb7d2022100effb9c5f22ed9ef3ae0ab243d21f06bce82365bbb79529a07b6888c343ae5f8c
              \
 No newline at end of file
 4445   6054   
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
 4446   6055   
new file mode 100644
 4447   6056   
index 0000000..689078b
 4448         -
-- /dev/null
        6057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 4449   6058   
@@ -0,0 +1,6 @@
        6059  +
GET / HTTP/1.1
        6060  +
Host:example.amazonaws.com
        6061  +
X-Amz-Date:20150830T123600Z
        6062  +
X-Amz-Region-Set:us-east-1
        6063  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100fddaaf816a31e30d04973875b13bc27b98da10907a3a1872fd5819a221334abc022100de2ee81d83b54f31efc82834de07e6cd4d5c6f25bfa08e0f29a15bb0977c343e
        6064  +
 4450   6065   
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
 4451   6066   
new file mode 100644
 4452   6067   
index 0000000..600f1d8
 4453         -
-- /dev/null
        6068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 4454   6069   
@@ -0,0 +1,4 @@
        6070  +
AWS4-ECDSA-P256-SHA256
        6071  +
20150830T123600Z
        6072  +
20150830/service/aws4_request
        6073  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4455   6074   
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
 4456   6075   
new file mode 100644
 4457   6076   
index 0000000..379dcb2
 4458         -
-- /dev/null
        6077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 4459   6078   
@@ -0,0 +1,4 @@
        6079  +
{
        6080  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6081  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6082  +
}
 4460   6083   
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
 4461   6084   
new file mode 100644
 4462   6085   
index 0000000..779c51c
 4463         -
-- /dev/null
        6086  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 4464   6087   
@@ -0,0 +1,7 @@
        6088  +
GET
        6089  +
/
        6090  +
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
        6091  +
host:example.amazonaws.com
        6092  +
        6093  +
host
        6094  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4465   6095   
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
 4466   6096   
new file mode 100644
 4467   6097   
index 0000000..cc42158
 4468         -
-- /dev/null
        6098  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 4469   6099   
@@ -0,0 +1 @@
        6100  +
3045022100b3246f8e1442dd58e73292ae1294720c3256ee58f6cea50f3a3f83b4a4b0331a0220329693f7745c9008a5887c0529ceccb0fae4e16d707b712ea66acdbaf963769a
              \
 No newline at end of file
 4470   6101   
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
 4471   6102   
new file mode 100644
 4472   6103   
index 0000000..dc6d01d
 4473         -
-- /dev/null
        6104  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 4474   6105   
@@ -0,0 +1,3 @@
        6106  +
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
        6107  +
Host:example.amazonaws.com
        6108  +
 4475   6109   
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
 4476   6110   
new file mode 100644
 4477   6111   
index 0000000..6e29a7e
 4478         -
-- /dev/null
        6112  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 4479   6113   
@@ -0,0 +1,4 @@
        6114  +
AWS4-ECDSA-P256-SHA256
        6115  +
20150830T123600Z
        6116  +
20150830/service/aws4_request
        6117  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4480   6118   
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
 4481   6119   
new file mode 100644
 4482   6120   
index 0000000..e659c3b
 4483         -
-- /dev/null
        6121  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 4484   6122   
@@ -0,0 +1,2 @@
        6123  +
GET / HTTP/1.1
        6124  +
Host:example.amazonaws.com
 4485   6125   
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
 4486   6126   
new file mode 100644
 4487   6127   
index 0000000..600f1d8
 4488         -
-- /dev/null
        6128  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 4489   6129   
@@ -0,0 +1,4 @@
        6130  +
AWS4-ECDSA-P256-SHA256
        6131  +
20150830T123600Z
        6132  +
20150830/service/aws4_request
        6133  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4490   6134   
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
 4491   6135   
new file mode 100644
 4492   6136   
index 0000000..0468d80
 4493         -
-- /dev/null
        6137  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 4494   6138   
@@ -0,0 +1,12 @@
        6139  +
{
        6140  +
    "credentials": {
        6141  +
        "access_key_id": "AKIDEXAMPLE",
        6142  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6143  +
    },
        6144  +
    "expiration_in_seconds": 3600,
        6145  +
    "normalize": true,
        6146  +
    "region": "us-east-1",
        6147  +
    "service": "service",
        6148  +
    "sign_body": false,
        6149  +
    "timestamp": "2015-08-30T12:36:00Z"
        6150  +
}
              \
 No newline at end of file
 4495   6151   
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
 4496   6152   
similarity index 99%
 4497   6153   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
 4498   6154   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 4499   6155   
index a6942c1..e881ac7 100644
 4500   6156   
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
 4501   6157   
new file mode 100644
 4502   6158   
index 0000000..4210210
 4503         -
-- /dev/null
        6159  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 4504   6160   
@@ -0,0 +1 @@
        6161  +
3044022025397839d55c2147eead39170f5b1758c9f9fb4ccbcda4c8612a23df8e90c13d022079f5fc1377201691a11be43def8be12fe882e998589317508ff67b8dbe982722
              \
 No newline at end of file
 4505   6162   
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
 4506   6163   
new file mode 100644
 4507   6164   
index 0000000..257b110
 4508         -
-- /dev/null
        6165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 4509   6166   
@@ -0,0 +1,6 @@
        6167  +
POST / HTTP/1.1
        6168  +
Host:example.amazonaws.com
        6169  +
X-Amz-Date:20150830T123600Z
        6170  +
X-Amz-Region-Set:us-east-1
        6171  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304602210081bb2a93eae5cce843abe0e7cac2f0e4cecdd0a79cb8d60e5b9dc4c8e8906b61022100e18c8119f50b8218da995ada62080d88ff75d2f02309c3685a02dfb9a83b103f
        6172  +
 4510   6173   
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
 4511   6174   
similarity index 99%
 4512   6175   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
 4513   6176   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 4514   6177   
index d5650cb..f8adf13 100644
 4515   6178   
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
 4516   6179   
new file mode 100644
 4517   6180   
index 0000000..379dcb2
 4518         -
-- /dev/null
        6181  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 4519   6182   
@@ -0,0 +1,4 @@
        6183  +
{
        6184  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6185  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6186  +
}
 4520   6187   
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
 4521   6188   
similarity index 99%
 4522   6189   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
 4523   6190   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 4524   6191   
index e48ce07..5ea8e3c 100644
 4525   6192   
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
 4526   6193   
new file mode 100644
 4527   6194   
index 0000000..9e2069e
 4528         -
-- /dev/null
        6195  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 4529   6196   
@@ -0,0 +1 @@
        6197  +
304402204afe4ce8de62e37853d0cb8a00f9601532fdeca89d6d8591c72d5bbf728bee2f02202feb0d8e680cab063e0c3c9090c0483f400511678ce83169ddce3e6d040f9ed8
              \
 No newline at end of file
 4530   6198   
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
 4531   6199   
new file mode 100644
 4532   6200   
index 0000000..67f5d29
 4533         -
-- /dev/null
        6201  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 4534   6202   
@@ -0,0 +1,3 @@
        6203  +
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
        6204  +
Host:example.amazonaws.com
        6205  +
 4535   6206   
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
 4536   6207   
similarity index 99%
 4537   6208   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
 4538   6209   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 4539   6210   
index 34e3382..711c162 100644
 4540   6211   
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
 4541   6212   
similarity index 61%
 4542   6213   
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
 4543   6214   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4544   6215   
index 3dc4179..3f0a82a 100644
 4545         -
-- 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
        6216  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4546   6217   
@@ -1,3 +1,2 @@
 4547   6218   
POST / HTTP/1.1
 4548   6219   
Host:example.amazonaws.com
 4549         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4550   6220   
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
 4551   6221   
new file mode 100644
 4552   6222   
index 0000000..0468d80
 4553         -
-- /dev/null
        6223  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 4554   6224   
@@ -0,0 +1,12 @@
        6225  +
{
        6226  +
    "credentials": {
        6227  +
        "access_key_id": "AKIDEXAMPLE",
        6228  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6229  +
    },
        6230  +
    "expiration_in_seconds": 3600,
        6231  +
    "normalize": true,
        6232  +
    "region": "us-east-1",
        6233  +
    "service": "service",
        6234  +
    "sign_body": false,
        6235  +
    "timestamp": "2015-08-30T12:36:00Z"
        6236  +
}
              \
 No newline at end of file
 4555   6237   
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
 4556   6238   
similarity index 99%
 4557   6239   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
 4558   6240   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 4559   6241   
index a8e1727..2883822 100644
 4560   6242   
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
 4561   6243   
new file mode 100644
 4562   6244   
index 0000000..e3c2e6e
 4563         -
-- /dev/null
        6245  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 4564   6246   
@@ -0,0 +1 @@
        6247  +
304502210097752f8c9953078cbb6b370471cb7029aea9517d59fb835d8befce66a91e6c4a022043a8c62681ff76e6cbaaeaed2fff2fcfee8efceebb7bd9e562ecd5a08b2c563f
              \
 No newline at end of file
 4565   6248   
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
 4566   6249   
new file mode 100644
 4567   6250   
index 0000000..1d6e288
 4568         -
-- /dev/null
        6251  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 4569   6252   
@@ -0,0 +1,7 @@
        6253  +
POST / HTTP/1.1
        6254  +
Host:example.amazonaws.com
        6255  +
My-Header1:value1
        6256  +
X-Amz-Date:20150830T123600Z
        6257  +
X-Amz-Region-Set:us-east-1
        6258  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3046022100a5dc03771b33997d8eeb15d639cb7bdef2aff78a4a59c7996070e5f94fe149780221009a732061539208209ba0ae6755bef956c258a0c0ac6a6916489486efde21cfeb
        6259  +
 4570   6260   
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
 4571   6261   
similarity index 99%
 4572   6262   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
 4573   6263   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 4574   6264   
index f6e3e9b..7c5236a 100644
 4575   6265   
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
 4576   6266   
new file mode 100644
 4577   6267   
index 0000000..379dcb2
 4578         -
-- /dev/null
        6268  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 4579   6269   
@@ -0,0 +1,4 @@
        6270  +
{
        6271  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6272  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6273  +
}
 4580   6274   
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
 4581   6275   
similarity index 99%
 4582   6276   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
 4583   6277   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 4584   6278   
index 0ae73e1..2cf3f29 100644
 4585   6279   
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
 4586   6280   
new file mode 100644
 4587   6281   
index 0000000..2a08401
 4588         -
-- /dev/null
        6282  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 4589   6283   
@@ -0,0 +1 @@
        6284  +
304502204f2a31513c9bea5c92dd8045e226dc1db150f768e60b538cacce157c623873dc022100ab5d654ce3c7b917656cec2cf58a3689159e89deed5241ca21e19a40173674c4
              \
 No newline at end of file
 4590   6285   
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
 4591   6286   
new file mode 100644
 4592   6287   
index 0000000..8d2343f
 4593         -
-- /dev/null
        6288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 4594   6289   
@@ -0,0 +1,4 @@
        6290  +
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
        6291  +
Host:example.amazonaws.com
        6292  +
My-Header1:value1
        6293  +
 4595   6294   
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
 4596   6295   
similarity index 99%
 4597   6296   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
 4598   6297   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 4599   6298   
index 8cb96bf..2c4db7a 100644
 4600   6299   
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
 4601   6300   
similarity index 69%
 4602   6301   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
 4603   6302   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4604   6303   
index 0253f19..917720e 100644
 4605         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
        6304  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4606   6305   
@@ -1,4 +1,3 @@
 4607   6306   
POST / HTTP/1.1
 4608   6307   
Host:example.amazonaws.com
 4609   6308   
My-Header1:value1
 4610         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4611   6309   
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
 4612   6310   
new file mode 100644
 4613   6311   
index 0000000..0468d80
 4614         -
-- /dev/null
        6312  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 4615   6313   
@@ -0,0 +1,12 @@
        6314  +
{
        6315  +
    "credentials": {
        6316  +
        "access_key_id": "AKIDEXAMPLE",
        6317  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6318  +
    },
        6319  +
    "expiration_in_seconds": 3600,
        6320  +
    "normalize": true,
        6321  +
    "region": "us-east-1",
        6322  +
    "service": "service",
        6323  +
    "sign_body": false,
        6324  +
    "timestamp": "2015-08-30T12:36:00Z"
        6325  +
}
              \
 No newline at end of file
 4616   6326   
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
 4617   6327   
similarity index 99%
 4618   6328   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
 4619   6329   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 4620   6330   
index 1dc3ef8..164e65c 100644
 4621   6331   
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
 4622   6332   
new file mode 100644
 4623   6333   
index 0000000..7072b0e
 4624         -
-- /dev/null
        6334  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 4625   6335   
@@ -0,0 +1 @@
        6336  +
304402207b3baf259f5d29f13511eb4c9b236045c43168ca70369ed639611f4bff9eb6490220465e922e8b19146de9c70147440f4ee80a3318f0c756c8050dbfd641e6ff0456
              \
 No newline at end of file
 4626   6337   
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
 4627   6338   
new file mode 100644
 4628   6339   
index 0000000..17f5e3e
 4629         -
-- /dev/null
        6340  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 4630   6341   
@@ -0,0 +1,7 @@
        6342  +
POST / HTTP/1.1
        6343  +
Host:example.amazonaws.com
        6344  +
My-Header1:VALUE1
        6345  +
X-Amz-Date:20150830T123600Z
        6346  +
X-Amz-Region-Set:us-east-1
        6347  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022100c72dd4d54c45d3eb30858c6227e9512f41b7379b7c685e39e0cd39a793d7ee3102205c900d330270e31d2f7b5138fb3d791b6743f6f3b9ffbc34a4adcc8307591b11
        6348  +
 4631   6349   
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
 4632   6350   
similarity index 99%
 4633   6351   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
 4634   6352   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 4635   6353   
index 59c7e45..620f54e 100644
 4636   6354   
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
 4637   6355   
new file mode 100644
 4638   6356   
index 0000000..379dcb2
 4639         -
-- /dev/null
        6357  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 4640   6358   
@@ -0,0 +1,4 @@
        6359  +
{
        6360  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6361  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6362  +
}
 4641   6363   
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
 4642   6364   
similarity index 99%
 4643   6365   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
 4644   6366   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 4645   6367   
index 377e6f3..23e0da3 100644
 4646   6368   
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
 4647   6369   
new file mode 100644
 4648   6370   
index 0000000..a18acb8
 4649         -
-- /dev/null
        6371  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 4650   6372   
@@ -0,0 +1 @@
        6373  +
30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
              \
 No newline at end of file
 4651   6374   
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
 4652   6375   
new file mode 100644
 4653   6376   
index 0000000..7cbdcfa
 4654         -
-- /dev/null
        6377  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 4655   6378   
@@ -0,0 +1,4 @@
        6379  +
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
        6380  +
Host:example.amazonaws.com
        6381  +
My-Header1:VALUE1
        6382  +
 4656   6383   
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
 4657   6384   
similarity index 99%
 4658   6385   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
 4659   6386   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 4660   6387   
index 84a7afd..0c90627 100644
 4661   6388   
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
 4662   6389   
similarity index 69%
 4663   6390   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
 4664   6391   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4665   6392   
index 3f9987a..5f14c91 100644
 4666         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
        6393  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4667   6394   
@@ -1,4 +1,3 @@
 4668   6395   
POST / HTTP/1.1
 4669   6396   
Host:example.amazonaws.com
 4670   6397   
My-Header1:VALUE1
 4671         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4672   6398   
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
 4673   6399   
new file mode 100644
 4674   6400   
index 0000000..8f1d5ce
 4675         -
-- /dev/null
        6401  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 4676   6402   
@@ -0,0 +1,14 @@
        6403  +
{
        6404  +
    "credentials": {
        6405  +
        "access_key_id": "AKIDEXAMPLE",
        6406  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6407  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6408  +
    },
        6409  +
    "expiration_in_seconds": 3600,
        6410  +
    "normalize": true,
        6411  +
    "region": "us-east-1",
        6412  +
    "service": "service",
        6413  +
    "sign_body": false,
        6414  +
    "timestamp": "2015-08-30T12:36:00Z",
        6415  +
    "omit_session_token": true
        6416  +
}
 4677   6417   
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
 4678   6418   
similarity index 99%
 4679   6419   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
 4680   6420   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 4681   6421   
index a6942c1..e881ac7 100644
 4682   6422   
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
 4683   6423   
new file mode 100644
 4684   6424   
index 0000000..9c5ecb9
 4685         -
-- /dev/null
        6425  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 4686   6426   
@@ -0,0 +1 @@
        6427  +
3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
              \
 No newline at end of file
 4687   6428   
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
 4688   6429   
similarity index 52%
 4689   6430   
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
 4690   6431   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4691   6432   
index 9d91775..61b6527 100644
 4692         -
-- 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
        6433  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4693   6434   
@@ -1,4 +1,7 @@
 4694   6435   
POST / HTTP/1.1
 4695   6436   
Host:example.amazonaws.com
 4696         -
X-Amz-Date:20150830T123600Z
 4697   6437   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6438  +
X-Amz-Date:20150830T123600Z
        6439  +
X-Amz-Region-Set:us-east-1
        6440  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
        6441  +
 4698   6442   
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
 4699   6443   
similarity index 99%
 4700   6444   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
 4701   6445   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 4702   6446   
index d5650cb..f8adf13 100644
 4703   6447   
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
 4704   6448   
new file mode 100644
 4705   6449   
index 0000000..379dcb2
 4706         -
-- /dev/null
        6450  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 4707   6451   
@@ -0,0 +1,4 @@
        6452  +
{
        6453  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6454  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6455  +
}
 4708   6456   
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
 4709   6457   
similarity index 99%
 4710   6458   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
 4711   6459   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 4712   6460   
index e48ce07..5ea8e3c 100644
 4713   6461   
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
 4714   6462   
new file mode 100644
 4715   6463   
index 0000000..ff8823a
 4716         -
-- /dev/null
        6464  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 4717   6465   
@@ -0,0 +1 @@
        6466  +
3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
              \
 No newline at end of file
 4718   6467   
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
 4719   6468   
new file mode 100644
 4720   6469   
index 0000000..cfac41b
 4721         -
-- /dev/null
        6470  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 4722   6471   
@@ -0,0 +1,3 @@
        6472  +
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
        6473  +
Host:example.amazonaws.com
        6474  +
 4723   6475   
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
 4724   6476   
similarity index 99%
 4725   6477   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
 4726   6478   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 4727   6479   
index 34e3382..711c162 100644
 4728   6480   
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
 4729   6481   
similarity index 61%
 4730   6482   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
 4731   6483   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4732   6484   
index 3dc4179..3f0a82a 100644
 4733         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
        6485  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4734   6486   
@@ -1,3 +1,2 @@
 4735   6487   
POST / HTTP/1.1
 4736   6488   
Host:example.amazonaws.com
 4737         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4738   6489   
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
 4739   6490   
new file mode 100644
 4740   6491   
index 0000000..5187392
 4741         -
-- /dev/null
        6492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 4742   6493   
@@ -0,0 +1,14 @@
        6494  +
{
        6495  +
    "credentials": {
        6496  +
        "access_key_id": "AKIDEXAMPLE",
        6497  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6498  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6499  +
    },
        6500  +
    "expiration_in_seconds": 3600,
        6501  +
    "normalize": true,
        6502  +
    "region": "us-east-1",
        6503  +
    "service": "service",
        6504  +
    "sign_body": false,
        6505  +
    "timestamp": "2015-08-30T12:36:00Z",
        6506  +
    "omit_session_token": false
        6507  +
}
 4743   6508   
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
 4744   6509   
similarity index 99%
 4745   6510   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
 4746   6511   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 4747   6512   
index dd408c8..e95924e 100644
 4748   6513   
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
 4749   6514   
new file mode 100644
 4750   6515   
index 0000000..1573f07
 4751         -
-- /dev/null
        6516  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 4752   6517   
@@ -0,0 +1 @@
        6518  +
30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
              \
 No newline at end of file
 4753   6519   
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
 4754   6520   
new file mode 100644
 4755   6521   
index 0000000..6ef9a08
 4756         -
-- /dev/null
        6522  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 4757   6523   
@@ -0,0 +1,7 @@
        6524  +
POST / HTTP/1.1
        6525  +
Host:example.amazonaws.com
        6526  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6527  +
X-Amz-Date:20150830T123600Z
        6528  +
X-Amz-Region-Set:us-east-1
        6529  +
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
        6530  +
 4758   6531   
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
 4759   6532   
similarity index 99%
 4760   6533   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
 4761   6534   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 4762   6535   
index f352b54..3c3235f 100644
 4763   6536   
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
 4764   6537   
new file mode 100644
 4765   6538   
index 0000000..379dcb2
 4766         -
-- /dev/null
        6539  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 4767   6540   
@@ -0,0 +1,4 @@
        6541  +
{
        6542  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6543  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6544  +
}
 4768   6545   
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
 4769   6546   
similarity index 99%
 4770   6547   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
 4771   6548   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 4772   6549   
index 832cdc0..63b7de5 100644
 4773   6550   
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
 4774   6551   
new file mode 100644
 4775   6552   
index 0000000..713f57c
 4776         -
-- /dev/null
        6553  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 4777   6554   
@@ -0,0 +1 @@
        6555  +
304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
              \
 No newline at end of file
 4778   6556   
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
 4779   6557   
new file mode 100644
 4780   6558   
index 0000000..32c3bb3
 4781         -
-- /dev/null
        6559  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 4782   6560   
@@ -0,0 +1,3 @@
        6561  +
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
        6562  +
Host:example.amazonaws.com
        6563  +
 4783   6564   
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
 4784   6565   
similarity index 99%
 4785   6566   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
 4786   6567   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 4787   6568   
index d7f3668..b46cd8c 100644
 4788   6569   
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
 4789   6570   
similarity index 60%
 4790   6571   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
 4791   6572   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4792   6573   
index 8b5efc8..3f0a82a 100644
 4793         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
        6574  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4794   6575   
@@ -1,3 +1,2 @@
 4795   6576   
POST / HTTP/1.1
 4796   6577   
Host:example.amazonaws.com
 4797         -
X-Amz-Date:20150830T123600Z
 4798   6578   
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
 4799   6579   
new file mode 100644
 4800   6580   
index 0000000..0468d80
 4801         -
-- /dev/null
        6581  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 4802   6582   
@@ -0,0 +1,12 @@
        6583  +
{
        6584  +
    "credentials": {
        6585  +
        "access_key_id": "AKIDEXAMPLE",
        6586  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6587  +
    },
        6588  +
    "expiration_in_seconds": 3600,
        6589  +
    "normalize": true,
        6590  +
    "region": "us-east-1",
        6591  +
    "service": "service",
        6592  +
    "sign_body": false,
        6593  +
    "timestamp": "2015-08-30T12:36:00Z"
        6594  +
}
              \
 No newline at end of file
 4803   6595   
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
 4804   6596   
similarity index 99%
 4805   6597   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
 4806   6598   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 4807   6599   
index 02af60f..34b8c11 100644
 4808   6600   
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
 4809   6601   
new file mode 100644
 4810   6602   
index 0000000..aac6427
 4811         -
-- /dev/null
        6603  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 4812   6604   
@@ -0,0 +1 @@
        6605  +
3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
              \
 No newline at end of file
 4813   6606   
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
 4814   6607   
new file mode 100644
 4815   6608   
index 0000000..a611436
 4816         -
-- /dev/null
        6609  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 4817   6610   
@@ -0,0 +1,6 @@
        6611  +
POST /?Param1=value1 HTTP/1.1
        6612  +
Host:example.amazonaws.com
        6613  +
X-Amz-Date:20150830T123600Z
        6614  +
X-Amz-Region-Set:us-east-1
        6615  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
        6616  +
 4818   6617   
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
 4819   6618   
similarity index 99%
 4820   6619   
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
 4821   6620   
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
 4822   6621   
index 4256b4f..ad88dff 100644
 4823   6622   
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
 4824   6623   
new file mode 100644
 4825   6624   
index 0000000..379dcb2
 4826         -
-- /dev/null
        6625  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 4827   6626   
@@ -0,0 +1,4 @@
        6627  +
{
        6628  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6629  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6630  +
}
 4828   6631   
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
 4829   6632   
similarity index 99%
 4830   6633   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
 4831   6634   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 4832   6635   
index fa84bbd..76d5ad6 100644
 4833   6636   
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
 4834   6637   
new file mode 100644
 4835   6638   
index 0000000..4cb1c94
 4836         -
-- /dev/null
        6639  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 4837   6640   
@@ -0,0 +1 @@
        6641  +
3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
              \
 No newline at end of file
 4838   6642   
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
 4839   6643   
new file mode 100644
 4840   6644   
index 0000000..bd22b97
 4841         -
-- /dev/null
        6645  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 4842   6646   
@@ -0,0 +1,3 @@
        6647  +
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
        6648  +
Host:example.amazonaws.com
        6649  +
 4843   6650   
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
 4844   6651   
similarity index 99%
 4845   6652   
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
 4846   6653   
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
 4847   6654   
index de270ef..8c9d319 100644
 4848   6655   
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
 4849   6656   
similarity index 67%
 4850   6657   
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
 4851   6658   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4852   6659   
index 9157bc7..c9d6e5d 100644
 4853         -
-- 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
        6660  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4854   6661   
@@ -1,3 +1,2 @@
 4855   6662   
POST /?Param1=value1 HTTP/1.1
 4856   6663   
Host:example.amazonaws.com
 4857         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4858   6664   
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
 4859   6665   
new file mode 100644
 4860   6666   
index 0000000..0468d80
 4861         -
-- /dev/null
        6667  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 4862   6668   
@@ -0,0 +1,12 @@
        6669  +
{
        6670  +
    "credentials": {
        6671  +
        "access_key_id": "AKIDEXAMPLE",
        6672  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6673  +
    },
        6674  +
    "expiration_in_seconds": 3600,
        6675  +
    "normalize": true,
        6676  +
    "region": "us-east-1",
        6677  +
    "service": "service",
        6678  +
    "sign_body": false,
        6679  +
    "timestamp": "2015-08-30T12:36:00Z"
        6680  +
}
              \
 No newline at end of file
 4863   6681   
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
 4864   6682   
similarity index 99%
 4865   6683   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
 4866   6684   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 4867   6685   
index 02af60f..34b8c11 100644
 4868   6686   
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
 4869   6687   
new file mode 100644
 4870   6688   
index 0000000..34f75c8
 4871         -
-- /dev/null
        6689  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 4872   6690   
@@ -0,0 +1 @@
        6691  +
3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
              \
 No newline at end of file
 4873   6692   
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
 4874   6693   
new file mode 100644
 4875   6694   
index 0000000..c731408
 4876         -
-- /dev/null
        6695  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 4877   6696   
@@ -0,0 +1,6 @@
        6697  +
POST /?Param1=value1 HTTP/1.1
        6698  +
Host:example.amazonaws.com
        6699  +
X-Amz-Date:20150830T123600Z
        6700  +
X-Amz-Region-Set:us-east-1
        6701  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
        6702  +
 4878   6703   
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
 4879   6704   
similarity index 99%
 4880   6705   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
 4881   6706   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 4882   6707   
index 4256b4f..ad88dff 100644
 4883   6708   
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
 4884   6709   
new file mode 100644
 4885   6710   
index 0000000..379dcb2
 4886         -
-- /dev/null
        6711  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 4887   6712   
@@ -0,0 +1,4 @@
        6713  +
{
        6714  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6715  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6716  +
}
 4888   6717   
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
 4889   6718   
similarity index 99%
 4890   6719   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
 4891   6720   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 4892   6721   
index fa84bbd..76d5ad6 100644
 4893   6722   
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
 4894   6723   
new file mode 100644
 4895   6724   
index 0000000..ae000d6
 4896         -
-- /dev/null
        6725  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 4897   6726   
@@ -0,0 +1 @@
        6727  +
304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
              \
 No newline at end of file
 4898   6728   
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
 4899   6729   
new file mode 100644
 4900   6730   
index 0000000..a868f7d
 4901         -
-- /dev/null
        6731  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 4902   6732   
@@ -0,0 +1,3 @@
        6733  +
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
        6734  +
Host:example.amazonaws.com
        6735  +
 4903   6736   
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
 4904   6737   
similarity index 99%
 4905   6738   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
 4906   6739   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 4907   6740   
index de270ef..8c9d319 100644
 4908   6741   
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
 4909   6742   
similarity index 67%
 4910   6743   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
 4911   6744   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 4912   6745   
index 9157bc7..c9d6e5d 100644
 4913         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
        6746  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 4914   6747   
@@ -1,3 +1,2 @@
 4915   6748   
POST /?Param1=value1 HTTP/1.1
 4916   6749   
Host:example.amazonaws.com
 4917         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4918   6750   
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
 4919   6751   
new file mode 100644
 4920   6752   
index 0000000..0468d80
 4921         -
-- /dev/null
        6753  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 4922   6754   
@@ -0,0 +1,12 @@
        6755  +
{
        6756  +
    "credentials": {
        6757  +
        "access_key_id": "AKIDEXAMPLE",
        6758  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6759  +
    },
        6760  +
    "expiration_in_seconds": 3600,
        6761  +
    "normalize": true,
        6762  +
    "region": "us-east-1",
        6763  +
    "service": "service",
        6764  +
    "sign_body": false,
        6765  +
    "timestamp": "2015-08-30T12:36:00Z"
        6766  +
}
              \
 No newline at end of file
 4923   6767   
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
 4924   6768   
similarity index 99%
 4925   6769   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
 4926   6770   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 4927   6771   
index a6942c1..e881ac7 100644
 4928   6772   
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
 4929   6773   
new file mode 100644
 4930   6774   
index 0000000..7c5e47b
 4931         -
-- /dev/null
        6775  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 4932   6776   
@@ -0,0 +1 @@
        6777  +
3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
              \
 No newline at end of file
 4933   6778   
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
 4934   6779   
new file mode 100644
 4935   6780   
index 0000000..c0e50a0
 4936         -
-- /dev/null
        6781  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 4937   6782   
@@ -0,0 +1,6 @@
        6783  +
POST / HTTP/1.1
        6784  +
Host:example.amazonaws.com
        6785  +
X-Amz-Date:20150830T123600Z
        6786  +
X-Amz-Region-Set:us-east-1
        6787  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
        6788  +
 4938   6789   
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
 4939   6790   
similarity index 99%
 4940   6791   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
 4941   6792   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 4942   6793   
index d5650cb..f8adf13 100644
 4943   6794   
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
 4944   6795   
new file mode 100644
 4945   6796   
index 0000000..379dcb2
 4946         -
-- /dev/null
        6797  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 4947   6798   
@@ -0,0 +1,4 @@
        6799  +
{
        6800  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6801  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6802  +
}
 4948   6803   
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
 4949   6804   
similarity index 99%
 4950   6805   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
 4951   6806   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 4952   6807   
index e48ce07..5ea8e3c 100644
 4953   6808   
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
 4954   6809   
new file mode 100644
 4955   6810   
index 0000000..ea8e3b4
 4956         -
-- /dev/null
        6811  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 4957   6812   
@@ -0,0 +1 @@
        6813  +
30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
              \
 No newline at end of file
 4958   6814   
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
 4959   6815   
new file mode 100644
 4960   6816   
index 0000000..616973f
 4961         -
-- /dev/null
        6817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 4962   6818   
@@ -0,0 +1,3 @@
        6819  +
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
        6820  +
Host:example.amazonaws.com
        6821  +
 4963   6822   
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
 4964   6823   
similarity index 99%
 4965   6824   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
 4966   6825   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 4967   6826   
index 34e3382..711c162 100644
 4968   6827   
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
 4969   6828   
new file mode 100644
 4970   6829   
index 0000000..3f0a82a
 4971         -
-- /dev/null
        6830  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 4972   6831   
@@ -0,0 +1,2 @@
        6832  +
POST / HTTP/1.1
        6833  +
Host:example.amazonaws.com
 4973   6834   
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
 4974   6835   
new file mode 100644
 4975   6836   
index 0000000..0db1df1
 4976         -
-- /dev/null
        6837  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 4977   6838   
@@ -0,0 +1,12 @@
        6839  +
{
        6840  +
    "credentials": {
        6841  +
        "access_key_id": "AKIDEXAMPLE",
        6842  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6843  +
    },
        6844  +
    "expiration_in_seconds": 3600,
        6845  +
    "normalize": true,
        6846  +
    "region": "us-east-1",
        6847  +
    "service": "service",
        6848  +
    "sign_body": true,
        6849  +
    "timestamp": "2015-08-30T12:36:00Z"
        6850  +
}
              \
 No newline at end of file
 4978   6851   
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
 4979   6852   
similarity index 62%
 4980   6853   
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
 4981   6854   
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
 4982   6855   
index 05ab787..62639b2 100644
 4983         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
        6856  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 4984   6857   
@@ -1,12 +1,12 @@
 4985   6858   
POST
 4986   6859   
/
 4987   6860   
 4988   6861   
content-length:13
 4989   6862   
content-type:application/x-www-form-urlencoded; charset=utf-8
 4990   6863   
host:example.amazonaws.com
 4991         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6864  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 4992   6865   
x-amz-date:20150830T123600Z
 4993   6866   
x-amz-region-set:us-east-1
 4994   6867   
 4995   6868   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 4996         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6869  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 4997   6870   
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
 4998   6871   
new file mode 100644
 4999   6872   
index 0000000..006ec2e
 5000         -
-- /dev/null
        6873  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 5001   6874   
@@ -0,0 +1 @@
        6875  +
3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
              \
 No newline at end of file
 5002   6876   
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
 5003   6877   
new file mode 100644
 5004   6878   
index 0000000..87a11f2
 5005         -
-- /dev/null
        6879  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 5006   6880   
@@ -0,0 +1,10 @@
        6881  +
POST / HTTP/1.1
        6882  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6883  +
Host:example.amazonaws.com
        6884  +
Content-Length:13
        6885  +
X-Amz-Date:20150830T123600Z
        6886  +
X-Amz-Region-Set:us-east-1
        6887  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        6888  +
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
        6889  +
        6890  +
Param1=value1
              \
 No newline at end of file
 5007   6891   
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
 5008   6892   
new file mode 100644
 5009   6893   
index 0000000..c047afb
 5010         -
-- /dev/null
        6894  +
++ 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
 5011   6895   
@@ -0,0 +1,4 @@
        6896  +
AWS4-ECDSA-P256-SHA256
        6897  +
20150830T123600Z
        6898  +
20150830/service/aws4_request
        6899  +
bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
              \
 No newline at end of file
 5012   6900   
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
 5013   6901   
new file mode 100644
 5014   6902   
index 0000000..379dcb2
 5015         -
-- /dev/null
        6903  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 5016   6904   
@@ -0,0 +1,4 @@
        6905  +
{
        6906  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6907  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6908  +
}
 5017   6909   
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
 5018   6910   
similarity index 85%
 5019   6911   
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
 5020   6912   
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
 5021   6913   
index fcc454f..6933a8c 100644
 5022         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
        6914  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 5023   6915   
@@ -1,9 +1,9 @@
 5024   6916   
POST
 5025   6917   
/
 5026   6918   
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
 5027   6919   
content-length:13
 5028   6920   
content-type:application/x-www-form-urlencoded; charset=utf-8
 5029   6921   
host:example.amazonaws.com
 5030   6922   
 5031   6923   
content-length;content-type;host
 5032         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6924  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5033   6925   
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
 5034   6926   
new file mode 100644
 5035   6927   
index 0000000..34a2e12
 5036         -
-- /dev/null
        6928  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 5037   6929   
@@ -0,0 +1 @@
        6930  +
3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
              \
 No newline at end of file
 5038   6931   
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
 5039   6932   
new file mode 100644
 5040   6933   
index 0000000..197b99e
 5041         -
-- /dev/null
        6934  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 5042   6935   
@@ -0,0 +1,6 @@
        6936  +
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
        6937  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6938  +
Host:example.amazonaws.com
        6939  +
Content-Length:13
        6940  +
        6941  +
Param1=value1
              \
 No newline at end of file
 5043   6942   
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
 5044   6943   
new file mode 100644
 5045   6944   
index 0000000..9d2bc74
 5046         -
-- /dev/null
        6945  +
++ 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
 5047   6946   
@@ -0,0 +1,4 @@
        6947  +
AWS4-ECDSA-P256-SHA256
        6948  +
20150830T123600Z
        6949  +
20150830/service/aws4_request
        6950  +
d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
              \
 No newline at end of file
 5048   6951   
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
 5049   6952   
similarity index 80%
 5050   6953   
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
 5051   6954   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5052   6955   
index 36015f1..8289eaa 100644
 5053         -
-- 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
        6956  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5054   6957   
@@ -1,6 +1,6 @@
 5055   6958   
POST / HTTP/1.1
 5056   6959   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 5057   6960   
Host:example.amazonaws.com
 5058         -
X-Amz-Date:20150830T123600Z
        6961  +
Content-Length:13
 5059   6962   
 5060   6963   
Param1=value1
              \
 No newline at end of file
 5061   6964   
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
 5062   6965   
new file mode 100644
 5063   6966   
index 0000000..0db1df1
 5064         -
-- /dev/null
        6967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 5065   6968   
@@ -0,0 +1,12 @@
        6969  +
{
        6970  +
    "credentials": {
        6971  +
        "access_key_id": "AKIDEXAMPLE",
        6972  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6973  +
    },
        6974  +
    "expiration_in_seconds": 3600,
        6975  +
    "normalize": true,
        6976  +
    "region": "us-east-1",
        6977  +
    "service": "service",
        6978  +
    "sign_body": true,
        6979  +
    "timestamp": "2015-08-30T12:36:00Z"
        6980  +
}
              \
 No newline at end of file
 5066   6981   
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
 5067   6982   
similarity index 61%
 5068   6983   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
 5069   6984   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5070   6985   
index 69009dc..797632b 100644
 5071         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
        6986  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5072   6987   
@@ -1,12 +1,12 @@
 5073   6988   
POST
 5074   6989   
/
 5075   6990   
 5076   6991   
content-length:13
 5077   6992   
content-type:application/x-www-form-urlencoded
 5078   6993   
host:example.amazonaws.com
 5079         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6994  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 5080   6995   
x-amz-date:20150830T123600Z
 5081   6996   
x-amz-region-set:us-east-1
 5082   6997   
 5083   6998   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 5084         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6999  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5085   7000   
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
 5086   7001   
new file mode 100644
 5087   7002   
index 0000000..f5a641c
 5088         -
-- /dev/null
        7003  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 5089   7004   
@@ -0,0 +1 @@
        7005  +
304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
              \
 No newline at end of file
 5090   7006   
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
 5091   7007   
new file mode 100644
 5092   7008   
index 0000000..7bd94a7
 5093         -
-- /dev/null
        7009  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 5094   7010   
@@ -0,0 +1,10 @@
        7011  +
POST / HTTP/1.1
        7012  +
Content-Type:application/x-www-form-urlencoded
        7013  +
Host:example.amazonaws.com
        7014  +
Content-Length:13
        7015  +
X-Amz-Date:20150830T123600Z
        7016  +
X-Amz-Region-Set:us-east-1
        7017  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        7018  +
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
        7019  +
        7020  +
Param1=value1
              \
 No newline at end of file
 5095   7021   
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
 5096   7022   
new file mode 100644
 5097   7023   
index 0000000..8d25ba9
 5098         -
-- /dev/null
        7024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 5099   7025   
@@ -0,0 +1,4 @@
        7026  +
AWS4-ECDSA-P256-SHA256
        7027  +
20150830T123600Z
        7028  +
20150830/service/aws4_request
        7029  +
ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
              \
 No newline at end of file
 5100   7030   
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
 5101   7031   
new file mode 100644
 5102   7032   
index 0000000..379dcb2
 5103         -
-- /dev/null
        7033  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 5104   7034   
@@ -0,0 +1,4 @@
        7035  +
{
        7036  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7037  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7038  +
}
 5105   7039   
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
 5106   7040   
similarity index 99%
 5107   7041   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
 5108   7042   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 5109   7043   
index 9ed065b..563ff58 100644
 5110   7044   
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
 5111   7045   
new file mode 100644
 5112   7046   
index 0000000..0c77daf
 5113         -
-- /dev/null
        7047  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 5114   7048   
@@ -0,0 +1 @@
        7049  +
304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
              \
 No newline at end of file
 5115   7050   
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
 5116   7051   
new file mode 100644
 5117   7052   
index 0000000..71d6de9
 5118         -
-- /dev/null
        7053  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 5119   7054   
@@ -0,0 +1,6 @@
        7055  +
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
        7056  +
Content-Type:application/x-www-form-urlencoded
        7057  +
Host:example.amazonaws.com
        7058  +
Content-Length:13
        7059  +
        7060  +
Param1=value1
              \
 No newline at end of file
 5120   7061   
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
 5121   7062   
similarity index 99%
 5122   7063   
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
 5123   7064   
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
 5124   7065   
index bef3143..cc7a224 100644
 5125   7066   
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
 5126   7067   
new file mode 100644
 5127   7068   
index 0000000..760b2d3
 5128         -
-- /dev/null
        7069  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 5129   7070   
@@ -0,0 +1,6 @@
        7071  +
POST / HTTP/1.1
        7072  +
Content-Type:application/x-www-form-urlencoded
        7073  +
Host:example.amazonaws.com
        7074  +
Content-Length:13
        7075  +
        7076  +
Param1=value1
              \
 No newline at end of file
 5130   7077   
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
 5131   7078   
index 9bd636f..b53f33f 100644
 5132         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
        7079  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 5133   7080   
@@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
 5134   7081   
            params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
 5135   7082   
        }
 5136   7083   
 5137   7084   
        if let SignatureValues::QueryParams(values) = values {
 5138   7085   
            add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
 5139   7086   
            add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
 5140   7087   
 5141   7088   
            #[cfg(feature = "sigv4a")]
 5142   7089   
            if let Some(regions) = values.region_set {
 5143   7090   
                add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
 5144   7091   
            }
 5145   7092   
 5146   7093   
            add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
 5147   7094   
            add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
 5148   7095   
            add_param(
 5149   7096   
                &mut params,
 5150   7097   
                param::X_AMZ_SIGNED_HEADERS,
 5151   7098   
                values.signed_headers.as_str(),
 5152   7099   
            );
 5153   7100   
 5154   7101   
            if let Some(security_token) = values.security_token {
 5155   7102   
                add_param(
 5156   7103   
                    &mut params,
 5157   7104   
                    settings
 5158   7105   
                        .session_token_name_override
 5159   7106   
                        .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
 5160   7107   
                    security_token,
 5161   7108   
                );
 5162   7109   
            }
 5163   7110   
        }
 5164         -
        // Sort by param name, and then by param value
        7111  +
        7112  +
        // Sort on the _encoded_ key/value pairs
        7113  +
        let mut params: Vec<(String, String)> = params
        7114  +
            .into_iter()
        7115  +
            .map(|x| {
        7116  +
                use aws_smithy_http::query::fmt_string;
        7117  +
                let enc_k = fmt_string(&x.0);
        7118  +
                let enc_v = fmt_string(&x.1);
        7119  +
                (enc_k, enc_v)
        7120  +
            })
        7121  +
            .collect();
        7122  +
 5165   7123   
        params.sort();
 5166   7124   
 5167   7125   
        let mut query = QueryWriter::new(uri);
 5168   7126   
        query.clear_params();
 5169   7127   
        for (key, value) in params {
 5170         -
            query.insert(&key, &value);
        7128  +
            query.insert_encoded(&key, &value);
 5171   7129   
        }
 5172   7130   
 5173   7131   
        let query = query.build_query();
 5174   7132   
        if query.is_empty() {
 5175   7133   
            None
 5176   7134   
        } else {
 5177   7135   
            Some(query)
 5178   7136   
        }
 5179   7137   
    }
 5180   7138   
 5181   7139   
    fn insert_host_header(
 5182   7140   
        canonical_headers: &mut HeaderMap<HeaderValue>,
 5183   7141   
        uri: &Uri,
 5184   7142   
    ) -> HeaderValue {
 5185   7143   
        match canonical_headers.get(&HOST) {
 5186   7144   
            Some(header) => header.clone(),
 5187   7145   
            None => {
 5188   7146   
                let port = uri.port();
 5189   7147   
                let scheme = uri.scheme();
 5190   7148   
                let authority = uri
 5191   7149   
                    .authority()
 5192   7150   
                    .expect("request uri authority must be set for signing")
 5193   7151   
                    .as_str();
 5194   7152   
                let host = uri
 5195   7153   
                    .host()
 5196   7154   
                    .expect("request uri host must be set for signing");
 5197   7155   
 5198   7156   
                // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
 5199   7157   
                // Host header when signing since RFC 2616 indicates that the default port should not be
 5200   7158   
                // sent in the Host header (and Hyper strips default ports if they are present)
 5201   7159   
@@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
 5202   7160   
            service,
 5203   7161   
            hashed_creq,
 5204   7162   
            signature_version: SignatureVersion::V4a,
 5205   7163   
        }
 5206   7164   
    }
 5207   7165   
}
 5208   7166   
 5209   7167   
impl fmt::Display for StringToSign<'_> {
 5210   7168   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 5211   7169   
        write!(
 5212   7170   
            f,
 5213   7171   
            "{}\n{}\n{}\n{}",
 5214   7172   
            self.algorithm,
 5215   7173   
            format_date_time(self.time),
 5216   7174   
            match self.signature_version {
 5217   7175   
                SignatureVersion::V4 => self.scope.to_string(),
 5218   7176   
                SignatureVersion::V4a => self.scope.v4a_display(),
 5219   7177   
            },
 5220   7178   
            self.hashed_creq
 5221   7179   
        )
 5222   7180   
    }
 5223   7181   
}
 5224   7182   
 5225   7183   
#[cfg(test)]
 5226   7184   
mod tests {
 5227   7185   
    use crate::date_time::test_parsers::parse_date_time;
 5228   7186   
    use crate::http_request::canonical_request::{
 5229   7187   
        normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
 5230   7188   
    };
 5231   7189   
    use crate::http_request::test;
        7190  +
    use crate::http_request::test::SigningSuiteTest;
 5232   7191   
    use crate::http_request::{
 5233   7192   
        PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
 5234   7193   
        SigningParams, SigningSettings,
 5235   7194   
    };
 5236   7195   
    use crate::sign::v4;
 5237   7196   
    use crate::sign::v4::sha256_hex_string;
 5238   7197   
    use aws_credential_types::Credentials;
 5239   7198   
    use aws_smithy_http::query_writer::QueryWriter;
 5240   7199   
    use aws_smithy_runtime_api::client::identity::Identity;
 5241   7200   
    use http0::{HeaderValue, Uri};
 5242   7201   
    use pretty_assertions::assert_eq;
 5243   7202   
    use proptest::{prelude::*, proptest};
 5244   7203   
    use std::borrow::Cow;
 5245   7204   
    use std::time::Duration;
 5246   7205   
 5247   7206   
    fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
 5248   7207   
        v4::signing_params::Builder::default()
 5249   7208   
            .identity(identity)
 5250   7209   
            .region("test-region")
 5251   7210   
            .name("testservicename")
 5252   7211   
            .time(parse_date_time("20210511T154045Z").unwrap())
 5253   7212   
            .settings(settings)
 5254   7213   
            .build()
 5255   7214   
            .unwrap()
 5256   7215   
            .into()
 5257   7216   
    }
 5258   7217   
 5259   7218   
    #[test]
 5260   7219   
    fn test_repeated_header() {
 5261         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7220  +
        let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7221  +
        let mut req = test.request();
 5262   7222   
        req.headers.push((
 5263   7223   
            "x-amz-object-attributes".to_string(),
 5264   7224   
            "Checksum".to_string(),
 5265   7225   
        ));
 5266   7226   
        req.headers.push((
 5267   7227   
            "x-amz-object-attributes".to_string(),
 5268   7228   
            "ObjectSize".to_string(),
 5269   7229   
        ));
 5270   7230   
        let req = SignableRequest::from(&req);
 5271   7231   
        let settings = SigningSettings {
 5272   7232   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5273   7233   
            session_token_mode: SessionTokenMode::Exclude,
 5274   7234   
            ..Default::default()
 5275   7235   
        };
 5276   7236   
        let identity = Credentials::for_tests().into();
 5277   7237   
        let signing_params = signing_params(&identity, settings);
 5278   7238   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5279   7239   
 5280   7240   
        assert_eq!(
 5281   7241   
            creq.values.signed_headers().to_string(),
 5282   7242   
            "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
 5283   7243   
        );
 5284   7244   
        assert_eq!(
 5285   7245   
            creq.header_values_for("x-amz-object-attributes"),
 5286   7246   
            "Checksum,ObjectSize",
 5287   7247   
        );
 5288   7248   
    }
 5289   7249   
 5290   7250   
    #[test]
 5291   7251   
    fn test_host_header_properly_handles_ports() {
 5292   7252   
        fn host_header_test_setup(endpoint: String) -> String {
 5293         -
            let mut req = test::v4::test_request("get-vanilla");
        7253  +
            let test = SigningSuiteTest::v4("get-vanilla");
        7254  +
            let mut req = test.request();
 5294   7255   
            req.uri = endpoint;
 5295   7256   
            let req = SignableRequest::from(&req);
 5296   7257   
            let settings = SigningSettings {
 5297   7258   
                payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5298   7259   
                session_token_mode: SessionTokenMode::Exclude,
 5299   7260   
                ..Default::default()
 5300   7261   
            };
 5301   7262   
            let identity = Credentials::for_tests().into();
 5302   7263   
            let signing_params = signing_params(&identity, settings);
 5303   7264   
            let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5304   7265   
            creq.header_values_for("host")
 5305   7266   
        }
 5306   7267   
 5307   7268   
        // HTTP request with 80 port should not be signed with that port
 5308   7269   
        let http_80_host_header = host_header_test_setup("http://localhost:80".into());
 5309   7270   
        assert_eq!(http_80_host_header, "localhost",);
 5310   7271   
 5311   7272   
        // HTTP request with non-80 port should be signed with that port
 5312   7273   
        let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
 5313   7274   
        assert_eq!(http_1234_host_header, "localhost:1234",);
 5314   7275   
 5315   7276   
        // HTTPS request with 443 port should not be signed with that port
 5316   7277   
        let https_443_host_header = host_header_test_setup("https://localhost:443".into());
 5317   7278   
        assert_eq!(https_443_host_header, "localhost",);
 5318   7279   
 5319   7280   
        // HTTPS request with non-443 port should be signed with that port
 5320   7281   
        let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
 5321   7282   
        assert_eq!(https_1234_host_header, "localhost:1234",);
 5322   7283   
    }
 5323   7284   
 5324   7285   
    #[test]
 5325   7286   
    fn test_set_xamz_sha_256() {
 5326         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7287  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7288  +
        let req = test.request();
 5327   7289   
        let req = SignableRequest::from(&req);
 5328   7290   
        let settings = SigningSettings {
 5329   7291   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5330   7292   
            session_token_mode: SessionTokenMode::Exclude,
 5331   7293   
            ..Default::default()
 5332   7294   
        };
 5333   7295   
        let identity = Credentials::for_tests().into();
 5334   7296   
        let mut signing_params = signing_params(&identity, settings);
 5335   7297   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5336   7298   
        assert_eq!(
 5337   7299   
            creq.values.content_sha256(),
 5338   7300   
            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 5339   7301   
        );
 5340   7302   
        // assert that the sha256 header was added
 5341   7303   
        assert_eq!(
 5342   7304   
            creq.values.signed_headers().as_str(),
 5343   7305   
            "host;x-amz-content-sha256;x-amz-date"
 5344   7306   
        );
 5345   7307   
 5346   7308   
        signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
 5347   7309   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5348   7310   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5349   7311   
    }
 5350   7312   
 5351   7313   
    #[test]
 5352   7314   
    fn test_unsigned_payload() {
 5353         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7315  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7316  +
        let mut req = test.request();
 5354   7317   
        req.set_body(SignableBody::UnsignedPayload);
 5355   7318   
        let req: SignableRequest<'_> = SignableRequest::from(&req);
 5356   7319   
 5357   7320   
        let settings = SigningSettings {
 5358   7321   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5359   7322   
            ..Default::default()
 5360   7323   
        };
 5361   7324   
        let identity = Credentials::for_tests().into();
 5362   7325   
        let signing_params = signing_params(&identity, settings);
 5363   7326   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5364   7327   
        assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
 5365   7328   
        assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
 5366   7329   
    }
 5367   7330   
 5368   7331   
    #[test]
 5369   7332   
    fn test_precomputed_payload() {
 5370   7333   
        let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
 5371         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7334  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7335  +
        let mut req = test.request();
 5372   7336   
        req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
 5373   7337   
        let req = SignableRequest::from(&req);
 5374   7338   
        let settings = SigningSettings {
 5375   7339   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5376   7340   
            ..Default::default()
 5377   7341   
        };
 5378   7342   
        let identity = Credentials::for_tests().into();
 5379   7343   
        let signing_params = signing_params(&identity, settings);
 5380   7344   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5381   7345   
        assert_eq!(creq.values.content_sha256(), payload_hash);
 5382   7346   
        assert!(creq.to_string().ends_with(payload_hash));
 5383   7347   
    }
 5384   7348   
 5385   7349   
    #[test]
 5386   7350   
    fn test_generate_scope() {
 5387   7351   
        let expected = "20150830/us-east-1/iam/aws4_request\n";
 5388   7352   
        let scope = SigningScope {
 5389   7353   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5390   7354   
            region: "us-east-1",
 5391   7355   
            service: "iam",
 5392   7356   
        };
 5393   7357   
        assert_eq!(format!("{}\n", scope), expected);
 5394   7358   
    }
 5395   7359   
 5396   7360   
    #[test]
 5397   7361   
    fn test_string_to_sign() {
 5398   7362   
        let time = parse_date_time("20150830T123600Z").unwrap();
 5399         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
 5400         -
        let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
        7363  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7364  +
        let creq = test.canonical_request(SignatureLocation::Headers);
        7365  +
        let expected_sts = test.string_to_sign(SignatureLocation::Headers);
 5401   7366   
        let encoded = sha256_hex_string(creq.as_bytes());
 5402   7367   
 5403   7368   
        let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
 5404   7369   
        assert_eq!(expected_sts, actual.to_string());
 5405   7370   
    }
 5406   7371   
 5407   7372   
    #[test]
 5408   7373   
    fn test_digest_of_canonical_request() {
 5409         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
        7374  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7375  +
        let creq = test.canonical_request(SignatureLocation::Headers);
 5410   7376   
        let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
 5411   7377   
        let actual = sha256_hex_string(creq.as_bytes());
 5412   7378   
        assert_eq!(expected, actual);
 5413   7379   
    }
 5414   7380   
 5415   7381   
    #[test]
 5416   7382   
    fn test_double_url_encode_path() {
 5417         -
        let req = test::v4::test_request("double-encode-path");
        7383  +
        let test = SigningSuiteTest::v4("double-encode-path");
        7384  +
        let req = test.request();
 5418   7385   
        let req = SignableRequest::from(&req);
 5419   7386   
        let identity = Credentials::for_tests().into();
 5420   7387   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5421   7388   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5422   7389   
 5423         -
        let expected = test::v4::test_canonical_request("double-encode-path");
        7390  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5424   7391   
        let actual = format!("{}", creq);
 5425   7392   
        assert_eq!(actual, expected);
 5426   7393   
    }
 5427   7394   
 5428   7395   
    #[test]
 5429   7396   
    fn test_double_url_encode() {
 5430         -
        let req = test::v4::test_request("double-url-encode");
        7397  +
        let test = SigningSuiteTest::v4("double-url-encode");
        7398  +
        let req = test.request();
 5431   7399   
        let req = SignableRequest::from(&req);
 5432   7400   
        let identity = Credentials::for_tests().into();
 5433   7401   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5434   7402   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5435         -
 5436         -
        let expected = test::v4::test_canonical_request("double-url-encode");
        7403  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5437   7404   
        let actual = format!("{}", creq);
 5438   7405   
        assert_eq!(actual, expected);
 5439   7406   
    }
 5440   7407   
 5441   7408   
    #[test]
 5442   7409   
    fn test_tilde_in_uri() {
 5443   7410   
        let req = http0::Request::builder()
 5444   7411   
            .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
 5445   7412   
        let req = SignableRequest::from(&req);
 5446   7413   
        let identity = Credentials::for_tests().into();
 5447   7414   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5448   7415   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5449   7416   
        assert_eq!(
 5450   7417   
            Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
 5451   7418   
            creq.params.as_deref(),
 5452   7419   
        );
 5453   7420   
    }
 5454   7421   
 5455   7422   
    #[test]
 5456   7423   
    fn test_signing_urls_with_percent_encoded_query_strings() {
 5457   7424   
        let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
 5458   7425   
        let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
 5459   7426   
 5460   7427   
        let mut query_writer = QueryWriter::new(&uri);
 5461   7428   
        query_writer.insert("list-type", "2");
 5462   7429   
        query_writer.insert("prefix", &all_printable_ascii_chars);
 5463   7430   
 5464   7431   
        let req = http0::Request::builder()
 5465   7432   
            .uri(query_writer.build_uri())
 5466   7433   
            .body("")
 5467   7434   
            .unwrap()
 5468   7435   
            .into();
 5469   7436   
        let req = SignableRequest::from(&req);
 5470   7437   
        let identity = Credentials::for_tests().into();
 5471   7438   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5472   7439   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5473   7440   
 5474   7441   
        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~";
 5475   7442   
        let actual = creq.params.unwrap();
 5476   7443   
        assert_eq!(expected, actual);
 5477   7444   
    }
 5478   7445   
 5479   7446   
    #[test]
 5480   7447   
    fn test_omit_session_token() {
 5481         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7448  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7449  +
        let req = test.request();
 5482   7450   
        let req = SignableRequest::from(&req);
 5483   7451   
        let settings = SigningSettings {
 5484   7452   
            session_token_mode: SessionTokenMode::Include,
 5485   7453   
            ..Default::default()
 5486   7454   
        };
 5487   7455   
        let identity = Credentials::for_tests_with_session_token().into();
 5488   7456   
        let mut signing_params = signing_params(&identity, settings);
 5489   7457   
 5490   7458   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5491   7459   
        assert_eq!(
 5492   7460   
            creq.values.signed_headers().as_str(),
 5493   7461   
            "host;x-amz-date;x-amz-security-token"
 5494   7462   
        );
 5495   7463   
        assert_eq!(
 5496   7464   
            creq.headers.get("x-amz-security-token").unwrap(),
 5497   7465   
            "notarealsessiontoken"
 5498   7466   
        );
 5499   7467   
 5500   7468   
        signing_params.set_session_token_mode(SessionTokenMode::Exclude);
 5501   7469   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5502   7470   
        assert_eq!(
 5503   7471   
            creq.headers.get("x-amz-security-token").unwrap(),
 5504   7472   
            "notarealsessiontoken"
 5505   7473   
        );
 5506   7474   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5507   7475   
    }
 5508   7476   
 5509   7477   
    // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
 5510   7478   
    #[test]
 5511   7479   
    fn non_presigning_header_exclusion() {
 5512   7480   
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
 5513   7481   
index c4bbbee..363fc2c 100644
 5514         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
        7482  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 5515   7483   
@@ -6,60 +6,62 @@
 5516   7484   
use super::error::SigningError;
 5517   7485   
use super::{PayloadChecksumKind, SignatureLocation};
 5518   7486   
use crate::http_request::canonical_request::header;
 5519   7487   
use crate::http_request::canonical_request::param;
 5520   7488   
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5521   7489   
use crate::http_request::error::CanonicalRequestError;
 5522   7490   
use crate::http_request::SigningParams;
 5523   7491   
use crate::sign::v4;
 5524   7492   
#[cfg(feature = "sigv4a")]
 5525   7493   
use crate::sign::v4a;
 5526   7494   
use crate::{SignatureVersion, SigningOutput};
 5527   7495   
use http0::Uri;
 5528   7496   
use std::borrow::Cow;
 5529   7497   
use std::fmt::{Debug, Formatter};
 5530   7498   
use std::str;
 5531   7499   
 5532   7500   
const LOG_SIGNABLE_BODY: &str = "LOG_SIGNABLE_BODY";
 5533   7501   
 5534   7502   
/// Represents all of the information necessary to sign an HTTP request.
 5535   7503   
#[derive(Debug)]
 5536   7504   
#[non_exhaustive]
 5537   7505   
pub struct SignableRequest<'a> {
 5538   7506   
    method: &'a str,
 5539   7507   
    uri: Uri,
 5540   7508   
    headers: Vec<(&'a str, &'a str)>,
 5541   7509   
    body: SignableBody<'a>,
 5542   7510   
}
 5543   7511   
 5544   7512   
impl<'a> SignableRequest<'a> {
 5545   7513   
    /// Creates a new `SignableRequest`.
        7514  +
    ///
        7515  +
    /// NOTE: The `uri` is expected to already in encoded form.
 5546   7516   
    pub fn new(
 5547   7517   
        method: &'a str,
 5548   7518   
        uri: impl Into<Cow<'a, str>>,
 5549   7519   
        headers: impl Iterator<Item = (&'a str, &'a str)>,
 5550   7520   
        body: SignableBody<'a>,
 5551   7521   
    ) -> Result<Self, SigningError> {
 5552   7522   
        let uri = uri
 5553   7523   
            .into()
 5554   7524   
            .parse()
 5555   7525   
            .map_err(|e| SigningError::from(CanonicalRequestError::from(e)))?;
 5556   7526   
        let headers = headers.collect();
 5557   7527   
        Ok(Self {
 5558   7528   
            method,
 5559   7529   
            uri,
 5560   7530   
            headers,
 5561   7531   
            body,
 5562   7532   
        })
 5563   7533   
    }
 5564   7534   
 5565   7535   
    /// Returns the signable URI
 5566   7536   
    pub(crate) fn uri(&self) -> &Uri {
 5567   7537   
        &self.uri
 5568   7538   
    }
 5569   7539   
 5570   7540   
    /// Returns the signable HTTP method
 5571   7541   
    pub(crate) fn method(&self) -> &str {
 5572   7542   
        self.method
 5573   7543   
    }
 5574   7544   
 5575   7545   
    /// Returns the request headers
 5576   7546   
@@ -478,436 +480,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 5577   7547   
        sensitive,
 5578   7548   
    });
 5579   7549   
}
 5580   7550   
 5581   7551   
// add signature to authorization header
 5582   7552   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 5583   7553   
fn build_authorization_header(
 5584   7554   
    access_key: &str,
 5585   7555   
    creq: &CanonicalRequest<'_>,
 5586   7556   
    sts: StringToSign<'_>,
 5587   7557   
    signature: &str,
 5588   7558   
    signature_version: SignatureVersion,
 5589   7559   
) -> String {
 5590   7560   
    let scope = match signature_version {
 5591   7561   
        SignatureVersion::V4 => sts.scope.to_string(),
 5592   7562   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 5593   7563   
    };
 5594   7564   
    format!(
 5595   7565   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 5596   7566   
        sts.algorithm,
 5597   7567   
        access_key,
 5598   7568   
        scope,
 5599   7569   
        creq.values.signed_headers().as_str(),
 5600   7570   
        signature
 5601   7571   
    )
 5602   7572   
}
 5603   7573   
#[cfg(test)]
 5604   7574   
mod tests {
 5605   7575   
    use crate::date_time::test_parsers::parse_date_time;
 5606   7576   
    use crate::http_request::sign::{add_header, SignableRequest};
        7577  +
    use crate::http_request::test::SigningSuiteTest;
 5607   7578   
    use crate::http_request::{
 5608         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        7579  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 5609   7580   
        SigningSettings,
 5610   7581   
    };
 5611   7582   
    use crate::sign::v4;
 5612   7583   
    use aws_credential_types::Credentials;
 5613   7584   
    use http0::{HeaderValue, Request};
 5614   7585   
    use pretty_assertions::assert_eq;
 5615   7586   
    use proptest::proptest;
 5616   7587   
    use std::borrow::Cow;
 5617   7588   
    use std::iter;
 5618         -
    use std::time::Duration;
 5619   7589   
 5620   7590   
    macro_rules! assert_req_eq {
 5621   7591   
        (http: $expected:expr, $actual:expr) => {
 5622   7592   
            let mut expected = ($expected).map(|_b|"body");
 5623   7593   
            let mut actual = ($actual).map(|_b|"body");
 5624   7594   
            make_headers_comparable(&mut expected);
 5625   7595   
            make_headers_comparable(&mut actual);
 5626   7596   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 5627   7597   
        };
 5628   7598   
        ($expected:tt, $actual:tt) => {
 5629   7599   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 5630   7600   
        };
 5631   7601   
    }
 5632   7602   
 5633   7603   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 5634   7604   
        for (_name, value) in request.headers_mut() {
 5635   7605   
            value.set_sensitive(false);
 5636   7606   
        }
 5637   7607   
    }
 5638   7608   
 5639         -
    #[test]
 5640         -
    fn test_sign_vanilla_with_headers() {
 5641         -
        let settings = SigningSettings::default();
 5642         -
        let identity = &Credentials::for_tests().into();
 5643         -
        let params = v4::SigningParams {
 5644         -
            identity,
 5645         -
            region: "us-east-1",
 5646         -
            name: "service",
 5647         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5648         -
            settings,
 5649         -
        }
 5650         -
        .into();
 5651         -
 5652         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5653         -
        let signable = SignableRequest::from(&original);
 5654         -
        let out = sign(signable, &params).unwrap();
 5655         -
        assert_eq!(
 5656         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 5657         -
            out.signature
 5658         -
        );
 5659         -
 5660         -
        let mut signed = original.as_http_request();
 5661         -
        out.output.apply_to_request_http0x(&mut signed);
 5662         -
 5663         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 5664         -
        assert_req_eq!(expected, signed);
 5665         -
    }
 5666         -
        7609  +
    // Sigv4A suite tests
 5667   7610   
    #[cfg(feature = "sigv4a")]
 5668         -
    mod sigv4a_tests {
 5669         -
        use super::*;
 5670         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5671         -
        use crate::http_request::{sign, test, SigningParams};
 5672         -
        use crate::sign::v4a;
 5673         -
        use p256::ecdsa::signature::{Signature, Verifier};
 5674         -
        use p256::ecdsa::{DerSignature, SigningKey};
 5675         -
        use pretty_assertions::assert_eq;
 5676         -
 5677         -
        fn new_v4a_signing_params_from_context(
 5678         -
            test_context: &'_ test::v4a::TestContext,
 5679         -
            signature_location: SignatureLocation,
 5680         -
        ) -> SigningParams<'_> {
 5681         -
            let mut params = v4a::SigningParams::from(test_context);
 5682         -
            params.settings.signature_location = signature_location;
 5683         -
 5684         -
            params.into()
 5685         -
        }
 5686         -
 5687         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 5688         -
            let tc = test::v4a::test_context(test_name);
 5689         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 5690         -
 5691         -
            let req = test::v4a::test_request(test_name);
 5692         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 5693         -
            let signable_req = SignableRequest::from(&req);
 5694         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        7611  +
    mod v4a_suite {
        7612  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 5695   7613   
 5696         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
 5697         -
 5698         -
            let expected_string_to_sign =
 5699         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 5700         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 5701         -
            let actual_string_to_sign = StringToSign::new_v4a(
 5702         -
                *params.time(),
 5703         -
                params.region_set().unwrap(),
 5704         -
                params.name(),
 5705         -
                hashed_creq,
 5706         -
            )
 5707         -
            .to_string();
 5708         -
 5709         -
            assert_eq!(
 5710         -
                expected_string_to_sign, actual_string_to_sign,
 5711         -
                "'string to sign' didn't match"
 5712         -
            );
 5713         -
 5714         -
            let out = sign(signable_req, &params).unwrap();
 5715         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 5716         -
            out.output
 5717         -
                .apply_to_request_http0x(&mut req.as_http_request());
 5718         -
 5719         -
            let creds = params.credentials().unwrap();
 5720         -
            let signing_key =
 5721         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 5722         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 5723         -
            let sig = sig
 5724         -
                .try_into()
 5725         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 5726         -
 5727         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 5728         -
            let peer_public_key = signing_key.verifying_key();
 5729         -
            let sts = actual_string_to_sign.as_bytes();
 5730         -
            peer_public_key.verify(sts, &sig).unwrap();
        7614  +
        #[test]
        7615  +
        fn test_get_header_key_duplicate() {
        7616  +
            run_test_suite_v4a("get-header-key-duplicate")
 5731   7617   
        }
 5732   7618   
 5733   7619   
        #[test]
 5734         -
        fn test_get_header_key_duplicate() {
 5735         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        7620  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7621  +
        fn test_get_header_value_multiline() {
        7622  +
            run_test_suite_v4a("get-header-value-multiline")
 5736   7623   
        }
 5737   7624   
 5738   7625   
        #[test]
 5739   7626   
        fn test_get_header_value_order() {
 5740         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        7627  +
            run_test_suite_v4a("get-header-value-order")
 5741   7628   
        }
 5742   7629   
 5743   7630   
        #[test]
 5744   7631   
        fn test_get_header_value_trim() {
 5745         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        7632  +
            run_test_suite_v4a("get-header-value-trim");
 5746   7633   
        }
 5747   7634   
 5748   7635   
        #[test]
 5749   7636   
        fn test_get_relative_normalized() {
 5750         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        7637  +
            run_test_suite_v4a("get-relative-normalized");
 5751   7638   
        }
 5752   7639   
 5753   7640   
        #[test]
 5754   7641   
        fn test_get_relative_relative_normalized() {
 5755         -
            run_v4a_test_suite(
 5756         -
                "get-relative-relative-normalized",
 5757         -
                SignatureLocation::Headers,
 5758         -
            );
        7642  +
            run_test_suite_v4a("get-relative-relative-normalized");
 5759   7643   
        }
 5760   7644   
 5761   7645   
        #[test]
 5762   7646   
        fn test_get_relative_relative_unnormalized() {
 5763         -
            run_v4a_test_suite(
 5764         -
                "get-relative-relative-unnormalized",
 5765         -
                SignatureLocation::Headers,
 5766         -
            );
        7647  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 5767   7648   
        }
 5768   7649   
 5769   7650   
        #[test]
 5770   7651   
        fn test_get_relative_unnormalized() {
 5771         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        7652  +
            run_test_suite_v4a("get-relative-unnormalized");
 5772   7653   
        }
 5773   7654   
 5774   7655   
        #[test]
 5775   7656   
        fn test_get_slash_dot_slash_normalized() {
 5776         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        7657  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 5777   7658   
        }
 5778   7659   
 5779   7660   
        #[test]
 5780   7661   
        fn test_get_slash_dot_slash_unnormalized() {
 5781         -
            run_v4a_test_suite(
 5782         -
                "get-slash-dot-slash-unnormalized",
 5783         -
                SignatureLocation::Headers,
 5784         -
            );
        7662  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 5785   7663   
        }
 5786   7664   
 5787   7665   
        #[test]
 5788   7666   
        fn test_get_slash_normalized() {
 5789         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        7667  +
            run_test_suite_v4a("get-slash-normalized");
 5790   7668   
        }
 5791   7669   
 5792   7670   
        #[test]
 5793   7671   
        fn test_get_slash_pointless_dot_normalized() {
 5794         -
            run_v4a_test_suite(
 5795         -
                "get-slash-pointless-dot-normalized",
 5796         -
                SignatureLocation::Headers,
 5797         -
            );
        7672  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 5798   7673   
        }
 5799   7674   
 5800   7675   
        #[test]
 5801   7676   
        fn test_get_slash_pointless_dot_unnormalized() {
 5802         -
            run_v4a_test_suite(
 5803         -
                "get-slash-pointless-dot-unnormalized",
 5804         -
                SignatureLocation::Headers,
 5805         -
            );
        7677  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 5806   7678   
        }
 5807   7679   
 5808   7680   
        #[test]
 5809   7681   
        fn test_get_slash_unnormalized() {
 5810         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        7682  +
            run_test_suite_v4a("get-slash-unnormalized");
 5811   7683   
        }
 5812   7684   
 5813   7685   
        #[test]
 5814   7686   
        fn test_get_slashes_normalized() {
 5815         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        7687  +
            run_test_suite_v4a("get-slashes-normalized");
 5816   7688   
        }
 5817   7689   
 5818   7690   
        #[test]
 5819   7691   
        fn test_get_slashes_unnormalized() {
 5820         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        7692  +
            run_test_suite_v4a("get-slashes-unnormalized");
        7693  +
        }
        7694  +
        7695  +
        #[test]
        7696  +
        #[ignore = "relies on single encode of path segments"]
        7697  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7698  +
        // skipped until we add control over double_uri_encode in context.json
        7699  +
        fn test_get_space_normalized() {
        7700  +
            run_test_suite_v4a("get-space-normalized");
        7701  +
        }
        7702  +
        7703  +
        #[test]
        7704  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7705  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7706  +
        fn test_get_space_unnormalized() {
        7707  +
            run_test_suite_v4a("get-space-unnormalized");
 5821   7708   
        }
 5822   7709   
 5823   7710   
        #[test]
 5824   7711   
        fn test_get_unreserved() {
 5825         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        7712  +
            run_test_suite_v4a("get-unreserved");
        7713  +
        }
        7714  +
        7715  +
        #[test]
        7716  +
        #[ignore = "httparse fails on invalid uri character"]
        7717  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7718  +
        fn test_get_utf8() {
        7719  +
            run_test_suite_v4a("get-utf8");
 5826   7720   
        }
 5827   7721   
 5828   7722   
        #[test]
 5829   7723   
        fn test_get_vanilla() {
 5830         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        7724  +
            run_test_suite_v4a("get-vanilla");
 5831   7725   
        }
 5832   7726   
 5833   7727   
        #[test]
 5834   7728   
        fn test_get_vanilla_empty_query_key() {
 5835         -
            run_v4a_test_suite(
 5836         -
                "get-vanilla-empty-query-key",
 5837         -
                SignatureLocation::QueryParams,
 5838         -
            );
        7729  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 5839   7730   
        }
 5840   7731   
 5841   7732   
        #[test]
 5842   7733   
        fn test_get_vanilla_query() {
 5843         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        7734  +
            run_test_suite_v4a("get-vanilla-query");
        7735  +
        }
        7736  +
        7737  +
        #[test]
        7738  +
        fn test_get_vanilla_query_order_encoded() {
        7739  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 5844   7740   
        }
 5845   7741   
 5846   7742   
        #[test]
 5847   7743   
        fn test_get_vanilla_query_order_key_case() {
 5848         -
            run_v4a_test_suite(
 5849         -
                "get-vanilla-query-order-key-case",
 5850         -
                SignatureLocation::QueryParams,
 5851         -
            );
        7744  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 5852   7745   
        }
 5853   7746   
 5854   7747   
        #[test]
 5855   7748   
        fn test_get_vanilla_query_unreserved() {
 5856         -
            run_v4a_test_suite(
 5857         -
                "get-vanilla-query-unreserved",
 5858         -
                SignatureLocation::QueryParams,
 5859         -
            );
        7749  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        7750  +
        }
        7751  +
        7752  +
        #[test]
        7753  +
        #[ignore = "httparse fails on invalid uri character"]
        7754  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7755  +
        fn test_get_vanilla_utf8_query() {
        7756  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 5860   7757   
        }
 5861   7758   
 5862   7759   
        #[test]
 5863   7760   
        fn test_get_vanilla_with_session_token() {
 5864         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        7761  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 5865   7762   
        }
 5866   7763   
 5867   7764   
        #[test]
 5868   7765   
        fn test_post_header_key_case() {
 5869         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        7766  +
            run_test_suite_v4a("post-header-key-case");
 5870   7767   
        }
 5871   7768   
 5872   7769   
        #[test]
 5873   7770   
        fn test_post_header_key_sort() {
 5874         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        7771  +
            run_test_suite_v4a("post-header-key-sort");
 5875   7772   
        }
 5876   7773   
 5877   7774   
        #[test]
 5878   7775   
        fn test_post_header_value_case() {
 5879         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        7776  +
            run_test_suite_v4a("post-header-value-case");
 5880   7777   
        }
 5881   7778   
 5882   7779   
        #[test]
 5883   7780   
        fn test_post_sts_header_after() {
 5884         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        7781  +
            run_test_suite_v4a("post-sts-header-after");
 5885   7782   
        }
 5886   7783   
 5887   7784   
        #[test]
 5888   7785   
        fn test_post_sts_header_before() {
 5889         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        7786  +
            run_test_suite_v4a("post-sts-header-before");
 5890   7787   
        }
 5891   7788   
 5892   7789   
        #[test]
 5893   7790   
        fn test_post_vanilla() {
 5894         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        7791  +
            run_test_suite_v4a("post-vanilla");
 5895   7792   
        }
 5896   7793   
 5897   7794   
        #[test]
 5898   7795   
        fn test_post_vanilla_empty_query_value() {
 5899         -
            run_v4a_test_suite(
 5900         -
                "post-vanilla-empty-query-value",
 5901         -
                SignatureLocation::QueryParams,
 5902         -
            );
        7796  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 5903   7797   
        }
 5904   7798   
 5905   7799   
        #[test]
 5906   7800   
        fn test_post_vanilla_query() {
 5907         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        7801  +
            run_test_suite_v4a("post-vanilla-query");
 5908   7802   
        }
 5909   7803   
 5910   7804   
        #[test]
 5911   7805   
        fn test_post_x_www_form_urlencoded() {
 5912         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        7806  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 5913   7807   
        }
 5914   7808   
 5915   7809   
        #[test]
 5916   7810   
        fn test_post_x_www_form_urlencoded_parameters() {
 5917         -
            run_v4a_test_suite(
 5918         -
                "post-x-www-form-urlencoded-parameters",
 5919         -
                SignatureLocation::QueryParams,
 5920         -
            );
        7811  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 5921   7812   
        }
 5922   7813   
    }
 5923   7814   
 5924   7815   
    #[test]
 5925   7816   
    fn test_sign_url_escape() {
 5926         -
        let test = "double-encode-path";
        7817  +
        let test = SigningSuiteTest::v4("double-encode-path");
 5927   7818   
        let settings = SigningSettings::default();
 5928   7819   
        let identity = &Credentials::for_tests().into();
 5929   7820   
        let params = v4::SigningParams {
 5930   7821   
            identity,
 5931   7822   
            region: "us-east-1",
 5932   7823   
            name: "service",
 5933   7824   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5934   7825   
            settings,
 5935   7826   
        }
 5936   7827   
        .into();
 5937   7828   
 5938         -
        let original = test::v4::test_request(test);
        7829  +
        let original = test.request();
 5939   7830   
        let signable = SignableRequest::from(&original);
 5940   7831   
        let out = sign(signable, &params).unwrap();
 5941   7832   
        assert_eq!(
 5942   7833   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 5943   7834   
            out.signature
 5944   7835   
        );
 5945   7836   
 5946   7837   
        let mut signed = original.as_http_request();
 5947   7838   
        out.output.apply_to_request_http0x(&mut signed);
 5948   7839   
 5949         -
        let expected = test::v4::test_signed_request(test);
 5950         -
        assert_req_eq!(expected, signed);
 5951         -
    }
 5952         -
 5953         -
    #[test]
 5954         -
    fn test_sign_vanilla_with_query_params() {
 5955         -
        let settings = SigningSettings {
 5956         -
            signature_location: SignatureLocation::QueryParams,
 5957         -
            expires_in: Some(Duration::from_secs(35)),
 5958         -
            ..Default::default()
 5959         -
        };
 5960         -
        let identity = &Credentials::for_tests().into();
 5961         -
        let params = v4::SigningParams {
 5962         -
            identity,
 5963         -
            region: "us-east-1",
 5964         -
            name: "service",
 5965         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5966         -
            settings,
 5967         -
        }
 5968         -
        .into();
 5969         -
 5970         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5971         -
        let signable = SignableRequest::from(&original);
 5972         -
        let out = sign(signable, &params).unwrap();
 5973         -
        assert_eq!(
 5974         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 5975         -
            out.signature
 5976         -
        );
 5977         -
 5978         -
        let mut signed = original.as_http_request();
 5979         -
        out.output.apply_to_request_http0x(&mut signed);
 5980         -
 5981         -
        let expected =
 5982         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        7840  +
        let expected = test.signed_request(SignatureLocation::Headers);
 5983   7841   
        assert_req_eq!(expected, signed);
 5984   7842   
    }
 5985   7843   
 5986   7844   
    #[test]
 5987   7845   
    fn test_sign_headers_utf8() {
 5988   7846   
        let settings = SigningSettings::default();
 5989   7847   
        let identity = &Credentials::for_tests().into();
 5990   7848   
        let params = v4::SigningParams {
 5991   7849   
            identity,
 5992   7850   
            region: "us-east-1",
 5993   7851   
            name: "service",
 5994   7852   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5995   7853   
            settings,
 5996   7854   
        }
 5997   7855   
        .into();
 5998   7856   
 5999   7857   
        let original = http0::Request::builder()
 6000   7858   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 6001   7859   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 6002   7860   
            .body("")
 6003   7861   
            .unwrap()
 6004   7862   
            .into();
 6005   7863   
        let signable = SignableRequest::from(&original);
 6006   7864   
        let out = sign(signable, &params).unwrap();
 6007   7865   
        assert_eq!(
 6008   7866   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 6009   7867   
            out.signature
 6010   7868   
        );
 6011   7869   
 6012   7870   
        let mut signed = original.as_http_request();
 6013   7871   
@@ -1138,31 +1028,236 @@ mod tests {
 6014   7872   
        let mut request = http::Request::builder()
 6015   7873   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 6016   7874   
            .body("")
 6017   7875   
            .unwrap();
 6018   7876   
 6019   7877   
        instructions.apply_to_request_http1x(&mut request);
 6020   7878   
 6021   7879   
        assert_eq!(
 6022   7880   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 6023   7881   
            request.uri().path_and_query().unwrap().to_string()
 6024   7882   
        );
 6025   7883   
    }
 6026   7884   
 6027   7885   
    #[test]
 6028   7886   
    fn test_debug_signable_body() {
 6029   7887   
        let sut = SignableBody::Bytes(b"hello signable body");
 6030   7888   
        assert_eq!(
 6031   7889   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 6032   7890   
            format!("{sut:?}")
 6033   7891   
        );
 6034   7892   
 6035   7893   
        let sut = SignableBody::UnsignedPayload;
 6036   7894   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 6037   7895   
 6038   7896   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 6039   7897   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 6040   7898   
 6041   7899   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 6042   7900   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 6043   7901   
    }
        7902  +
        7903  +
    // v4 test suite
        7904  +
    mod v4_suite {
        7905  +
        use crate::http_request::test::run_test_suite_v4;
        7906  +
        7907  +
        #[test]
        7908  +
        fn test_get_header_key_duplicate() {
        7909  +
            run_test_suite_v4("get-header-key-duplicate");
        7910  +
        }
        7911  +
        7912  +
        #[test]
        7913  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7914  +
        fn test_get_header_value_multiline() {
        7915  +
            run_test_suite_v4("get-header-value-multiline");
        7916  +
        }
        7917  +
        7918  +
        #[test]
        7919  +
        fn test_get_header_value_order() {
        7920  +
            run_test_suite_v4("get-header-value-order");
        7921  +
        }
        7922  +
        7923  +
        #[test]
        7924  +
        fn test_get_header_value_trim() {
        7925  +
            run_test_suite_v4("get-header-value-trim");
        7926  +
        }
        7927  +
        7928  +
        #[test]
        7929  +
        fn test_get_relative_normalized() {
        7930  +
            run_test_suite_v4("get-relative-normalized");
        7931  +
        }
        7932  +
        7933  +
        #[test]
        7934  +
        fn test_get_relative_relative_normalized() {
        7935  +
            run_test_suite_v4("get-relative-relative-normalized");
        7936  +
        }
        7937  +
        7938  +
        #[test]
        7939  +
        fn test_get_relative_relative_unnormalized() {
        7940  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        7941  +
        }
        7942  +
        7943  +
        #[test]
        7944  +
        fn test_get_relative_unnormalized() {
        7945  +
            run_test_suite_v4("get-relative-unnormalized");
        7946  +
        }
        7947  +
        7948  +
        #[test]
        7949  +
        fn test_get_slash_dot_slash_normalized() {
        7950  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        7951  +
        }
        7952  +
        7953  +
        #[test]
        7954  +
        fn test_get_slash_dot_slash_unnormalized() {
        7955  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        7956  +
        }
        7957  +
        7958  +
        #[test]
        7959  +
        fn test_get_slash_normalized() {
        7960  +
            run_test_suite_v4("get-slash-normalized");
        7961  +
        }
        7962  +
        7963  +
        #[test]
        7964  +
        fn test_get_slash_pointless_dot_normalized() {
        7965  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        7966  +
        }
        7967  +
        7968  +
        #[test]
        7969  +
        fn test_get_slash_pointless_dot_unnormalized() {
        7970  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        7971  +
        }
        7972  +
        7973  +
        #[test]
        7974  +
        fn test_get_slash_unnormalized() {
        7975  +
            run_test_suite_v4("get-slash-unnormalized");
        7976  +
        }
        7977  +
        7978  +
        #[test]
        7979  +
        fn test_get_slashes_normalized() {
        7980  +
            run_test_suite_v4("get-slashes-normalized");
        7981  +
        }
        7982  +
        7983  +
        #[test]
        7984  +
        fn test_get_slashes_unnormalized() {
        7985  +
            run_test_suite_v4("get-slashes-unnormalized");
        7986  +
        }
        7987  +
        7988  +
        #[test]
        7989  +
        #[ignore = "relies on single encode of path segments"]
        7990  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7991  +
        // skipped until we add control over double_uri_encode in context.json
        7992  +
        fn test_get_space_normalized() {
        7993  +
            run_test_suite_v4("get-space-normalized");
        7994  +
        }
        7995  +
        7996  +
        #[test]
        7997  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7998  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7999  +
        fn test_get_space_unnormalized() {
        8000  +
            run_test_suite_v4("get-space-unnormalized");
        8001  +
        }
        8002  +
        8003  +
        #[test]
        8004  +
        fn test_get_unreserved() {
        8005  +
            run_test_suite_v4("get-unreserved");
        8006  +
        }
        8007  +
        8008  +
        #[test]
        8009  +
        #[ignore = "httparse fails on invalid uri character"]
        8010  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8011  +
        fn test_get_utf8() {
        8012  +
            run_test_suite_v4("get-utf8");
        8013  +
        }
        8014  +
        8015  +
        #[test]
        8016  +
        fn test_get_vanilla() {
        8017  +
            run_test_suite_v4("get-vanilla");
        8018  +
        }
        8019  +
        8020  +
        #[test]
        8021  +
        fn test_get_vanilla_empty_query_key() {
        8022  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        8023  +
        }
        8024  +
        8025  +
        #[test]
        8026  +
        fn test_get_vanilla_query() {
        8027  +
            run_test_suite_v4("get-vanilla-query");
        8028  +
        }
        8029  +
        8030  +
        #[test]
        8031  +
        fn test_get_vanilla_query_order_encoded() {
        8032  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        8033  +
        }
        8034  +
        8035  +
        #[test]
        8036  +
        fn test_get_vanilla_query_order_key_case() {
        8037  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        8038  +
        }
        8039  +
        8040  +
        #[test]
        8041  +
        fn test_get_vanilla_query_unreserved() {
        8042  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        8043  +
        }
        8044  +
        8045  +
        #[test]
        8046  +
        #[ignore = "httparse fails on invalid uri character"]
        8047  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8048  +
        fn test_get_vanilla_utf8_query() {
        8049  +
            run_test_suite_v4("get-vanilla-utf8-query");
        8050  +
        }
        8051  +
        8052  +
        #[test]
        8053  +
        fn test_get_vanilla_with_session_token() {
        8054  +
            run_test_suite_v4("get-vanilla-with-session-token");
        8055  +
        }
        8056  +
        8057  +
        #[test]
        8058  +
        fn test_post_header_key_case() {
        8059  +
            run_test_suite_v4("post-header-key-case");
        8060  +
        }
        8061  +
        8062  +
        #[test]
        8063  +
        fn test_post_header_key_sort() {
        8064  +
            run_test_suite_v4("post-header-key-sort");
        8065  +
        }
        8066  +
        8067  +
        #[test]
        8068  +
        fn test_post_header_value_case() {
        8069  +
            run_test_suite_v4("post-header-value-case");
        8070  +
        }
        8071  +
        8072  +
        #[test]
        8073  +
        fn test_post_sts_header_after() {
        8074  +
            run_test_suite_v4("post-sts-header-after");
        8075  +
        }
        8076  +
        8077  +
        #[test]
        8078  +
        fn test_post_sts_header_before() {
        8079  +
            run_test_suite_v4("post-sts-header-before");
        8080  +
        }
        8081  +
        8082  +
        #[test]
        8083  +
        fn test_post_vanilla() {
        8084  +
            run_test_suite_v4("post-vanilla");
        8085  +
        }
        8086  +
        8087  +
        #[test]
        8088  +
        fn test_post_vanilla_empty_query_value() {
        8089  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        8090  +
        }
        8091  +
        8092  +
        #[test]
        8093  +
        fn test_post_vanilla_query() {
        8094  +
            run_test_suite_v4("post-vanilla-query");
        8095  +
        }
        8096  +
        8097  +
        #[test]
        8098  +
        fn test_post_x_www_form_urlencoded() {
        8099  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        8100  +
        }
        8101  +
        8102  +
        #[test]
        8103  +
        fn test_post_x_www_form_urlencoded_parameters() {
        8104  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        8105  +
        }
        8106  +
    }
 6044   8107   
}
 6045   8108   
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
 6046   8109   
index be6c496..86eec20 100644
 6047         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        8110  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 6048   8111   
@@ -1,242 +1,453 @@
 6049   8112   
/*
 6050   8113   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 6051   8114   
 * SPDX-License-Identifier: Apache-2.0
 6052   8115   
 */
 6053   8116   
 6054   8117   
//! Functions shared between the tests of several modules.
 6055   8118   
 6056         -
use crate::http_request::{SignableBody, SignableRequest};
        8119  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        8120  +
use crate::http_request::{
        8121  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        8122  +
    SigningSettings,
        8123  +
};
        8124  +
use aws_credential_types::Credentials;
        8125  +
use aws_smithy_runtime_api::client::identity::Identity;
 6057   8126   
use http0::{Method, Uri};
        8127  +
use std::borrow::Cow;
 6058   8128   
use std::error::Error as StdError;
        8129  +
use std::time::{Duration, SystemTime};
        8130  +
use time::format_description::well_known::Rfc3339;
        8131  +
use time::OffsetDateTime;
        8132  +
        8133  +
/// Common test suite collection
        8134  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        8135  +
enum Collection {
        8136  +
    V4,
        8137  +
    V4A,
        8138  +
}
 6059   8139   
 6060         -
pub(crate) mod v4 {
 6061         -
    use super::*;
        8140  +
/// A test from the common CRT test suite
        8141  +
#[derive(Debug, Clone)]
        8142  +
pub(crate) struct SigningSuiteTest {
        8143  +
    test_name: &'static str,
        8144  +
    collection: Collection,
        8145  +
}
 6062   8146   
 6063         -
    fn path(name: &str, ext: &str) -> String {
 6064         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        8147  +
impl SigningSuiteTest {
        8148  +
    /// Create a new test from the V4 test suite
        8149  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        8150  +
        Self {
        8151  +
            test_name,
        8152  +
            collection: Collection::V4,
 6065   8153   
        }
 6066         -
 6067         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 6068         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 6069         -
        read(&path(name, "creq")).trim().to_string()
 6070   8154   
    }
 6071   8155   
 6072         -
    pub(crate) fn test_sts(name: &str) -> String {
 6073         -
        read(&path(name, "sts"))
        8156  +
    /// Create a new test from the V4a test suite
        8157  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        8158  +
        Self {
        8159  +
            test_name,
        8160  +
            collection: Collection::V4A,
 6074   8161   
        }
 6075         -
 6076         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6077         -
        test_parsed_request(name, "req")
 6078   8162   
    }
 6079   8163   
 6080         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 6081         -
        test_parsed_request(name, "sreq")
        8164  +
    /// Get the path to a file in this test suite directory
        8165  +
    fn path(&self, filename: &str) -> String {
        8166  +
        let dir = match self.collection {
        8167  +
            Collection::V4 => "v4",
        8168  +
            Collection::V4A => "v4a",
        8169  +
        };
        8170  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 6082   8171   
    }
 6083   8172   
 6084         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 6085         -
        test_parsed_request(name, "qpsreq")
        8173  +
    /// Get the HTTP request for the test
        8174  +
    pub(crate) fn request(&self) -> TestRequest {
        8175  +
        test_parsed_request(&self.path("request.txt"))
 6086   8176   
    }
 6087   8177   
 6088         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 6089         -
        let path = path(name, ext);
 6090         -
        match parse_request(read(&path).as_bytes()) {
 6091         -
            Ok(parsed) => parsed,
 6092         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        8178  +
    /// Get the signed HTTP request for the test
        8179  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        8180  +
        match signature_location {
        8181  +
            SignatureLocation::QueryParams => {
        8182  +
                test_parsed_request(&self.path("query-signed-request.txt"))
 6093   8183   
            }
        8184  +
            SignatureLocation::Headers => {
        8185  +
                test_parsed_request(&self.path("header-signed-request.txt"))
 6094   8186   
            }
 6095         -
 6096         -
    #[test]
 6097         -
    fn test_parse() {
 6098         -
        test_request("post-header-key-case");
 6099   8187   
        }
 6100         -
 6101         -
    #[test]
 6102         -
    fn test_read_query_params() {
 6103         -
        test_request("get-vanilla-query-order-key-case");
 6104   8188   
    }
 6105         -
}
 6106         -
 6107         -
#[cfg(feature = "sigv4a")]
 6108         -
pub(crate) mod v4a {
 6109         -
    use super::*;
 6110         -
    use crate::http_request::{
 6111         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 6112         -
    };
 6113         -
    use aws_credential_types::Credentials;
 6114         -
    use aws_smithy_runtime_api::client::identity::Identity;
 6115         -
    use serde_derive::Deserialize;
 6116         -
    use std::time::{Duration, SystemTime};
 6117         -
    use time::format_description::well_known::Rfc3339;
 6118         -
    use time::OffsetDateTime;
 6119   8189   
 6120         -
    fn path(test_name: &str, definition_name: &str) -> String {
 6121         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        8190  +
    /// Get the canonical request for the test
        8191  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        8192  +
        match signature_location {
        8193  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        8194  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
 6122   8195   
        }
 6123         -
 6124         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6125         -
        test_parsed_request(&path(name, "request"))
 6126   8196   
    }
 6127   8197   
 6128         -
    pub(crate) fn test_canonical_request(
 6129         -
        name: &str,
 6130         -
        signature_location: SignatureLocation,
 6131         -
    ) -> String {
        8198  +
    /// Get the string to sign for the test
        8199  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
 6132   8200   
        match signature_location {
 6133         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 6134         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        8201  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        8202  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 6135   8203   
        }
 6136   8204   
    }
 6137   8205   
 6138         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
        8206  +
    /// Get the signature for the test
        8207  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
 6139   8208   
        match signature_location {
 6140         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 6141         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        8209  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        8210  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        8211  +
        }
 6142   8212   
    }
        8213  +
        8214  +
    /// Get the test context for the test
        8215  +
    pub(crate) fn context(&self) -> TestContext {
        8216  +
        let context = read(&self.path("context.json"));
        8217  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        8218  +
        tc_builder.build()
 6143   8219   
    }
        8220  +
}
 6144   8221   
 6145         -
    fn test_parsed_request(path: &str) -> TestRequest {
        8222  +
fn test_parsed_request(path: &str) -> TestRequest {
 6146   8223   
    match parse_request(read(path).as_bytes()) {
 6147   8224   
        Ok(parsed) => parsed,
 6148   8225   
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 6149   8226   
    }
 6150         -
    }
        8227  +
}
 6151   8228   
 6152         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 6153         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 6154         -
        let context = read(&path);
 6155         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 6156         -
        tc_builder.build()
 6157         -
    }
        8229  +
fn new_v4_signing_params_from_context(
        8230  +
    test_context: &'_ TestContext,
        8231  +
    signature_location: SignatureLocation,
        8232  +
) -> crate::http_request::SigningParams<'_> {
        8233  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        8234  +
    params.settings.signature_location = signature_location;
        8235  +
    params.into()
        8236  +
}
        8237  +
        8238  +
/// Run the given test from the v4 suite for both header and query
        8239  +
/// signature locations
        8240  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        8241  +
    run_v4_test(test_name, SignatureLocation::Headers);
        8242  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        8243  +
}
        8244  +
        8245  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        8246  +
    assert_eq!(expected.scheme(), actual.scheme());
        8247  +
    assert_eq!(expected.authority(), actual.authority());
        8248  +
    assert_eq!(expected.path(), actual.path());
        8249  +
        8250  +
    // query params may be out of order
        8251  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8252  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        8253  +
    expected_params.sort();
        8254  +
        8255  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8256  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        8257  +
    actual_params.sort();
        8258  +
        8259  +
    assert_eq!(expected_params, actual_params);
        8260  +
}
 6158   8261   
 6159         -
    pub(crate) struct TestContext {
        8262  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        8263  +
    let expected = expected.as_http_request();
        8264  +
    let actual = actual;
        8265  +
    assert_eq!(expected.method(), actual.method());
        8266  +
    assert_eq!(
        8267  +
        expected.headers().len(),
        8268  +
        actual.headers().len(),
        8269  +
        "extra or missing headers"
        8270  +
    );
        8271  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        8272  +
    assert_uri_eq(expected.uri(), actual.uri());
        8273  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        8274  +
}
        8275  +
        8276  +
/// Run the given test from the v4 suite for the given signature location
        8277  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        8278  +
    let test = SigningSuiteTest::v4(test_name);
        8279  +
    let tc = test.context();
        8280  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        8281  +
        8282  +
    let req = test.request();
        8283  +
    let expected_creq = test.canonical_request(signature_location);
        8284  +
    let signable_req = SignableRequest::from(&req);
        8285  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8286  +
        8287  +
    // check canonical request
        8288  +
    assert_eq!(
        8289  +
        expected_creq,
        8290  +
        actual_creq.to_string(),
        8291  +
        "canonical request didn't match (signature location: {signature_location:?})"
        8292  +
    );
        8293  +
        8294  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        8295  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8296  +
    let actual_string_to_sign = StringToSign::new_v4(
        8297  +
        *params.time(),
        8298  +
        params.region().unwrap(),
        8299  +
        params.name(),
        8300  +
        hashed_creq,
        8301  +
    )
        8302  +
    .to_string();
        8303  +
        8304  +
    // check string to sign
        8305  +
    assert_eq!(
        8306  +
        expected_string_to_sign, actual_string_to_sign,
        8307  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        8308  +
    );
        8309  +
        8310  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        8311  +
    let mut signed = req.as_http_request();
        8312  +
    out.output.apply_to_request_http0x(&mut signed);
        8313  +
        8314  +
    // check signature
        8315  +
    assert_eq!(
        8316  +
        test.signature(signature_location),
        8317  +
        out.signature,
        8318  +
        "signature didn't match (signature location: {signature_location:?})"
        8319  +
    );
        8320  +
        8321  +
    let expected = test.signed_request(signature_location);
        8322  +
    assert_requests_eq(expected, signed);
        8323  +
}
        8324  +
        8325  +
/// Test suite context.json
        8326  +
pub(crate) struct TestContext {
 6160   8327   
    pub(crate) identity: Identity,
 6161   8328   
    pub(crate) expiration_in_seconds: u64,
 6162   8329   
    pub(crate) normalize: bool,
 6163   8330   
    pub(crate) region: String,
 6164   8331   
    pub(crate) service: String,
 6165   8332   
    pub(crate) timestamp: String,
 6166   8333   
    pub(crate) omit_session_token: bool,
 6167   8334   
    pub(crate) sign_body: bool,
 6168         -
    }
 6169         -
 6170         -
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 6171         -
        fn from(tc: &'a TestContext) -> Self {
 6172         -
            crate::sign::v4a::SigningParams {
 6173         -
                identity: &tc.identity,
 6174         -
                region_set: &tc.region,
 6175         -
                name: &tc.service,
 6176         -
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 6177         -
                    .unwrap()
 6178         -
                    .into(),
 6179         -
                settings: SigningSettings {
 6180         -
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6181         -
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 6182         -
                    uri_path_normalization_mode: tc.normalize.into(),
 6183         -
                    session_token_mode: if tc.omit_session_token {
 6184         -
                        SessionTokenMode::Exclude
 6185         -
                    } else {
 6186         -
                        SessionTokenMode::Include
 6187         -
                    },
 6188         -
                    payload_checksum_kind: if tc.sign_body {
 6189         -
                        PayloadChecksumKind::XAmzSha256
 6190         -
                    } else {
 6191         -
                        PayloadChecksumKind::NoHeader
 6192         -
                    },
 6193         -
                    ..Default::default()
 6194         -
                },
 6195         -
            }
 6196         -
        }
 6197         -
    }
        8335  +
}
 6198   8336   
 6199         -
    // Serde has limitations requiring this odd workaround.
 6200         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 6201         -
    fn return_true() -> bool {
        8337  +
// Serde has limitations requiring this odd workaround.
        8338  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        8339  +
fn return_true() -> bool {
 6202   8340   
    true
 6203         -
    }
        8341  +
}
 6204   8342   
 6205         -
    #[derive(Deserialize)]
 6206         -
    pub(crate) struct TestContextBuilder {
        8343  +
#[derive(serde_derive::Deserialize)]
        8344  +
pub(crate) struct TestContextBuilder {
 6207   8345   
    credentials: TestContextCreds,
 6208   8346   
    expiration_in_seconds: u64,
 6209   8347   
    normalize: bool,
 6210   8348   
    region: String,
 6211   8349   
    service: String,
 6212   8350   
    timestamp: String,
 6213   8351   
    #[serde(default)]
 6214   8352   
    omit_session_token: bool,
 6215   8353   
    #[serde(default = "return_true")]
 6216   8354   
    sign_body: bool,
 6217         -
    }
        8355  +
}
 6218   8356   
 6219         -
    impl TestContextBuilder {
        8357  +
impl TestContextBuilder {
 6220   8358   
    pub(crate) fn build(self) -> TestContext {
 6221   8359   
        let identity = Identity::new(
 6222   8360   
            Credentials::from_keys(
 6223   8361   
                &self.credentials.access_key_id,
 6224   8362   
                &self.credentials.secret_access_key,
 6225   8363   
                self.credentials.token.clone(),
 6226   8364   
            ),
 6227   8365   
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 6228   8366   
        );
 6229   8367   
 6230   8368   
        TestContext {
 6231   8369   
            identity,
 6232   8370   
            expiration_in_seconds: self.expiration_in_seconds,
 6233   8371   
            normalize: self.normalize,
 6234   8372   
            region: self.region,
 6235   8373   
            service: self.service,
 6236   8374   
            timestamp: self.timestamp,
 6237   8375   
            omit_session_token: self.omit_session_token,
 6238   8376   
            sign_body: self.sign_body,
 6239   8377   
        }
 6240   8378   
    }
 6241         -
    }
        8379  +
}
 6242   8380   
 6243         -
    #[derive(Deserialize)]
 6244         -
    pub(crate) struct TestContextCreds {
        8381  +
#[derive(serde_derive::Deserialize)]
        8382  +
pub(crate) struct TestContextCreds {
 6245   8383   
    access_key_id: String,
 6246   8384   
    secret_access_key: String,
 6247   8385   
    token: Option<String>,
        8386  +
}
        8387  +
        8388  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        8389  +
    fn from(tc: &'a TestContext) -> Self {
        8390  +
        crate::sign::v4::SigningParams {
        8391  +
            identity: &tc.identity,
        8392  +
            region: &tc.region,
        8393  +
            name: &tc.service,
        8394  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8395  +
                .unwrap()
        8396  +
                .into(),
        8397  +
            settings: SigningSettings {
        8398  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8399  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8400  +
                uri_path_normalization_mode: tc.normalize.into(),
        8401  +
                session_token_mode: if tc.omit_session_token {
        8402  +
                    SessionTokenMode::Exclude
        8403  +
                } else {
        8404  +
                    SessionTokenMode::Include
        8405  +
                },
        8406  +
                payload_checksum_kind: if tc.sign_body {
        8407  +
                    PayloadChecksumKind::XAmzSha256
        8408  +
                } else {
        8409  +
                    PayloadChecksumKind::NoHeader
        8410  +
                },
        8411  +
                ..Default::default()
        8412  +
            },
        8413  +
        }
        8414  +
    }
        8415  +
}
        8416  +
        8417  +
#[cfg(feature = "sigv4a")]
        8418  +
pub(crate) mod v4a {
        8419  +
    use super::*;
        8420  +
    use crate::http_request::{
        8421  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        8422  +
    };
        8423  +
    use crate::sign::v4a;
        8424  +
    use p256::ecdsa::signature::{Signature, Verifier};
        8425  +
    use p256::ecdsa::{DerSignature, SigningKey};
        8426  +
    use std::time::Duration;
        8427  +
    use time::format_description::well_known::Rfc3339;
        8428  +
    use time::OffsetDateTime;
        8429  +
        8430  +
    fn new_v4a_signing_params_from_context(
        8431  +
        test_context: &'_ TestContext,
        8432  +
        signature_location: SignatureLocation,
        8433  +
    ) -> crate::http_request::SigningParams<'_> {
        8434  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        8435  +
        params.settings.signature_location = signature_location;
        8436  +
        params.into()
        8437  +
    }
        8438  +
        8439  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        8440  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        8441  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
        8442  +
    }
        8443  +
        8444  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        8445  +
        let test = SigningSuiteTest::v4a(test_name);
        8446  +
        let tc = test.context();
        8447  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        8448  +
        8449  +
        let req = test.request();
        8450  +
        let expected_creq = test.canonical_request(signature_location);
        8451  +
        let signable_req = SignableRequest::from(&req);
        8452  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8453  +
        8454  +
        assert_eq!(
        8455  +
            expected_creq,
        8456  +
            actual_creq.to_string(),
        8457  +
            "canonical request didn't match (signature location: {signature_location:?})"
        8458  +
        );
        8459  +
        8460  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        8461  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8462  +
        let actual_string_to_sign = StringToSign::new_v4a(
        8463  +
            *params.time(),
        8464  +
            params.region_set().unwrap(),
        8465  +
            params.name(),
        8466  +
            hashed_creq,
        8467  +
        )
        8468  +
        .to_string();
        8469  +
        8470  +
        assert_eq!(
        8471  +
            expected_string_to_sign, actual_string_to_sign,
        8472  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        8473  +
        );
        8474  +
        8475  +
        let out = sign(signable_req, &params).unwrap();
        8476  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        8477  +
        out.output
        8478  +
            .apply_to_request_http0x(&mut req.as_http_request());
        8479  +
        8480  +
        let creds = params.credentials().unwrap();
        8481  +
        let signing_key =
        8482  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        8483  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        8484  +
        let sig = sig
        8485  +
            .try_into()
        8486  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        8487  +
        8488  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        8489  +
        let peer_public_key = signing_key.verifying_key();
        8490  +
        let sts = actual_string_to_sign.as_bytes();
        8491  +
        peer_public_key.verify(sts, &sig).unwrap();
        8492  +
        // TODO(sigv4a) - use public.key.json as verifying key?
        8493  +
    }
        8494  +
        8495  +
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
        8496  +
        fn from(tc: &'a TestContext) -> Self {
        8497  +
            crate::sign::v4a::SigningParams {
        8498  +
                identity: &tc.identity,
        8499  +
                region_set: &tc.region,
        8500  +
                name: &tc.service,
        8501  +
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8502  +
                    .unwrap()
        8503  +
                    .into(),
        8504  +
                settings: SigningSettings {
        8505  +
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8506  +
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8507  +
                    uri_path_normalization_mode: tc.normalize.into(),
        8508  +
                    session_token_mode: if tc.omit_session_token {
        8509  +
                        SessionTokenMode::Exclude
        8510  +
                    } else {
        8511  +
                        SessionTokenMode::Include
        8512  +
                    },
        8513  +
                    payload_checksum_kind: if tc.sign_body {
        8514  +
                        PayloadChecksumKind::XAmzSha256
        8515  +
                    } else {
        8516  +
                        PayloadChecksumKind::NoHeader
        8517  +
                    },
        8518  +
                    ..Default::default()
        8519  +
                },
        8520  +
            }
        8521  +
        }
 6248   8522   
    }
 6249   8523   
 6250   8524   
    #[test]
 6251   8525   
    fn test_parse() {
 6252         -
        let req = test_request("post-header-key-case");
        8526  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 6253   8527   
        assert_eq!(req.method, "POST");
 6254   8528   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6255   8529   
        assert!(req.headers.is_empty());
 6256   8530   
    }
 6257   8531   
 6258   8532   
    #[test]
 6259   8533   
    fn test_read_query_params() {
 6260         -
        let req = test_request("get-header-value-trim");
        8534  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 6261   8535   
        assert_eq!(req.method, "GET");
 6262   8536   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6263   8537   
        assert!(!req.headers.is_empty());
 6264   8538   
    }
 6265   8539   
}
 6266   8540   
 6267   8541   
fn read(path: &str) -> String {
 6268   8542   
    println!("Loading `{}` for test case...", path);
 6269   8543   
    let v = {
 6270   8544   
        match std::fs::read_to_string(path) {
 6271   8545   
            // This replacement is necessary for tests to pass on Windows, as reading the
 6272   8546   
            // test snapshots from the file system results in CRLF line endings being inserted.
 6273   8547   
            Ok(value) => value.replace("\r\n", "\n"),
 6274   8548   
            Err(err) => {
 6275   8549   
                panic!("failed to load test case `{}`: {}", path, err);
 6276   8550   
            }
 6277   8551   
        }
 6278   8552   
    };
 6279   8553   
 6280   8554   
    v.trim().to_string()
 6281   8555   
}
 6282   8556   
 6283   8557   
pub(crate) struct TestRequest {
 6284   8558   
    pub(crate) uri: String,
 6285   8559   
    pub(crate) method: String,
 6286   8560   
    pub(crate) headers: Vec<(String, String)>,
 6287   8561   
    pub(crate) body: TestSignedBody,
 6288   8562   
}
 6289   8563   
 6290   8564   
pub(crate) enum TestSignedBody {
 6291   8565   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 6292   8566   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 6293   8567   
                    )
 6294   8568   
                })
 6295   8569   
                .collect::<Vec<_>>(),
 6296   8570   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 6297   8571   
        }
 6298   8572   
    }
 6299   8573   
}
 6300   8574   
 6301   8575   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 6302   8576   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 6303   8577   
        SignableRequest::new(
 6304   8578   
            &request.method,
 6305   8579   
            &request.uri,
 6306   8580   
            request
 6307   8581   
                .headers
 6308   8582   
                .iter()
 6309   8583   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 6310   8584   
            request.body.as_signable_body(),
 6311   8585   
        )
 6312   8586   
        .expect("URI MUST be valid")
 6313   8587   
    }
 6314   8588   
}
 6315   8589   
 6316   8590   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 6317   8591   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 6318   8592   
    // httparse 1.5 requires two trailing newlines to head the header section.
 6319   8593   
    let mut with_newline = Vec::from(s);
 6320   8594   
    with_newline.push(b'\n');
 6321   8595   
    let mut req = httparse::Request::new(&mut headers);
 6322         -
    let _ = req.parse(&with_newline).unwrap();
        8596  +
    let status = req.parse(&with_newline).unwrap();
        8597  +
        8598  +
    let body = if status.is_complete() {
        8599  +
        let body_offset = status.unwrap();
        8600  +
        // ignore the newline we added, take from original
        8601  +
        &s[body_offset..]
        8602  +
    } else {
        8603  +
        &[]
        8604  +
    };
 6323   8605   
 6324   8606   
    let mut uri_builder = Uri::builder().scheme("https");
 6325   8607   
    if let Some(path) = req.path {
 6326   8608   
        uri_builder = uri_builder.path_and_query(path);
 6327   8609   
    }
 6328   8610   
 6329   8611   
    let mut headers = vec![];
 6330   8612   
    for header in req.headers {
 6331   8613   
        let name = header.name.to_lowercase();
 6332   8614   
        if name == "host" {
 6333   8615   
            uri_builder = uri_builder.authority(header.value);
 6334   8616   
        } else if !name.is_empty() {
 6335   8617   
            headers.push((
 6336   8618   
                header.name.to_string(),
 6337   8619   
                std::str::from_utf8(header.value)?.to_string(),
 6338   8620   
            ));
 6339   8621   
        }
 6340   8622   
    }
 6341   8623   
 6342   8624   
    Ok(TestRequest {
 6343   8625   
        uri: uri_builder.build()?.to_string(),
 6344   8626   
        method: req.method.unwrap().to_string(),
 6345   8627   
        headers,
 6346         -
        body: TestSignedBody::Bytes(vec![]),
        8628  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 6347   8629   
    })
 6348   8630   
}
 6349   8631   
 6350   8632   
#[test]
 6351   8633   
fn test_parse_headers() {
 6352   8634   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 6353   8635   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 6354   8636   
    assert_eq!(
 6355   8637   
        httparse::parse_headers(buf, &mut headers),
 6356   8638   
        Ok(httparse::Status::Complete((
 6357   8639   
            56,
 6358   8640   
            &[
 6359   8641   
                httparse::Header {
 6360   8642   
                    name: "Host",
 6361   8643   
                    value: b"example.amazonaws.com",
 6362   8644   
                },
 6363   8645   
                httparse::Header {
 6364   8646   
                    name: "X-Amz-Date",
 6365   8647   
                    value: b"20150830T123600Z",
 6366   8648   
                }
 6367   8649   
            ][..]
 6368   8650   
        )))
 6369   8651   
    );
 6370   8652   
}
 6371   8653   
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
 6372   8654   
index a208453..fc00249 100644
 6373         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        8655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 6374   8656   
@@ -168,52 +168,54 @@ pub mod signing_params {
 6375   8657   
        );
 6376   8658   
 6377   8659   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 6378   8660   
        /// a required argument was not given.
 6379   8661   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 6380   8662   
            Ok(SigningParams {
 6381   8663   
                identity: self
 6382   8664   
                    .identity
 6383   8665   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 6384   8666   
                region: self
 6385   8667   
                    .region
 6386   8668   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 6387   8669   
                name: self
 6388   8670   
                    .name
 6389   8671   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 6390   8672   
                time: self
 6391   8673   
                    .time
 6392   8674   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 6393   8675   
                settings: self
 6394   8676   
                    .settings
 6395   8677   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 6396   8678   
            })
 6397   8679   
        }
 6398   8680   
    }
 6399   8681   
}
 6400   8682   
 6401   8683   
#[cfg(test)]
 6402   8684   
mod tests {
 6403   8685   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 6404   8686   
    use crate::date_time::test_parsers::parse_date_time;
 6405         -
    use crate::http_request::test;
 6406   8687   
 6407   8688   
    #[test]
 6408   8689   
    fn test_signature_calculation() {
 6409   8690   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 6410         -
        let creq = test::v4::test_canonical_request("iam");
        8691  +
        let creq = r#"AWS4-HMAC-SHA256
        8692  +
20150830T123600Z
        8693  +
20150830/us-east-1/iam/aws4_request
        8694  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 6411   8695   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6412   8696   
 6413   8697   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 6414   8698   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 6415   8699   
 6416   8700   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 6417   8701   
        assert_eq!(expected, &signature);
 6418   8702   
    }
 6419   8703   
 6420   8704   
    #[test]
 6421   8705   
    fn sign_payload_empty_string() {
 6422   8706   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 6423   8707   
        let actual = sha256_hex_string([]);
 6424   8708   
        assert_eq!(expected, actual);
 6425   8709   
    }
 6426   8710   
}
 6427   8711   
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
 6428   8712   
index ce78c38..8c2f591 100644
 6429         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        8713  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 6430   8714   
@@ -1,43 +1,43 @@
 6431   8715   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6432   8716   
[package]
 6433   8717   
name = "aws-smithy-checksums"
 6434   8718   
version = "0.63.5"
 6435   8719   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 6436   8720   
description = "Checksum calculation and verification callbacks"
 6437   8721   
edition = "2021"
 6438   8722   
license = "Apache-2.0"
 6439   8723   
repository = "https://github.com/smithy-lang/smithy-rs"
 6440   8724   
[package.metadata.docs.rs]
 6441   8725   
all-features = true
 6442   8726   
targets = ["x86_64-unknown-linux-gnu"]
 6443   8727   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6444   8728   
rustdoc-args = ["--cfg", "docsrs"]
 6445   8729   
 6446   8730   
[dependencies]
 6447   8731   
bytes = "1.10.0"
 6448   8732   
crc-fast = "1.3.0"
 6449   8733   
hex = "0.4.3"
 6450   8734   
http = "0.2.9"
 6451   8735   
http-body = "0.4.5"
 6452   8736   
md-5 = "0.10"
 6453   8737   
pin-project-lite = "0.2.14"
 6454   8738   
sha1 = "0.10"
 6455   8739   
sha2 = "0.10"
 6456   8740   
tracing = "0.1.40"
 6457   8741   
 6458   8742   
[dependencies.aws-smithy-http]
 6459   8743   
path = "../aws-smithy-http"
 6460         -
version = "0.62.2"
        8744  +
version = "0.62.3"
 6461   8745   
 6462   8746   
[dependencies.aws-smithy-types]
 6463   8747   
path = "../aws-smithy-types"
 6464   8748   
version = "1.3.2"
 6465   8749   
 6466   8750   
[dev-dependencies]
 6467   8751   
bytes-utils = "0.1.2"
 6468   8752   
pretty_assertions = "1.3"
 6469   8753   
tracing-test = "0.2.1"
 6470   8754   
 6471   8755   
[dev-dependencies.tokio]
 6472   8756   
version = "1.23.1"
 6473   8757   
features = ["macros", "rt"]
 6474   8758   
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
 6475   8759   
index 970c99e..d3c7a49 100644
 6476         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        8760  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 6477   8761   
@@ -1,34 +1,34 @@
 6478   8762   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6479   8763   
[package]
 6480   8764   
name = "aws-smithy-http"
 6481         -
version = "0.62.2"
        8765  +
version = "0.62.3"
 6482   8766   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6483   8767   
description = "Smithy HTTP logic for smithy-rs."
 6484   8768   
edition = "2021"
 6485   8769   
license = "Apache-2.0"
 6486   8770   
repository = "https://github.com/smithy-lang/smithy-rs"
 6487   8771   
[package.metadata.docs.rs]
 6488   8772   
all-features = true
 6489   8773   
targets = ["x86_64-unknown-linux-gnu"]
 6490   8774   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6491   8775   
rustdoc-args = ["--cfg", "docsrs"]
 6492   8776   
 6493   8777   
[features]
 6494   8778   
event-stream = ["aws-smithy-eventstream"]
 6495   8779   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 6496   8780   
 6497   8781   
[dependencies]
 6498   8782   
bytes = "1.10.0"
 6499   8783   
bytes-utils = "0.1"
 6500   8784   
percent-encoding = "2.3.1"
 6501   8785   
pin-project-lite = "0.2.14"
 6502   8786   
pin-utils = "0.1.0"
 6503   8787   
tracing = "0.1.40"
 6504   8788   
futures-core = "0.3.31"
 6505   8789   
 6506   8790   
[dependencies.aws-smithy-eventstream]
 6507   8791   
path = "../aws-smithy-eventstream"
 6508   8792   
optional = true
 6509   8793   
version = "0.60.10"
 6510   8794   
 6511   8795   
[dependencies.aws-smithy-runtime-api]
 6512   8796   
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
 6513   8797   
index 508f7a2..361545e 100644
 6514         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        8798  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 6515   8799   
@@ -1,27 +1,27 @@
 6516   8800   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6517   8801   
[[bin]]
 6518   8802   
name = "read_many_from_str"
 6519   8803   
path = "fuzz_targets/read_many_from_str.rs"
 6520   8804   
test = false
 6521   8805   
doc = false
 6522   8806   
 6523   8807   
[package]
 6524   8808   
name = "aws-smithy-http-fuzz"
 6525   8809   
version = "0.0.0"
 6526   8810   
authors = ["Automatically generated"]
 6527   8811   
publish = false
 6528   8812   
edition = "2021"
 6529   8813   
 6530   8814   
[package.metadata]
 6531   8815   
cargo-fuzz = true
 6532   8816   
 6533   8817   
[dependencies]
 6534   8818   
libfuzzer-sys = "=0.4.7"
 6535   8819   
http = "0.2.3"
 6536   8820   
 6537   8821   
[dependencies.aws-smithy-http]
 6538   8822   
path = ".."
 6539         -
version = "0.62.2"
        8823  +
version = "0.62.3"
 6540   8824   
 6541   8825   
[workspace]
 6542   8826   
members = ["."]
 6543   8827   
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
 6544   8828   
index fef41d0..7694da6 100644
 6545         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        8829  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 6546   8830   
@@ -25,68 +25,73 @@ impl QueryWriter {
 6547   8831   
    pub fn new(uri: &Uri) -> Self {
 6548   8832   
        let new_path_and_query = uri
 6549   8833   
            .path_and_query()
 6550   8834   
            .map(|pq| pq.to_string())
 6551   8835   
            .unwrap_or_default();
 6552   8836   
        let prefix = if uri.query().is_none() {
 6553   8837   
            Some('?')
 6554   8838   
        } else if !uri.query().unwrap_or_default().is_empty() {
 6555   8839   
            Some('&')
 6556   8840   
        } else {
 6557   8841   
            None
 6558   8842   
        };
 6559   8843   
        QueryWriter {
 6560   8844   
            base_uri: uri.clone(),
 6561   8845   
            new_path_and_query,
 6562   8846   
            prefix,
 6563   8847   
        }
 6564   8848   
    }
 6565   8849   
 6566   8850   
    /// Clears all query parameters.
 6567   8851   
    pub fn clear_params(&mut self) {
 6568   8852   
        if let Some(index) = self.new_path_and_query.find('?') {
 6569   8853   
            self.new_path_and_query.truncate(index);
 6570   8854   
            self.prefix = Some('?');
 6571   8855   
        }
 6572   8856   
    }
 6573   8857   
 6574   8858   
    /// Inserts a new query parameter. The key and value are percent encoded
 6575   8859   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 6576   8860   
    pub fn insert(&mut self, k: &str, v: &str) {
        8861  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        8862  +
    }
        8863  +
        8864  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        8865  +
    /// as is.
        8866  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 6577   8867   
        if let Some(prefix) = self.prefix {
 6578   8868   
            self.new_path_and_query.push(prefix);
 6579   8869   
        }
 6580   8870   
        self.prefix = Some('&');
 6581         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        8871  +
        self.new_path_and_query.push_str(encoded_k);
 6582   8872   
        self.new_path_and_query.push('=');
 6583         -
 6584         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
        8873  +
        self.new_path_and_query.push_str(encoded_v)
 6585   8874   
    }
 6586   8875   
 6587   8876   
    /// Returns just the built query string.
 6588   8877   
    pub fn build_query(self) -> String {
 6589   8878   
        self.build_uri().query().unwrap_or_default().to_string()
 6590   8879   
    }
 6591   8880   
 6592   8881   
    /// Returns a full [`Uri`] with the query string updated.
 6593   8882   
    pub fn build_uri(self) -> Uri {
 6594   8883   
        let mut parts = self.base_uri.into_parts();
 6595   8884   
        parts.path_and_query = Some(
 6596   8885   
            self.new_path_and_query
 6597   8886   
                .parse()
 6598   8887   
                .expect("adding query should not invalidate URI"),
 6599   8888   
        );
 6600   8889   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 6601   8890   
    }
 6602   8891   
}
 6603   8892   
 6604   8893   
#[cfg(test)]
 6605   8894   
mod test {
 6606   8895   
    use super::QueryWriter;
 6607   8896   
    use http_02x::Uri;
 6608   8897   
 6609   8898   
    #[test]
 6610   8899   
    fn empty_uri() {
 6611   8900   
        let uri = Uri::from_static("http://www.example.com");
 6612   8901   
        let mut query_writer = QueryWriter::new(&uri);
 6613   8902   
        query_writer.insert("key", "val%ue");
 6614   8903   
        query_writer.insert("another", "value");
 6615   8904   
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
 6616   8905   
index f108978..df7a9fe 100644
 6617         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
        8906  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 6618   8907   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 6619   8908   
 6620   8909   
[package.metadata.smithy-rs-release-tooling]
 6621   8910   
stable = true
 6622   8911   
[package.metadata.cargo-udeps.ignore]
 6623   8912   
normal = ["aws-smithy-http"]
 6624   8913   
 6625   8914   
[features]
 6626   8915   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 6627   8916   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 6628   8917   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 6629   8918   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 6630   8919   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 6631   8920   
rt-tokio = ["tokio/rt"]
 6632   8921   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 6633   8922   
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"]
 6634   8923   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 6635   8924   
 6636   8925   
[dependencies]
 6637   8926   
bytes = "1.10.0"
 6638   8927   
fastrand = "2.3.0"
 6639   8928   
pin-project-lite = "0.2.14"
 6640   8929   
pin-utils = "0.1.0"
 6641   8930   
tracing = "0.1.40"
 6642   8931   
 6643   8932   
[dependencies.aws-smithy-async]
 6644   8933   
path = "../aws-smithy-async"
 6645   8934   
version = "1.2.5"
 6646   8935   
 6647   8936   
[dependencies.aws-smithy-http]
 6648   8937   
path = "../aws-smithy-http"
 6649         -
version = "0.62.2"
        8938  +
version = "0.62.3"
 6650   8939   
 6651   8940   
[dependencies.aws-smithy-observability]
 6652   8941   
path = "../aws-smithy-observability"
 6653   8942   
version = "0.1.3"
 6654   8943   
 6655   8944   
[dependencies.aws-smithy-runtime-api]
 6656   8945   
path = "../aws-smithy-runtime-api"
 6657   8946   
version = "1.8.5"
 6658   8947   
 6659   8948   
[dependencies.aws-smithy-types]
 6660   8949   
path = "../aws-smithy-types"
 6661   8950   
features = ["http-body-0-4-x"]
 6662   8951   
version = "1.3.2"
 6663   8952   
 6664   8953   
[dependencies.aws-smithy-http-client]
 6665   8954   
path = "../aws-smithy-http-client"
 6666   8955   
optional = true
 6667   8956   
version = "1.0.6"
 6668   8957   
 6669   8958   
[dependencies.http-02x]
 6670   8959   
package = "http"
 6671   8960   
version = "0.2.9"
 6672   8961   
 6673   8962   
[dependencies.http-1x]
 6674   8963   
package = "http"
 6675   8964   
version = "1"
 6676   8965   
 6677   8966   
[dependencies.http-body-04x]
 6678   8967   
package = "http-body"
 6679   8968   
version = "0.4.5"
 6680   8969   
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
 6681   8970   
index 4e050c6..f58eb1c 100644
 6682         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
        8971  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 6683   8972   
@@ -1,33 +1,33 @@
 6684   8973   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6685   8974   
[package]
 6686   8975   
name = "aws-smithy-wasm"
 6687   8976   
version = "0.1.4"
 6688   8977   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 6689   8978   
description = "Smithy WebAssembly configuration for smithy-rs."
 6690   8979   
edition = "2021"
 6691   8980   
license = "Apache-2.0"
 6692   8981   
repository = "https://github.com/awslabs/smithy-rs"
 6693   8982   
[package.metadata.docs.rs]
 6694   8983   
all-features = true
 6695   8984   
targets = ["x86_64-unknown-linux-gnu"]
 6696   8985   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6697   8986   
rustdoc-args = ["--cfg", "docsrs"]
 6698   8987   
 6699   8988   
[dependencies]
 6700   8989   
bytes = "1.10.0"
 6701   8990   
http = "1.0.0"
 6702   8991   
tracing = "0.1.40"
 6703   8992   
wasi = "0.12.1"
 6704   8993   
 6705   8994   
[dependencies.aws-smithy-runtime-api]
 6706   8995   
path = "../aws-smithy-runtime-api"
 6707   8996   
features = ["http-1x"]
 6708   8997   
version = "1.8.5"
 6709   8998   
 6710   8999   
[dependencies.aws-smithy-http]
 6711   9000   
path = "../aws-smithy-http"
 6712         -
version = "0.62.2"
        9001  +
version = "0.62.3"
 6713   9002   
 6714   9003   
[dependencies.aws-smithy-types]
 6715   9004   
path = "../aws-smithy-types"
 6716   9005   
version = "1.3.2"
 6717   9006   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6718   9007   
index a880648..139e808 100644
 6719         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
        9008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6720   9009   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 6721   9010   
edition = "2021"
 6722   9011   
license = "Apache-2.0"
 6723   9012   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6724   9013   
rust-version = "1.86.0"
 6725   9014   
readme = "README.md"
 6726   9015   
[package.metadata.smithy]
 6727   9016   
codegen-version = "ci"
 6728   9017   
[package.metadata.docs.rs]
 6729   9018   
all-features = true
 6730   9019   
targets = ["x86_64-unknown-linux-gnu"]
 6731   9020   
[dependencies.aws-credential-types]
 6732   9021   
path = "../aws-credential-types"
 6733   9022   
version = "1.2.4"
 6734   9023   
 6735   9024   
[dependencies.aws-runtime]
 6736   9025   
path = "../aws-runtime"
 6737   9026   
features = ["event-stream"]
 6738   9027   
version = "1.5.9"
 6739   9028   
 6740   9029   
[dependencies.aws-smithy-async]
 6741   9030   
path = "../aws-smithy-async"
 6742   9031   
version = "1.2.5"
 6743   9032   
 6744   9033   
[dependencies.aws-smithy-eventstream]
 6745   9034   
path = "../aws-smithy-eventstream"
 6746   9035   
version = "0.60.10"
 6747   9036   
 6748   9037   
[dependencies.aws-smithy-http]
 6749   9038   
path = "../aws-smithy-http"
 6750   9039   
features = ["event-stream"]
 6751         -
version = "0.62.2"
        9040  +
version = "0.62.3"
 6752   9041   
 6753   9042   
[dependencies.aws-smithy-json]
 6754   9043   
path = "../aws-smithy-json"
 6755   9044   
version = "0.61.4"
 6756   9045   
 6757   9046   
[dependencies.aws-smithy-runtime]
 6758   9047   
path = "../aws-smithy-runtime"
 6759   9048   
features = ["client"]
 6760   9049   
version = "1.8.5"
 6761   9050   
 6762   9051   
[dependencies.aws-smithy-runtime-api]
 6763   9052   
path = "../aws-smithy-runtime-api"
 6764   9053   
features = ["client", "http-02x"]
 6765   9054   
version = "1.8.5"
 6766   9055   
 6767   9056   
[dependencies.aws-smithy-types]
 6768   9057   
path = "../aws-smithy-types"
 6769   9058   
version = "1.3.2"
 6770   9059   
 6771   9060   
[dependencies.aws-types]
 6772   9061   
path = "../aws-types"
 6773   9062   
version = "1.3.8"
 6774   9063   
 6775   9064   
[dependencies.bytes]
 6776   9065   
version = "1.4.0"
 6777   9066   
 6778   9067   
[dependencies.fastrand]
 6779   9068   
version = "2.0.0"
 6780   9069   
 6781   9070   
[dependencies.http]
 6782   9071   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6783   9072   
index 415ecc9..667d12b 100644
 6784         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
        9073  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6785   9074   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 6786   9075   
edition = "2021"
 6787   9076   
license = "Apache-2.0"
 6788   9077   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6789   9078   
rust-version = "1.86.0"
 6790   9079   
readme = "README.md"
 6791   9080   
[package.metadata.smithy]
 6792   9081   
codegen-version = "ci"
 6793   9082   
[package.metadata.docs.rs]
 6794   9083   
all-features = true
 6795   9084   
targets = ["x86_64-unknown-linux-gnu"]
 6796   9085   
[dependencies.aws-credential-types]
 6797   9086   
path = "../aws-credential-types"
 6798   9087   
version = "1.2.4"
 6799   9088   
 6800   9089   
[dependencies.aws-runtime]
 6801   9090   
path = "../aws-runtime"
 6802   9091   
features = ["event-stream"]
 6803   9092   
version = "1.5.9"
 6804   9093   
 6805   9094   
[dependencies.aws-smithy-async]
 6806   9095   
path = "../aws-smithy-async"
 6807   9096   
version = "1.2.5"
 6808   9097   
 6809   9098   
[dependencies.aws-smithy-eventstream]
 6810   9099   
path = "../aws-smithy-eventstream"
 6811   9100   
version = "0.60.10"
 6812   9101   
 6813   9102   
[dependencies.aws-smithy-http]
 6814   9103   
path = "../aws-smithy-http"
 6815   9104   
features = ["event-stream"]
 6816         -
version = "0.62.2"
        9105  +
version = "0.62.3"
 6817   9106   
 6818   9107   
[dependencies.aws-smithy-json]
 6819   9108   
path = "../aws-smithy-json"
 6820   9109   
version = "0.61.4"
 6821   9110   
 6822   9111   
[dependencies.aws-smithy-runtime]
 6823   9112   
path = "../aws-smithy-runtime"
 6824   9113   
features = ["client"]
 6825   9114   
version = "1.8.5"
 6826   9115   
 6827   9116   
[dependencies.aws-smithy-runtime-api]
 6828   9117   
path = "../aws-smithy-runtime-api"
 6829   9118   
features = ["client", "http-02x"]
 6830   9119   
version = "1.8.5"
 6831   9120   
 6832   9121   
[dependencies.aws-smithy-types]
 6833   9122   
path = "../aws-smithy-types"
 6834   9123   
version = "1.3.2"
 6835   9124   
 6836   9125   
[dependencies.aws-types]
 6837   9126   
path = "../aws-types"
 6838   9127   
version = "1.3.8"
 6839   9128   
 6840   9129   
[dependencies.bytes]
 6841   9130   
version = "1.4.0"
 6842   9131   
 6843   9132   
[dependencies.fastrand]
 6844   9133   
version = "2.0.0"
 6845   9134   
 6846   9135   
[dependencies.http]
 6847   9136   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6848   9137   
index 8871cab..ed88de6 100644
 6849         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
        9138  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6850   9139   
@@ -1,61 +1,61 @@
 6851   9140   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6852   9141   
[package]
 6853   9142   
name = "aws-sdk-codecatalyst"
 6854   9143   
version = "0.0.0-local"
 6855   9144   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6856   9145   
description = "AWS SDK for Amazon CodeCatalyst"
 6857   9146   
edition = "2021"
 6858   9147   
license = "Apache-2.0"
 6859   9148   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6860   9149   
rust-version = "1.86.0"
 6861   9150   
readme = "README.md"
 6862   9151   
[package.metadata.smithy]
 6863   9152   
codegen-version = "ci"
 6864   9153   
[package.metadata.docs.rs]
 6865   9154   
all-features = true
 6866   9155   
targets = ["x86_64-unknown-linux-gnu"]
 6867   9156   
[dependencies.aws-credential-types]
 6868   9157   
path = "../aws-credential-types"
 6869   9158   
version = "1.2.4"
 6870   9159   
 6871   9160   
[dependencies.aws-runtime]
 6872   9161   
path = "../aws-runtime"
 6873   9162   
version = "1.5.9"
 6874   9163   
 6875   9164   
[dependencies.aws-smithy-async]
 6876   9165   
path = "../aws-smithy-async"
 6877   9166   
version = "1.2.5"
 6878   9167   
 6879   9168   
[dependencies.aws-smithy-http]
 6880   9169   
path = "../aws-smithy-http"
 6881         -
version = "0.62.2"
        9170  +
version = "0.62.3"
 6882   9171   
 6883   9172   
[dependencies.aws-smithy-json]
 6884   9173   
path = "../aws-smithy-json"
 6885   9174   
version = "0.61.4"
 6886   9175   
 6887   9176   
[dependencies.aws-smithy-runtime]
 6888   9177   
path = "../aws-smithy-runtime"
 6889   9178   
features = ["client", "http-auth"]
 6890   9179   
version = "1.8.5"
 6891   9180   
 6892   9181   
[dependencies.aws-smithy-runtime-api]
 6893   9182   
path = "../aws-smithy-runtime-api"
 6894   9183   
features = ["client", "http-02x", "http-auth"]
 6895   9184   
version = "1.8.5"
 6896   9185   
 6897   9186   
[dependencies.aws-smithy-types]
 6898   9187   
path = "../aws-smithy-types"
 6899   9188   
version = "1.3.2"
 6900   9189   
 6901   9190   
[dependencies.aws-types]
 6902   9191   
path = "../aws-types"
 6903   9192   
version = "1.3.8"
 6904   9193   
 6905   9194   
[dependencies.bytes]
 6906   9195   
version = "1.4.0"
 6907   9196   
 6908   9197   
[dependencies.fastrand]
 6909   9198   
version = "2.0.0"
 6910   9199   
 6911   9200   
[dependencies.http]
 6912   9201   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6913   9202   
index 89573ff..05238af 100644
 6914         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
        9203  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6915   9204   
@@ -1,61 +1,61 @@
 6916   9205   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6917   9206   
[package]
 6918   9207   
name = "aws-sdk-config"
 6919   9208   
version = "0.0.0-local"
 6920   9209   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6921   9210   
description = "AWS SDK for AWS Config"
 6922   9211   
edition = "2021"
 6923   9212   
license = "Apache-2.0"
 6924   9213   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6925   9214   
rust-version = "1.86.0"
 6926   9215   
readme = "README.md"
 6927   9216   
[package.metadata.smithy]
 6928   9217   
codegen-version = "ci"
 6929   9218   
[package.metadata.docs.rs]
 6930   9219   
all-features = true
 6931   9220   
targets = ["x86_64-unknown-linux-gnu"]
 6932   9221   
[dependencies.aws-credential-types]
 6933   9222   
path = "../aws-credential-types"
 6934   9223   
version = "1.2.4"
 6935   9224   
 6936   9225   
[dependencies.aws-runtime]
 6937   9226   
path = "../aws-runtime"
 6938   9227   
version = "1.5.9"
 6939   9228   
 6940   9229   
[dependencies.aws-smithy-async]
 6941   9230   
path = "../aws-smithy-async"
 6942   9231   
version = "1.2.5"
 6943   9232   
 6944   9233   
[dependencies.aws-smithy-http]
 6945   9234   
path = "../aws-smithy-http"
 6946         -
version = "0.62.2"
        9235  +
version = "0.62.3"
 6947   9236   
 6948   9237   
[dependencies.aws-smithy-json]
 6949   9238   
path = "../aws-smithy-json"
 6950   9239   
version = "0.61.4"
 6951   9240   
 6952   9241   
[dependencies.aws-smithy-runtime]
 6953   9242   
path = "../aws-smithy-runtime"
 6954   9243   
features = ["client"]
 6955   9244   
version = "1.8.5"
 6956   9245   
 6957   9246   
[dependencies.aws-smithy-runtime-api]
 6958   9247   
path = "../aws-smithy-runtime-api"
 6959   9248   
features = ["client", "http-02x"]
 6960   9249   
version = "1.8.5"
 6961   9250   
 6962   9251   
[dependencies.aws-smithy-types]
 6963   9252   
path = "../aws-smithy-types"
 6964   9253   
version = "1.3.2"
 6965   9254   
 6966   9255   
[dependencies.aws-types]
 6967   9256   
path = "../aws-types"
 6968   9257   
version = "1.3.8"
 6969   9258   
 6970   9259   
[dependencies.bytes]
 6971   9260   
version = "1.4.0"
 6972   9261   
 6973   9262   
[dependencies.fastrand]
 6974   9263   
version = "2.0.0"
 6975   9264   
 6976   9265   
[dependencies.http]
 6977   9266   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 6978   9267   
index d397c58..2c1062b 100644
 6979         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
        9268  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 6980   9269   
@@ -1,61 +1,61 @@
 6981   9270   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6982   9271   
[package]
 6983   9272   
name = "aws-sdk-dynamodb"
 6984   9273   
version = "0.0.0-local"
 6985   9274   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6986   9275   
description = "AWS SDK for Amazon DynamoDB"
 6987   9276   
edition = "2021"
 6988   9277   
license = "Apache-2.0"
 6989   9278   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6990   9279   
rust-version = "1.86.0"
 6991   9280   
readme = "README.md"
 6992   9281   
[package.metadata.smithy]
 6993   9282   
codegen-version = "ci"
 6994   9283   
[package.metadata.docs.rs]
 6995   9284   
all-features = true
 6996   9285   
targets = ["x86_64-unknown-linux-gnu"]
 6997   9286   
[dependencies.aws-credential-types]
 6998   9287   
path = "../aws-credential-types"
 6999   9288   
version = "1.2.4"
 7000   9289   
 7001   9290   
[dependencies.aws-runtime]
 7002   9291   
path = "../aws-runtime"
 7003   9292   
version = "1.5.9"
 7004   9293   
 7005   9294   
[dependencies.aws-smithy-async]
 7006   9295   
path = "../aws-smithy-async"
 7007   9296   
version = "1.2.5"
 7008   9297   
 7009   9298   
[dependencies.aws-smithy-http]
 7010   9299   
path = "../aws-smithy-http"
 7011         -
version = "0.62.2"
        9300  +
version = "0.62.3"
 7012   9301   
 7013   9302   
[dependencies.aws-smithy-json]
 7014   9303   
path = "../aws-smithy-json"
 7015   9304   
version = "0.61.4"
 7016   9305   
 7017   9306   
[dependencies.aws-smithy-runtime]
 7018   9307   
path = "../aws-smithy-runtime"
 7019   9308   
features = ["client"]
 7020   9309   
version = "1.8.5"
 7021   9310   
 7022   9311   
[dependencies.aws-smithy-runtime-api]
 7023   9312   
path = "../aws-smithy-runtime-api"
 7024   9313   
features = ["client", "http-02x"]
 7025   9314   
version = "1.8.5"
 7026   9315   
 7027   9316   
[dependencies.aws-smithy-types]
 7028   9317   
path = "../aws-smithy-types"
 7029   9318   
version = "1.3.2"
 7030   9319   
 7031   9320   
[dependencies.aws-types]
 7032   9321   
path = "../aws-types"
 7033   9322   
version = "1.3.8"
 7034   9323   
 7035   9324   
[dependencies.bytes]
 7036   9325   
version = "1.4.0"
 7037   9326   
 7038   9327   
[dependencies.fastrand]
 7039   9328   
version = "2.0.0"
 7040   9329   
 7041   9330   
[dependencies.http]
 7042   9331   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 7043   9332   
index c0ba315..46168af 100644
 7044         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
        9333  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 7045   9334   
@@ -1,61 +1,61 @@
 7046   9335   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7047   9336   
[package]
 7048   9337   
name = "aws-sdk-ec2"
 7049   9338   
version = "0.0.0-local"
 7050   9339   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7051   9340   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 7052   9341   
edition = "2021"
 7053   9342   
license = "Apache-2.0"
 7054   9343   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7055   9344   
rust-version = "1.86.0"
 7056   9345   
readme = "README.md"
 7057   9346   
[package.metadata.smithy]
 7058   9347   
codegen-version = "ci"
 7059   9348   
[package.metadata.docs.rs]
 7060   9349   
all-features = true
 7061   9350   
targets = ["x86_64-unknown-linux-gnu"]
 7062   9351   
[dependencies.aws-credential-types]
 7063   9352   
path = "../aws-credential-types"
 7064   9353   
version = "1.2.4"
 7065   9354   
 7066   9355   
[dependencies.aws-runtime]
 7067   9356   
path = "../aws-runtime"
 7068   9357   
version = "1.5.9"
 7069   9358   
 7070   9359   
[dependencies.aws-smithy-async]
 7071   9360   
path = "../aws-smithy-async"
 7072   9361   
version = "1.2.5"
 7073   9362   
 7074   9363   
[dependencies.aws-smithy-http]
 7075   9364   
path = "../aws-smithy-http"
 7076         -
version = "0.62.2"
        9365  +
version = "0.62.3"
 7077   9366   
 7078   9367   
[dependencies.aws-smithy-json]
 7079   9368   
path = "../aws-smithy-json"
 7080   9369   
version = "0.61.4"
 7081   9370   
 7082   9371   
[dependencies.aws-smithy-query]
 7083   9372   
path = "../aws-smithy-query"
 7084   9373   
version = "0.60.7"
 7085   9374   
 7086   9375   
[dependencies.aws-smithy-runtime]
 7087   9376   
path = "../aws-smithy-runtime"
 7088   9377   
features = ["client"]
 7089   9378   
version = "1.8.5"
 7090   9379   
 7091   9380   
[dependencies.aws-smithy-runtime-api]
 7092   9381   
path = "../aws-smithy-runtime-api"
 7093   9382   
features = ["client", "http-02x"]
 7094   9383   
version = "1.8.5"
 7095   9384   
 7096   9385   
[dependencies.aws-smithy-types]
 7097   9386   
path = "../aws-smithy-types"
 7098   9387   
version = "1.3.2"
 7099   9388   
 7100   9389   
[dependencies.aws-smithy-xml]
 7101   9390   
path = "../aws-smithy-xml"
 7102   9391   
version = "0.60.10"
 7103   9392   
 7104   9393   
[dependencies.aws-types]
 7105   9394   
path = "../aws-types"
 7106   9395   
version = "1.3.8"
 7107   9396   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7108   9397   
index 4474d17..095d40e 100644
 7109         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
        9398  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7110   9399   
@@ -1,61 +1,61 @@
 7111   9400   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7112   9401   
[package]
 7113   9402   
name = "aws-sdk-ecs"
 7114   9403   
version = "0.0.0-local"
 7115   9404   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7116   9405   
description = "AWS SDK for Amazon EC2 Container Service"
 7117   9406   
edition = "2021"
 7118   9407   
license = "Apache-2.0"
 7119   9408   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7120   9409   
rust-version = "1.86.0"
 7121   9410   
readme = "README.md"
 7122   9411   
[package.metadata.smithy]
 7123   9412   
codegen-version = "ci"
 7124   9413   
[package.metadata.docs.rs]
 7125   9414   
all-features = true
 7126   9415   
targets = ["x86_64-unknown-linux-gnu"]
 7127   9416   
[dependencies.aws-credential-types]
 7128   9417   
path = "../aws-credential-types"
 7129   9418   
version = "1.2.4"
 7130   9419   
 7131   9420   
[dependencies.aws-runtime]
 7132   9421   
path = "../aws-runtime"
 7133   9422   
version = "1.5.9"
 7134   9423   
 7135   9424   
[dependencies.aws-smithy-async]
 7136   9425   
path = "../aws-smithy-async"
 7137   9426   
version = "1.2.5"
 7138   9427   
 7139   9428   
[dependencies.aws-smithy-http]
 7140   9429   
path = "../aws-smithy-http"
 7141         -
version = "0.62.2"
        9430  +
version = "0.62.3"
 7142   9431   
 7143   9432   
[dependencies.aws-smithy-json]
 7144   9433   
path = "../aws-smithy-json"
 7145   9434   
version = "0.61.4"
 7146   9435   
 7147   9436   
[dependencies.aws-smithy-runtime]
 7148   9437   
path = "../aws-smithy-runtime"
 7149   9438   
features = ["client"]
 7150   9439   
version = "1.8.5"
 7151   9440   
 7152   9441   
[dependencies.aws-smithy-runtime-api]
 7153   9442   
path = "../aws-smithy-runtime-api"
 7154   9443   
features = ["client", "http-02x"]
 7155   9444   
version = "1.8.5"
 7156   9445   
 7157   9446   
[dependencies.aws-smithy-types]
 7158   9447   
path = "../aws-smithy-types"
 7159   9448   
version = "1.3.2"
 7160   9449   
 7161   9450   
[dependencies.aws-types]
 7162   9451   
path = "../aws-types"
 7163   9452   
version = "1.3.8"
 7164   9453   
 7165   9454   
[dependencies.bytes]
 7166   9455   
version = "1.4.0"
 7167   9456   
 7168   9457   
[dependencies.fastrand]
 7169   9458   
version = "2.0.0"
 7170   9459   
 7171   9460   
[dependencies.http]
 7172   9461   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7173   9462   
index 15b1d77..16d7d89 100644
 7174         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
        9463  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7175   9464   
@@ -1,65 +1,65 @@
 7176   9465   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7177   9466   
[package]
 7178   9467   
name = "aws-sdk-glacier"
 7179   9468   
version = "0.0.0-local"
 7180   9469   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7181   9470   
description = "AWS SDK for Amazon Glacier"
 7182   9471   
edition = "2021"
 7183   9472   
license = "Apache-2.0"
 7184   9473   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7185   9474   
rust-version = "1.86.0"
 7186   9475   
readme = "README.md"
 7187   9476   
[package.metadata.smithy]
 7188   9477   
codegen-version = "ci"
 7189   9478   
[package.metadata.docs.rs]
 7190   9479   
all-features = true
 7191   9480   
targets = ["x86_64-unknown-linux-gnu"]
 7192   9481   
[dependencies.aws-credential-types]
 7193   9482   
path = "../aws-credential-types"
 7194   9483   
version = "1.2.4"
 7195   9484   
 7196   9485   
[dependencies.aws-runtime]
 7197   9486   
path = "../aws-runtime"
 7198   9487   
version = "1.5.9"
 7199   9488   
 7200   9489   
[dependencies.aws-sigv4]
 7201   9490   
path = "../aws-sigv4"
 7202         -
version = "1.3.3"
        9491  +
version = "1.3.4"
 7203   9492   
 7204   9493   
[dependencies.aws-smithy-async]
 7205   9494   
path = "../aws-smithy-async"
 7206   9495   
version = "1.2.5"
 7207   9496   
 7208   9497   
[dependencies.aws-smithy-http]
 7209   9498   
path = "../aws-smithy-http"
 7210         -
version = "0.62.2"
        9499  +
version = "0.62.3"
 7211   9500   
 7212   9501   
[dependencies.aws-smithy-json]
 7213   9502   
path = "../aws-smithy-json"
 7214   9503   
version = "0.61.4"
 7215   9504   
 7216   9505   
[dependencies.aws-smithy-runtime]
 7217   9506   
path = "../aws-smithy-runtime"
 7218   9507   
features = ["client"]
 7219   9508   
version = "1.8.5"
 7220   9509   
 7221   9510   
[dependencies.aws-smithy-runtime-api]
 7222   9511   
path = "../aws-smithy-runtime-api"
 7223   9512   
features = ["client", "http-02x"]
 7224   9513   
version = "1.8.5"
 7225   9514   
 7226   9515   
[dependencies.aws-smithy-types]
 7227   9516   
path = "../aws-smithy-types"
 7228   9517   
version = "1.3.2"
 7229   9518   
 7230   9519   
[dependencies.aws-types]
 7231   9520   
path = "../aws-types"
 7232   9521   
version = "1.3.8"
 7233   9522   
 7234   9523   
[dependencies.bytes]
 7235   9524   
version = "1.4.0"
 7236   9525   
 7237   9526   
[dependencies.fastrand]
 7238   9527   
version = "2.0.0"
 7239   9528   
 7240   9529   
[dependencies.hex]
 7241   9530   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7242   9531   
index d718a3a..65e6f24 100644
 7243         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
        9532  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7244   9533   
@@ -1,61 +1,61 @@
 7245   9534   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7246   9535   
[package]
 7247   9536   
name = "aws-sdk-iam"
 7248   9537   
version = "0.0.0-local"
 7249   9538   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7250   9539   
description = "AWS SDK for AWS Identity and Access Management"
 7251   9540   
edition = "2021"
 7252   9541   
license = "Apache-2.0"
 7253   9542   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7254   9543   
rust-version = "1.86.0"
 7255   9544   
readme = "README.md"
 7256   9545   
[package.metadata.smithy]
 7257   9546   
codegen-version = "ci"
 7258   9547   
[package.metadata.docs.rs]
 7259   9548   
all-features = true
 7260   9549   
targets = ["x86_64-unknown-linux-gnu"]
 7261   9550   
[dependencies.aws-credential-types]
 7262   9551   
path = "../aws-credential-types"
 7263   9552   
version = "1.2.4"
 7264   9553   
 7265   9554   
[dependencies.aws-runtime]
 7266   9555   
path = "../aws-runtime"
 7267   9556   
version = "1.5.9"
 7268   9557   
 7269   9558   
[dependencies.aws-smithy-async]
 7270   9559   
path = "../aws-smithy-async"
 7271   9560   
version = "1.2.5"
 7272   9561   
 7273   9562   
[dependencies.aws-smithy-http]
 7274   9563   
path = "../aws-smithy-http"
 7275         -
version = "0.62.2"
        9564  +
version = "0.62.3"
 7276   9565   
 7277   9566   
[dependencies.aws-smithy-json]
 7278   9567   
path = "../aws-smithy-json"
 7279   9568   
version = "0.61.4"
 7280   9569   
 7281   9570   
[dependencies.aws-smithy-query]
 7282   9571   
path = "../aws-smithy-query"
 7283   9572   
version = "0.60.7"
 7284   9573   
 7285   9574   
[dependencies.aws-smithy-runtime]
 7286   9575   
path = "../aws-smithy-runtime"
 7287   9576   
features = ["client"]
 7288   9577   
version = "1.8.5"
 7289   9578   
 7290   9579   
[dependencies.aws-smithy-runtime-api]
 7291   9580   
path = "../aws-smithy-runtime-api"
 7292   9581   
features = ["client", "http-02x"]
 7293   9582   
version = "1.8.5"
 7294   9583   
 7295   9584   
[dependencies.aws-smithy-types]
 7296   9585   
path = "../aws-smithy-types"
 7297   9586   
version = "1.3.2"
 7298   9587   
 7299   9588   
[dependencies.aws-smithy-xml]
 7300   9589   
path = "../aws-smithy-xml"
 7301   9590   
version = "0.60.10"
 7302   9591   
 7303   9592   
[dependencies.aws-types]
 7304   9593   
path = "../aws-types"
 7305   9594   
version = "1.3.8"
 7306   9595   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7307   9596   
index 0ed4302..3d828a5 100644
 7308         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
        9597  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7309   9598   
@@ -1,61 +1,61 @@
 7310   9599   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7311   9600   
[package]
 7312   9601   
name = "aws-sdk-kms"
 7313   9602   
version = "0.0.0-local"
 7314   9603   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7315   9604   
description = "AWS SDK for AWS Key Management Service"
 7316   9605   
edition = "2021"
 7317   9606   
license = "Apache-2.0"
 7318   9607   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7319   9608   
rust-version = "1.86.0"
 7320   9609   
readme = "README.md"
 7321   9610   
[package.metadata.smithy]
 7322   9611   
codegen-version = "ci"
 7323   9612   
[package.metadata.docs.rs]
 7324   9613   
all-features = true
 7325   9614   
targets = ["x86_64-unknown-linux-gnu"]
 7326   9615   
[dependencies.aws-credential-types]
 7327   9616   
path = "../aws-credential-types"
 7328   9617   
version = "1.2.4"
 7329   9618   
 7330   9619   
[dependencies.aws-runtime]
 7331   9620   
path = "../aws-runtime"
 7332   9621   
version = "1.5.9"
 7333   9622   
 7334   9623   
[dependencies.aws-smithy-async]
 7335   9624   
path = "../aws-smithy-async"
 7336   9625   
version = "1.2.5"
 7337   9626   
 7338   9627   
[dependencies.aws-smithy-http]
 7339   9628   
path = "../aws-smithy-http"
 7340         -
version = "0.62.2"
        9629  +
version = "0.62.3"
 7341   9630   
 7342   9631   
[dependencies.aws-smithy-json]
 7343   9632   
path = "../aws-smithy-json"
 7344   9633   
version = "0.61.4"
 7345   9634   
 7346   9635   
[dependencies.aws-smithy-runtime]
 7347   9636   
path = "../aws-smithy-runtime"
 7348   9637   
features = ["client"]
 7349   9638   
version = "1.8.5"
 7350   9639   
 7351   9640   
[dependencies.aws-smithy-runtime-api]
 7352   9641   
path = "../aws-smithy-runtime-api"
 7353   9642   
features = ["client", "http-02x"]
 7354   9643   
version = "1.8.5"
 7355   9644   
 7356   9645   
[dependencies.aws-smithy-types]
 7357   9646   
path = "../aws-smithy-types"
 7358   9647   
version = "1.3.2"
 7359   9648   
 7360   9649   
[dependencies.aws-types]
 7361   9650   
path = "../aws-types"
 7362   9651   
version = "1.3.8"
 7363   9652   
 7364   9653   
[dependencies.bytes]
 7365   9654   
version = "1.4.0"
 7366   9655   
 7367   9656   
[dependencies.fastrand]
 7368   9657   
version = "2.0.0"
 7369   9658   
 7370   9659   
[dependencies.http]
 7371   9660   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7372   9661   
index 6518dfc..6b94752 100644
 7373         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
        9662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7374   9663   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 7375   9664   
edition = "2021"
 7376   9665   
license = "Apache-2.0"
 7377   9666   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7378   9667   
rust-version = "1.86.0"
 7379   9668   
readme = "README.md"
 7380   9669   
[package.metadata.smithy]
 7381   9670   
codegen-version = "ci"
 7382   9671   
[package.metadata.docs.rs]
 7383   9672   
all-features = true
 7384   9673   
targets = ["x86_64-unknown-linux-gnu"]
 7385   9674   
[dependencies.aws-credential-types]
 7386   9675   
path = "../aws-credential-types"
 7387   9676   
version = "1.2.4"
 7388   9677   
 7389   9678   
[dependencies.aws-runtime]
 7390   9679   
path = "../aws-runtime"
 7391   9680   
features = ["event-stream"]
 7392   9681   
version = "1.5.9"
 7393   9682   
 7394   9683   
[dependencies.aws-smithy-async]
 7395   9684   
path = "../aws-smithy-async"
 7396   9685   
version = "1.2.5"
 7397   9686   
 7398   9687   
[dependencies.aws-smithy-eventstream]
 7399   9688   
path = "../aws-smithy-eventstream"
 7400   9689   
version = "0.60.10"
 7401   9690   
 7402   9691   
[dependencies.aws-smithy-http]
 7403   9692   
path = "../aws-smithy-http"
 7404   9693   
features = ["event-stream"]
 7405         -
version = "0.62.2"
        9694  +
version = "0.62.3"
 7406   9695   
 7407   9696   
[dependencies.aws-smithy-json]
 7408   9697   
path = "../aws-smithy-json"
 7409   9698   
version = "0.61.4"
 7410   9699   
 7411   9700   
[dependencies.aws-smithy-runtime]
 7412   9701   
path = "../aws-smithy-runtime"
 7413   9702   
features = ["client"]
 7414   9703   
version = "1.8.5"
 7415   9704   
 7416   9705   
[dependencies.aws-smithy-runtime-api]
 7417   9706   
path = "../aws-smithy-runtime-api"
 7418   9707   
features = ["client", "http-02x"]
 7419   9708   
version = "1.8.5"
 7420   9709   
 7421   9710   
[dependencies.aws-smithy-types]
 7422   9711   
path = "../aws-smithy-types"
 7423   9712   
version = "1.3.2"
 7424   9713   
 7425   9714   
[dependencies.aws-types]
 7426   9715   
path = "../aws-types"
 7427   9716   
version = "1.3.8"
 7428   9717   
 7429   9718   
[dependencies.bytes]
 7430   9719   
version = "1.4.0"
 7431   9720   
 7432   9721   
[dependencies.fastrand]
 7433   9722   
version = "2.0.0"
 7434   9723   
 7435   9724   
[dependencies.http]
 7436   9725   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7437   9726   
index dabb0e0..34cbc15 100644
 7438         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
        9727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7439   9728   
@@ -1,65 +1,65 @@
 7440   9729   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7441   9730   
[package]
 7442   9731   
name = "aws-sdk-polly"
 7443   9732   
version = "0.0.0-local"
 7444   9733   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7445   9734   
description = "AWS SDK for Amazon Polly"
 7446   9735   
edition = "2021"
 7447   9736   
license = "Apache-2.0"
 7448   9737   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7449   9738   
rust-version = "1.86.0"
 7450   9739   
readme = "README.md"
 7451   9740   
[package.metadata.smithy]
 7452   9741   
codegen-version = "ci"
 7453   9742   
[package.metadata.docs.rs]
 7454   9743   
all-features = true
 7455   9744   
targets = ["x86_64-unknown-linux-gnu"]
 7456   9745   
[dependencies.aws-credential-types]
 7457   9746   
path = "../aws-credential-types"
 7458   9747   
version = "1.2.4"
 7459   9748   
 7460   9749   
[dependencies.aws-runtime]
 7461   9750   
path = "../aws-runtime"
 7462   9751   
version = "1.5.9"
 7463   9752   
 7464   9753   
[dependencies.aws-sigv4]
 7465   9754   
path = "../aws-sigv4"
 7466         -
version = "1.3.3"
        9755  +
version = "1.3.4"
 7467   9756   
 7468   9757   
[dependencies.aws-smithy-async]
 7469   9758   
path = "../aws-smithy-async"
 7470   9759   
version = "1.2.5"
 7471   9760   
 7472   9761   
[dependencies.aws-smithy-http]
 7473   9762   
path = "../aws-smithy-http"
 7474         -
version = "0.62.2"
        9763  +
version = "0.62.3"
 7475   9764   
 7476   9765   
[dependencies.aws-smithy-json]
 7477   9766   
path = "../aws-smithy-json"
 7478   9767   
version = "0.61.4"
 7479   9768   
 7480   9769   
[dependencies.aws-smithy-runtime]
 7481   9770   
path = "../aws-smithy-runtime"
 7482   9771   
features = ["client"]
 7483   9772   
version = "1.8.5"
 7484   9773   
 7485   9774   
[dependencies.aws-smithy-runtime-api]
 7486   9775   
path = "../aws-smithy-runtime-api"
 7487   9776   
features = ["client", "http-02x"]
 7488   9777   
version = "1.8.5"
 7489   9778   
 7490   9779   
[dependencies.aws-smithy-types]
 7491   9780   
path = "../aws-smithy-types"
 7492   9781   
version = "1.3.2"
 7493   9782   
 7494   9783   
[dependencies.aws-types]
 7495   9784   
path = "../aws-types"
 7496   9785   
version = "1.3.8"
 7497   9786   
 7498   9787   
[dependencies.bytes]
 7499   9788   
version = "1.4.0"
 7500   9789   
 7501   9790   
[dependencies.fastrand]
 7502   9791   
version = "2.0.0"
 7503   9792   
 7504   9793   
[dependencies.http]
 7505   9794   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7506   9795   
index a884716..f3d8713 100644
 7507         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
        9796  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7508   9797   
@@ -1,61 +1,61 @@
 7509   9798   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7510   9799   
[package]
 7511   9800   
name = "aws-sdk-qldbsession"
 7512   9801   
version = "0.0.0-local"
 7513   9802   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7514   9803   
description = "AWS SDK for Amazon QLDB Session"
 7515   9804   
edition = "2021"
 7516   9805   
license = "Apache-2.0"
 7517   9806   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7518   9807   
rust-version = "1.86.0"
 7519   9808   
readme = "README.md"
 7520   9809   
[package.metadata.smithy]
 7521   9810   
codegen-version = "ci"
 7522   9811   
[package.metadata.docs.rs]
 7523   9812   
all-features = true
 7524   9813   
targets = ["x86_64-unknown-linux-gnu"]
 7525   9814   
[dependencies.aws-credential-types]
 7526   9815   
path = "../aws-credential-types"
 7527   9816   
version = "1.2.4"
 7528   9817   
 7529   9818   
[dependencies.aws-runtime]
 7530   9819   
path = "../aws-runtime"
 7531   9820   
version = "1.5.9"
 7532   9821   
 7533   9822   
[dependencies.aws-smithy-async]
 7534   9823   
path = "../aws-smithy-async"
 7535   9824   
version = "1.2.5"
 7536   9825   
 7537   9826   
[dependencies.aws-smithy-http]
 7538   9827   
path = "../aws-smithy-http"
 7539         -
version = "0.62.2"
        9828  +
version = "0.62.3"
 7540   9829   
 7541   9830   
[dependencies.aws-smithy-json]
 7542   9831   
path = "../aws-smithy-json"
 7543   9832   
version = "0.61.4"
 7544   9833   
 7545   9834   
[dependencies.aws-smithy-runtime]
 7546   9835   
path = "../aws-smithy-runtime"
 7547   9836   
features = ["client"]
 7548   9837   
version = "1.8.5"
 7549   9838   
 7550   9839   
[dependencies.aws-smithy-runtime-api]
 7551   9840   
path = "../aws-smithy-runtime-api"
 7552   9841   
features = ["client", "http-02x"]
 7553   9842   
version = "1.8.5"
 7554   9843   
 7555   9844   
[dependencies.aws-smithy-types]
 7556   9845   
path = "../aws-smithy-types"
 7557   9846   
version = "1.3.2"
 7558   9847   
 7559   9848   
[dependencies.aws-types]
 7560   9849   
path = "../aws-types"
 7561   9850   
version = "1.3.8"
 7562   9851   
 7563   9852   
[dependencies.bytes]
 7564   9853   
version = "1.4.0"
 7565   9854   
 7566   9855   
[dependencies.fastrand]
 7567   9856   
version = "2.0.0"
 7568   9857   
 7569   9858   
[dependencies.http]
 7570   9859   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7571   9860   
index 32a7dc9..a2c752d 100644
 7572         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
        9861  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7573   9862   
@@ -1,61 +1,61 @@
 7574   9863   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7575   9864   
[package]
 7576   9865   
name = "aws-sdk-route53"
 7577   9866   
version = "0.0.0-local"
 7578   9867   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7579   9868   
description = "AWS SDK for Amazon Route 53"
 7580   9869   
edition = "2021"
 7581   9870   
license = "Apache-2.0"
 7582   9871   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7583   9872   
rust-version = "1.86.0"
 7584   9873   
readme = "README.md"
 7585   9874   
[package.metadata.smithy]
 7586   9875   
codegen-version = "ci"
 7587   9876   
[package.metadata.docs.rs]
 7588   9877   
all-features = true
 7589   9878   
targets = ["x86_64-unknown-linux-gnu"]
 7590   9879   
[dependencies.aws-credential-types]
 7591   9880   
path = "../aws-credential-types"
 7592   9881   
version = "1.2.4"
 7593   9882   
 7594   9883   
[dependencies.aws-runtime]
 7595   9884   
path = "../aws-runtime"
 7596   9885   
version = "1.5.9"
 7597   9886   
 7598   9887   
[dependencies.aws-smithy-async]
 7599   9888   
path = "../aws-smithy-async"
 7600   9889   
version = "1.2.5"
 7601   9890   
 7602   9891   
[dependencies.aws-smithy-http]
 7603   9892   
path = "../aws-smithy-http"
 7604         -
version = "0.62.2"
        9893  +
version = "0.62.3"
 7605   9894   
 7606   9895   
[dependencies.aws-smithy-json]
 7607   9896   
path = "../aws-smithy-json"
 7608   9897   
version = "0.61.4"
 7609   9898   
 7610   9899   
[dependencies.aws-smithy-runtime]
 7611   9900   
path = "../aws-smithy-runtime"
 7612   9901   
features = ["client"]
 7613   9902   
version = "1.8.5"
 7614   9903   
 7615   9904   
[dependencies.aws-smithy-runtime-api]
 7616   9905   
path = "../aws-smithy-runtime-api"
 7617   9906   
features = ["client", "http-02x"]
 7618   9907   
version = "1.8.5"
 7619   9908   
 7620   9909   
[dependencies.aws-smithy-types]
 7621   9910   
path = "../aws-smithy-types"
 7622   9911   
version = "1.3.2"
 7623   9912   
 7624   9913   
[dependencies.aws-smithy-xml]
 7625   9914   
path = "../aws-smithy-xml"
 7626   9915   
version = "0.60.10"
 7627   9916   
 7628   9917   
[dependencies.aws-types]
 7629   9918   
path = "../aws-types"
 7630   9919   
version = "1.3.8"
 7631   9920   
 7632   9921   
[dependencies.fastrand]
 7633   9922   
version = "2.0.0"
 7634   9923   
 7635   9924   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7636   9925   
index f65e261..2f6bec0 100644
 7637         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
        9926  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7638   9927   
@@ -1,75 +1,75 @@
 7639   9928   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7640   9929   
[package]
 7641   9930   
name = "aws-sdk-s3"
 7642   9931   
version = "0.0.0-local"
 7643   9932   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7644   9933   
description = "AWS SDK for Amazon Simple Storage Service"
 7645   9934   
edition = "2021"
 7646   9935   
license = "Apache-2.0"
 7647   9936   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7648   9937   
rust-version = "1.86.0"
 7649   9938   
readme = "README.md"
 7650   9939   
[package.metadata.smithy]
 7651   9940   
codegen-version = "ci"
 7652   9941   
[package.metadata.docs.rs]
 7653   9942   
all-features = true
 7654   9943   
targets = ["x86_64-unknown-linux-gnu"]
 7655   9944   
[dependencies.aws-credential-types]
 7656   9945   
path = "../aws-credential-types"
 7657   9946   
version = "1.2.4"
 7658   9947   
 7659   9948   
[dependencies.aws-runtime]
 7660   9949   
path = "../aws-runtime"
 7661   9950   
features = ["event-stream", "http-02x"]
 7662   9951   
version = "1.5.9"
 7663   9952   
 7664   9953   
[dependencies.aws-sigv4]
 7665   9954   
path = "../aws-sigv4"
 7666         -
version = "1.3.3"
        9955  +
version = "1.3.4"
 7667   9956   
 7668   9957   
[dependencies.aws-smithy-async]
 7669   9958   
path = "../aws-smithy-async"
 7670   9959   
version = "1.2.5"
 7671   9960   
 7672   9961   
[dependencies.aws-smithy-checksums]
 7673   9962   
path = "../aws-smithy-checksums"
 7674   9963   
version = "0.63.5"
 7675   9964   
 7676   9965   
[dependencies.aws-smithy-eventstream]
 7677   9966   
path = "../aws-smithy-eventstream"
 7678   9967   
version = "0.60.10"
 7679   9968   
 7680   9969   
[dependencies.aws-smithy-http]
 7681   9970   
path = "../aws-smithy-http"
 7682   9971   
features = ["event-stream"]
 7683         -
version = "0.62.2"
        9972  +
version = "0.62.3"
 7684   9973   
 7685   9974   
[dependencies.aws-smithy-json]
 7686   9975   
path = "../aws-smithy-json"
 7687   9976   
version = "0.61.4"
 7688   9977   
 7689   9978   
[dependencies.aws-smithy-runtime]
 7690   9979   
path = "../aws-smithy-runtime"
 7691   9980   
features = ["client"]
 7692   9981   
version = "1.8.5"
 7693   9982   
 7694   9983   
[dependencies.aws-smithy-runtime-api]
 7695   9984   
path = "../aws-smithy-runtime-api"
 7696   9985   
features = ["client", "http-02x"]
 7697   9986   
version = "1.8.5"
 7698   9987   
 7699   9988   
[dependencies.aws-smithy-types]
 7700   9989   
path = "../aws-smithy-types"
 7701   9990   
version = "1.3.2"
 7702   9991   
 7703   9992   
[dependencies.aws-smithy-xml]
 7704   9993   
path = "../aws-smithy-xml"
 7705   9994   
version = "0.60.10"
 7706   9995   
 7707   9996   
[dependencies.aws-types]
 7708   9997   
path = "../aws-types"
 7709   9998   
version = "1.3.8"
 7710   9999   
 7711  10000   
[dependencies.bytes]
 7712  10001   
version = "1.4.0"
 7713  10002   
 7714  10003   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7715  10004   
index b4d1cdd..861c0cc 100644
 7716         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
       10005  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7717  10006   
@@ -1,61 +1,61 @@
 7718  10007   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7719  10008   
[package]
 7720  10009   
name = "aws-sdk-s3control"
 7721  10010   
version = "0.0.0-local"
 7722  10011   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7723  10012   
description = "AWS SDK for AWS S3 Control"
 7724  10013   
edition = "2021"
 7725  10014   
license = "Apache-2.0"
 7726  10015   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7727  10016   
rust-version = "1.86.0"
 7728  10017   
readme = "README.md"
 7729  10018   
[package.metadata.smithy]
 7730  10019   
codegen-version = "ci"
 7731  10020   
[package.metadata.docs.rs]
 7732  10021   
all-features = true
 7733  10022   
targets = ["x86_64-unknown-linux-gnu"]
 7734  10023   
[dependencies.aws-credential-types]
 7735  10024   
path = "../aws-credential-types"
 7736  10025   
version = "1.2.4"
 7737  10026   
 7738  10027   
[dependencies.aws-runtime]
 7739  10028   
path = "../aws-runtime"
 7740  10029   
version = "1.5.9"
 7741  10030   
 7742  10031   
[dependencies.aws-smithy-async]
 7743  10032   
path = "../aws-smithy-async"
 7744  10033   
version = "1.2.5"
 7745  10034   
 7746  10035   
[dependencies.aws-smithy-http]
 7747  10036   
path = "../aws-smithy-http"
 7748         -
version = "0.62.2"
       10037  +
version = "0.62.3"
 7749  10038   
 7750  10039   
[dependencies.aws-smithy-json]
 7751  10040   
path = "../aws-smithy-json"
 7752  10041   
version = "0.61.4"
 7753  10042   
 7754  10043   
[dependencies.aws-smithy-runtime]
 7755  10044   
path = "../aws-smithy-runtime"
 7756  10045   
features = ["client"]
 7757  10046   
version = "1.8.5"
 7758  10047   
 7759  10048   
[dependencies.aws-smithy-runtime-api]
 7760  10049   
path = "../aws-smithy-runtime-api"
 7761  10050   
features = ["client", "http-02x"]
 7762  10051   
version = "1.8.5"
 7763  10052   
 7764  10053   
[dependencies.aws-smithy-types]
 7765  10054   
path = "../aws-smithy-types"
 7766  10055   
version = "1.3.2"
 7767  10056   
 7768  10057   
[dependencies.aws-smithy-xml]
 7769  10058   
path = "../aws-smithy-xml"
 7770  10059   
version = "0.60.10"
 7771  10060   
 7772  10061   
[dependencies.aws-types]
 7773  10062   
path = "../aws-types"
 7774  10063   
version = "1.3.8"
 7775  10064   
 7776  10065   
[dependencies.fastrand]
 7777  10066   
version = "2.0.0"
 7778  10067   
 7779  10068   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7780  10069   
index 2cde182..fc367f4 100644
 7781         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
       10070  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7782  10071   
@@ -1,61 +1,61 @@
 7783  10072   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7784  10073   
[package]
 7785  10074   
name = "aws-sdk-sso"
 7786  10075   
version = "0.0.0-local"
 7787  10076   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7788  10077   
description = "AWS SDK for AWS Single Sign-On"
 7789  10078   
edition = "2021"
 7790  10079   
license = "Apache-2.0"
 7791  10080   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7792  10081   
rust-version = "1.86.0"
 7793  10082   
readme = "README.md"
 7794  10083   
[package.metadata.smithy]
 7795  10084   
codegen-version = "ci"
 7796  10085   
[package.metadata.docs.rs]
 7797  10086   
all-features = true
 7798  10087   
targets = ["x86_64-unknown-linux-gnu"]
 7799  10088   
[dependencies.aws-credential-types]
 7800  10089   
path = "../aws-credential-types"
 7801  10090   
version = "1.2.4"
 7802  10091   
 7803  10092   
[dependencies.aws-runtime]
 7804  10093   
path = "../aws-runtime"
 7805  10094   
version = "1.5.9"
 7806  10095   
 7807  10096   
[dependencies.aws-smithy-async]
 7808  10097   
path = "../aws-smithy-async"
 7809  10098   
version = "1.2.5"
 7810  10099   
 7811  10100   
[dependencies.aws-smithy-http]
 7812  10101   
path = "../aws-smithy-http"
 7813         -
version = "0.62.2"
       10102  +
version = "0.62.3"
 7814  10103   
 7815  10104   
[dependencies.aws-smithy-json]
 7816  10105   
path = "../aws-smithy-json"
 7817  10106   
version = "0.61.4"
 7818  10107   
 7819  10108   
[dependencies.aws-smithy-runtime]
 7820  10109   
path = "../aws-smithy-runtime"
 7821  10110   
features = ["client"]
 7822  10111   
version = "1.8.5"
 7823  10112   
 7824  10113   
[dependencies.aws-smithy-runtime-api]
 7825  10114   
path = "../aws-smithy-runtime-api"
 7826  10115   
features = ["client", "http-02x"]
 7827  10116   
version = "1.8.5"
 7828  10117   
 7829  10118   
[dependencies.aws-smithy-types]
 7830  10119   
path = "../aws-smithy-types"
 7831  10120   
version = "1.3.2"
 7832  10121   
 7833  10122   
[dependencies.aws-types]
 7834  10123   
path = "../aws-types"
 7835  10124   
version = "1.3.8"
 7836  10125   
 7837  10126   
[dependencies.bytes]
 7838  10127   
version = "1.4.0"
 7839  10128   
 7840  10129   
[dependencies.fastrand]
 7841  10130   
version = "2.0.0"
 7842  10131   
 7843  10132   
[dependencies.http]
 7844  10133   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7845  10134   
index 7a34c16..588d0bd 100644
 7846         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       10135  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7847  10136   
@@ -1,61 +1,61 @@
 7848  10137   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7849  10138   
[package]
 7850  10139   
name = "aws-sdk-ssooidc"
 7851  10140   
version = "0.0.0-local"
 7852  10141   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7853  10142   
description = "AWS SDK for AWS SSO OIDC"
 7854  10143   
edition = "2021"
 7855  10144   
license = "Apache-2.0"
 7856  10145   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7857  10146   
rust-version = "1.86.0"
 7858  10147   
readme = "README.md"
 7859  10148   
[package.metadata.smithy]
 7860  10149   
codegen-version = "ci"
 7861  10150   
[package.metadata.docs.rs]
 7862  10151   
all-features = true
 7863  10152   
targets = ["x86_64-unknown-linux-gnu"]
 7864  10153   
[dependencies.aws-credential-types]
 7865  10154   
path = "../aws-credential-types"
 7866  10155   
version = "1.2.4"
 7867  10156   
 7868  10157   
[dependencies.aws-runtime]
 7869  10158   
path = "../aws-runtime"
 7870  10159   
version = "1.5.9"
 7871  10160   
 7872  10161   
[dependencies.aws-smithy-async]
 7873  10162   
path = "../aws-smithy-async"
 7874  10163   
version = "1.2.5"
 7875  10164   
 7876  10165   
[dependencies.aws-smithy-http]
 7877  10166   
path = "../aws-smithy-http"
 7878         -
version = "0.62.2"
       10167  +
version = "0.62.3"
 7879  10168   
 7880  10169   
[dependencies.aws-smithy-json]
 7881  10170   
path = "../aws-smithy-json"
 7882  10171   
version = "0.61.4"
 7883  10172   
 7884  10173   
[dependencies.aws-smithy-runtime]
 7885  10174   
path = "../aws-smithy-runtime"
 7886  10175   
features = ["client"]
 7887  10176   
version = "1.8.5"
 7888  10177   
 7889  10178   
[dependencies.aws-smithy-runtime-api]
 7890  10179   
path = "../aws-smithy-runtime-api"
 7891  10180   
features = ["client", "http-02x"]
 7892  10181   
version = "1.8.5"
 7893  10182   
 7894  10183   
[dependencies.aws-smithy-types]
 7895  10184   
path = "../aws-smithy-types"
 7896  10185   
version = "1.3.2"
 7897  10186   
 7898  10187   
[dependencies.aws-types]
 7899  10188   
path = "../aws-types"
 7900  10189   
version = "1.3.8"
 7901  10190   
 7902  10191   
[dependencies.bytes]
 7903  10192   
version = "1.4.0"
 7904  10193   
 7905  10194   
[dependencies.fastrand]
 7906  10195   
version = "2.0.0"
 7907  10196   
 7908  10197   
[dependencies.http]
 7909  10198   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7910  10199   
index 895dfb3..f2ce34e 100644
 7911         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       10200  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7912  10201   
@@ -1,61 +1,61 @@
 7913  10202   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7914  10203   
[package]
 7915  10204   
name = "aws-sdk-sts"
 7916  10205   
version = "0.0.0-local"
 7917  10206   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7918  10207   
description = "AWS SDK for AWS Security Token Service"
 7919  10208   
edition = "2021"
 7920  10209   
license = "Apache-2.0"
 7921  10210   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7922  10211   
rust-version = "1.86.0"
 7923  10212   
readme = "README.md"
 7924  10213   
[package.metadata.smithy]
 7925  10214   
codegen-version = "ci"
 7926  10215   
[package.metadata.docs.rs]
 7927  10216   
all-features = true
 7928  10217   
targets = ["x86_64-unknown-linux-gnu"]
 7929  10218   
[dependencies.aws-credential-types]
 7930  10219   
path = "../aws-credential-types"
 7931  10220   
version = "1.2.4"
 7932  10221   
 7933  10222   
[dependencies.aws-runtime]
 7934  10223   
path = "../aws-runtime"
 7935  10224   
version = "1.5.9"
 7936  10225   
 7937  10226   
[dependencies.aws-smithy-async]
 7938  10227   
path = "../aws-smithy-async"
 7939  10228   
version = "1.2.5"
 7940  10229   
 7941  10230   
[dependencies.aws-smithy-http]
 7942  10231   
path = "../aws-smithy-http"
 7943         -
version = "0.62.2"
       10232  +
version = "0.62.3"
 7944  10233   
 7945  10234   
[dependencies.aws-smithy-json]
 7946  10235   
path = "../aws-smithy-json"
 7947  10236   
version = "0.61.4"
 7948  10237   
 7949  10238   
[dependencies.aws-smithy-query]
 7950  10239   
path = "../aws-smithy-query"
 7951  10240   
version = "0.60.7"
 7952  10241   
 7953  10242   
[dependencies.aws-smithy-runtime]
 7954  10243   
path = "../aws-smithy-runtime"
 7955  10244   
features = ["client"]
 7956  10245   
version = "1.8.5"
 7957  10246   
 7958  10247   
[dependencies.aws-smithy-runtime-api]
 7959  10248   
path = "../aws-smithy-runtime-api"
 7960  10249   
features = ["client", "http-02x"]
 7961  10250   
version = "1.8.5"
 7962  10251   
 7963  10252   
[dependencies.aws-smithy-types]
 7964  10253   
path = "../aws-smithy-types"
 7965  10254   
version = "1.3.2"
 7966  10255   
 7967  10256   
[dependencies.aws-smithy-xml]
 7968  10257   
path = "../aws-smithy-xml"
 7969  10258   
version = "0.60.10"
 7970  10259   
 7971  10260   
[dependencies.aws-types]
 7972  10261   
path = "../aws-types"
 7973  10262   
version = "1.3.8"
 7974  10263   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 7975  10264   
index d556561..91178b6 100644
 7976         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       10265  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 7977  10266   
@@ -1,61 +1,61 @@
 7978  10267   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7979  10268   
[package]
 7980  10269   
name = "aws-sdk-timestreamquery"
 7981  10270   
version = "0.0.0-local"
 7982  10271   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7983  10272   
description = "AWS SDK for Amazon Timestream Query"
 7984  10273   
edition = "2021"
 7985  10274   
license = "Apache-2.0"
 7986  10275   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7987  10276   
rust-version = "1.86.0"
 7988  10277   
readme = "README.md"
 7989  10278   
[package.metadata.smithy]
 7990  10279   
codegen-version = "ci"
 7991  10280   
[package.metadata.docs.rs]
 7992  10281   
all-features = true
 7993  10282   
targets = ["x86_64-unknown-linux-gnu"]
 7994  10283   
[dependencies.aws-credential-types]
 7995  10284   
path = "../aws-credential-types"
 7996  10285   
version = "1.2.4"
 7997  10286   
 7998  10287   
[dependencies.aws-runtime]
 7999  10288   
path = "../aws-runtime"
 8000  10289   
version = "1.5.9"
 8001  10290   
 8002  10291   
[dependencies.aws-smithy-async]
 8003  10292   
path = "../aws-smithy-async"
 8004  10293   
version = "1.2.5"
 8005  10294   
 8006  10295   
[dependencies.aws-smithy-http]
 8007  10296   
path = "../aws-smithy-http"
 8008         -
version = "0.62.2"
       10297  +
version = "0.62.3"
 8009  10298   
 8010  10299   
[dependencies.aws-smithy-json]
 8011  10300   
path = "../aws-smithy-json"
 8012  10301   
version = "0.61.4"
 8013  10302   
 8014  10303   
[dependencies.aws-smithy-runtime]
 8015  10304   
path = "../aws-smithy-runtime"
 8016  10305   
features = ["client"]
 8017  10306   
version = "1.8.5"
 8018  10307   
 8019  10308   
[dependencies.aws-smithy-runtime-api]
 8020  10309   
path = "../aws-smithy-runtime-api"
 8021  10310   
features = ["client", "http-02x"]
 8022  10311   
version = "1.8.5"
 8023  10312   
 8024  10313   
[dependencies.aws-smithy-types]
 8025  10314   
path = "../aws-smithy-types"
 8026  10315   
version = "1.3.2"
 8027  10316   
 8028  10317   
[dependencies.aws-types]
 8029  10318   
path = "../aws-types"
 8030  10319   
version = "1.3.8"
 8031  10320   
 8032  10321   
[dependencies.bytes]
 8033  10322   
version = "1.4.0"
 8034  10323   
 8035  10324   
[dependencies.fastrand]
 8036  10325   
version = "2.0.0"
 8037  10326   
 8038  10327   
[dependencies.http]
 8039  10328   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 8040  10329   
index 0c56e4c..95731e3 100644
 8041         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       10330  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 8042  10331   
@@ -1,61 +1,61 @@
 8043  10332   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8044  10333   
[package]
 8045  10334   
name = "aws-sdk-timestreamwrite"
 8046  10335   
version = "0.0.0-local"
 8047  10336   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8048  10337   
description = "AWS SDK for Amazon Timestream Write"
 8049  10338   
edition = "2021"
 8050  10339   
license = "Apache-2.0"
 8051  10340   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8052  10341   
rust-version = "1.86.0"
 8053  10342   
readme = "README.md"
 8054  10343   
[package.metadata.smithy]
 8055  10344   
codegen-version = "ci"
 8056  10345   
[package.metadata.docs.rs]
 8057  10346   
all-features = true
 8058  10347   
targets = ["x86_64-unknown-linux-gnu"]
 8059  10348   
[dependencies.aws-credential-types]
 8060  10349   
path = "../aws-credential-types"
 8061  10350   
version = "1.2.4"
 8062  10351   
 8063  10352   
[dependencies.aws-runtime]
 8064  10353   
path = "../aws-runtime"
 8065  10354   
version = "1.5.9"
 8066  10355   
 8067  10356   
[dependencies.aws-smithy-async]
 8068  10357   
path = "../aws-smithy-async"
 8069  10358   
version = "1.2.5"
 8070  10359   
 8071  10360   
[dependencies.aws-smithy-http]
 8072  10361   
path = "../aws-smithy-http"
 8073         -
version = "0.62.2"
       10362  +
version = "0.62.3"
 8074  10363   
 8075  10364   
[dependencies.aws-smithy-json]
 8076  10365   
path = "../aws-smithy-json"
 8077  10366   
version = "0.61.4"
 8078  10367   
 8079  10368   
[dependencies.aws-smithy-runtime]
 8080  10369   
path = "../aws-smithy-runtime"
 8081  10370   
features = ["client"]
 8082  10371   
version = "1.8.5"
 8083  10372   
 8084  10373   
[dependencies.aws-smithy-runtime-api]
 8085  10374   
path = "../aws-smithy-runtime-api"
 8086  10375   
features = ["client", "http-02x"]
 8087  10376   
version = "1.8.5"
 8088  10377   
 8089  10378   
[dependencies.aws-smithy-types]
 8090  10379   
path = "../aws-smithy-types"
 8091  10380   
version = "1.3.2"
 8092  10381   
 8093  10382   
[dependencies.aws-types]
 8094  10383   
path = "../aws-types"
 8095  10384   
version = "1.3.8"
 8096  10385   
 8097  10386   
[dependencies.bytes]
 8098  10387   
version = "1.4.0"
 8099  10388   
 8100  10389   
[dependencies.fastrand]
 8101  10390   
version = "2.0.0"
 8102  10391   
 8103  10392   
[dependencies.http]
 8104  10393   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8105  10394   
index 5b35037..9fb220a 100644
 8106         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       10395  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8107  10396   
@@ -1,71 +1,71 @@
 8108  10397   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8109  10398   
[package]
 8110  10399   
name = "aws-sdk-transcribestreaming"
 8111  10400   
version = "0.0.0-local"
 8112  10401   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8113  10402   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 8114  10403   
edition = "2021"
 8115  10404   
license = "Apache-2.0"
 8116  10405   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8117  10406   
rust-version = "1.86.0"
 8118  10407   
readme = "README.md"
 8119  10408   
[package.metadata.smithy]
 8120  10409   
codegen-version = "ci"
 8121  10410   
[package.metadata.docs.rs]
 8122  10411   
all-features = true
 8123  10412   
targets = ["x86_64-unknown-linux-gnu"]
 8124  10413   
[dependencies.aws-credential-types]
 8125  10414   
path = "../aws-credential-types"
 8126  10415   
version = "1.2.4"
 8127  10416   
 8128  10417   
[dependencies.aws-runtime]
 8129  10418   
path = "../aws-runtime"
 8130  10419   
features = ["event-stream"]
 8131  10420   
version = "1.5.9"
 8132  10421   
 8133  10422   
[dependencies.aws-sigv4]
 8134  10423   
path = "../aws-sigv4"
 8135         -
version = "1.3.3"
       10424  +
version = "1.3.4"
 8136  10425   
 8137  10426   
[dependencies.aws-smithy-async]
 8138  10427   
path = "../aws-smithy-async"
 8139  10428   
version = "1.2.5"
 8140  10429   
 8141  10430   
[dependencies.aws-smithy-eventstream]
 8142  10431   
path = "../aws-smithy-eventstream"
 8143  10432   
version = "0.60.10"
 8144  10433   
 8145  10434   
[dependencies.aws-smithy-http]
 8146  10435   
path = "../aws-smithy-http"
 8147  10436   
features = ["event-stream"]
 8148         -
version = "0.62.2"
       10437  +
version = "0.62.3"
 8149  10438   
 8150  10439   
[dependencies.aws-smithy-json]
 8151  10440   
path = "../aws-smithy-json"
 8152  10441   
version = "0.61.4"
 8153  10442   
 8154  10443   
[dependencies.aws-smithy-runtime]
 8155  10444   
path = "../aws-smithy-runtime"
 8156  10445   
features = ["client"]
 8157  10446   
version = "1.8.5"
 8158  10447