AWS SDK

AWS SDK

rev. 3964b40d6806bc3f52bd311e2c791030c3325f2c (ignoring whitespace)

Files changed:

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

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

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

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

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

  115         -
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).
  116         -

  117         -
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.
  118         -

  119         -
The test suite has 2 examples:
  120         -

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

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

  125         -
The test suite uses this example value for X-Amz-Security-Token:
  126         -

  127         -
AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 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-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
  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-empty-query-value/post-vanilla-empty-query-value.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-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
  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-empty-query-value/post-vanilla-empty-query-value.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-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
  144     86   
deleted file mode 100644
  145     87   
index 44280cd..0000000
  146         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.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=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 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-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
  150     91   
deleted file mode 100644
  151     92   
index 82af150..0000000
  152         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq
          93  +
++ /dev/null
  153     94   
@@ -1,4 +0,0 @@
  154         -
POST /?Param1=value1 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=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 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-vanilla/post-vanilla.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
  159     96   
deleted file mode 100644
  160     97   
index 89e572e..0000000
  161         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
          98  +
++ /dev/null
  162     99   
@@ -1 +0,0 @@
  163         -
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
  164    100   
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
  165    101   
deleted file mode 100644
  166    102   
index a5ada0d..0000000
  167         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq
         103  +
++ /dev/null
  168    104   
@@ -1,4 +0,0 @@
  169         -
POST / HTTP/1.1
  170         -
Host:example.amazonaws.com
  171         -
X-Amz-Date:20150830T123600Z
  172         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
  173    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.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
  174    106   
deleted file mode 100644
  175    107   
index df90ca3..0000000
  176         -
-- 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
         108  +
++ /dev/null
  177    109   
@@ -1 +0,0 @@
  178         -
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
  179    110   
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
  180    111   
deleted file mode 100644
  181    112   
index 457b0d5..0000000
  182         -
-- 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
         113  +
++ /dev/null
  183    114   
@@ -1,9 +0,0 @@
  184         -
POST
  185         -
/
  186         -
Param1=value1
  187         -
content-type:application/x-www-form-urlencoded; charset=utf-8
  188         -
host:example.amazonaws.com
  189         -
x-amz-date:20150830T123600Z
  190         -
  191         -
content-type;host;x-amz-date
  192         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  193    115   
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
  194    116   
deleted file mode 100644
  195    117   
index b8ecb89..0000000
  196         -
-- 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
         118  +
++ /dev/null
  197    119   
@@ -1,7 +0,0 @@
  198         -
POST / HTTP/1.1
  199         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  200         -
Host:example.amazonaws.com
  201         -
X-Amz-Date:20150830T123600Z
  202         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393
  203         -
  204         -
Param1=value1
              \
 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.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
  206    121   
deleted file mode 100644
  207    122   
index 79077d2..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.authz
         123  +
++ /dev/null
  209    124   
@@ -1 +0,0 @@
  210         -
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
  211    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.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
  212    126   
deleted file mode 100644
  213    127   
index 7852617..0000000
  214         -
-- 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
         128  +
++ /dev/null
  215    129   
@@ -1,4 +0,0 @@
  216         -
POST / HTTP/1.1
  217         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  218         -
Host:example.amazonaws.com
  219         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
  220    130   
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
  221    131   
deleted file mode 100644
  222    132   
index 3e2e571..0000000
  223         -
-- 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
         133  +
++ /dev/null
  224    134   
@@ -1,4 +0,0 @@
  225         -
POST / HTTP/1.1
  226         -
Host:example.amazonaws.com
  227         -
X-Amz-Date:20150830T123600Z
  228         -
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
  229    135   
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
  230    136   
deleted file mode 100644
  231    137   
index 89ceae8..0000000
  232         -
-- 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
         138  +
++ /dev/null
  233    139   
@@ -1,4 +0,0 @@
  234         -
AWS4-HMAC-SHA256
  235         -
20150830T123600Z
  236         -
20150830/us-east-1/service/aws4_request
  237         -
6a42edc18395dd67cc71407d4307ff29ab1646b08c1a0107edb319e08e2bc584
              \
 No newline at end of file
  238    140   
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
  239    141   
deleted file mode 100755
  240    142   
index d645695..0000000
  241         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE
         143  +
++ /dev/null
  242    144   
@@ -1,202 +0,0 @@
  243         -
  244         -
                                 Apache License
  245         -
                           Version 2.0, January 2004
  246         -
                        http://www.apache.org/licenses/
  247         -
  248         -
   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  249         -
  250         -
   1. Definitions.
  251         -
  252         -
      "License" shall mean the terms and conditions for use, reproduction,
  253         -
      and distribution as defined by Sections 1 through 9 of this document.
  254         -
  255         -
      "Licensor" shall mean the copyright owner or entity authorized by
  256         -
      the copyright owner that is granting the License.
  257         -
  258         -
      "Legal Entity" shall mean the union of the acting entity and all
  259         -
      other entities that control, are controlled by, or are under common
  260         -
      control with that entity. For the purposes of this definition,
  261         -
      "control" means (i) the power, direct or indirect, to cause the
  262         -
      direction or management of such entity, whether by contract or
  263         -
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
  264         -
      outstanding shares, or (iii) beneficial ownership of such entity.
  265         -
  266         -
      "You" (or "Your") shall mean an individual or Legal Entity
  267         -
      exercising permissions granted by this License.
  268         -
  269         -
      "Source" form shall mean the preferred form for making modifications,
  270         -
      including but not limited to software source code, documentation
  271         -
      source, and configuration files.
  272         -
  273         -
      "Object" form shall mean any form resulting from mechanical
  274         -
      transformation or translation of a Source form, including but
  275         -
      not limited to compiled object code, generated documentation,
  276         -
      and conversions to other media types.
  277         -
  278         -
      "Work" shall mean the work of authorship, whether in Source or
  279         -
      Object form, made available under the License, as indicated by a
  280         -
      copyright notice that is included in or attached to the work
  281         -
      (an example is provided in the Appendix below).
  282         -
  283         -
      "Derivative Works" shall mean any work, whether in Source or Object
  284         -
      form, that is based on (or derived from) the Work and for which the
  285         -
      editorial revisions, annotations, elaborations, or other modifications
  286         -
      represent, as a whole, an original work of authorship. For the purposes
  287         -
      of this License, Derivative Works shall not include works that remain
  288         -
      separable from, or merely link (or bind by name) to the interfaces of,
  289         -
      the Work and Derivative Works thereof.
  290         -
  291         -
      "Contribution" shall mean any work of authorship, including
  292         -
      the original version of the Work and any modifications or additions
  293         -
      to that Work or Derivative Works thereof, that is intentionally
  294         -
      submitted to Licensor for inclusion in the Work by the copyright owner
  295         -
      or by an individual or Legal Entity authorized to submit on behalf of
  296         -
      the copyright owner. For the purposes of this definition, "submitted"
  297         -
      means any form of electronic, verbal, or written communication sent
  298         -
      to the Licensor or its representatives, including but not limited to
  299         -
      communication on electronic mailing lists, source code control systems,
  300         -
      and issue tracking systems that are managed by, or on behalf of, the
  301         -
      Licensor for the purpose of discussing and improving the Work, but
  302         -
      excluding communication that is conspicuously marked or otherwise
  303         -
      designated in writing by the copyright owner as "Not a Contribution."
  304         -
  305         -
      "Contributor" shall mean Licensor and any individual or Legal Entity
  306         -
      on behalf of whom a Contribution has been received by Licensor and
  307         -
      subsequently incorporated within the Work.
  308         -
  309         -
   2. Grant of Copyright License. Subject to the terms and conditions of
  310         -
      this License, each Contributor hereby grants to You a perpetual,
  311         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  312         -
      copyright license to reproduce, prepare Derivative Works of,
  313         -
      publicly display, publicly perform, sublicense, and distribute the
  314         -
      Work and such Derivative Works in Source or Object form.
  315         -
  316         -
   3. Grant of Patent License. Subject to the terms and conditions of
  317         -
      this License, each Contributor hereby grants to You a perpetual,
  318         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  319         -
      (except as stated in this section) patent license to make, have made,
  320         -
      use, offer to sell, sell, import, and otherwise transfer the Work,
  321         -
      where such license applies only to those patent claims licensable
  322         -
      by such Contributor that are necessarily infringed by their
  323         -
      Contribution(s) alone or by combination of their Contribution(s)
  324         -
      with the Work to which such Contribution(s) was submitted. If You
  325         -
      institute patent litigation against any entity (including a
  326         -
      cross-claim or counterclaim in a lawsuit) alleging that the Work
  327         -
      or a Contribution incorporated within the Work constitutes direct
  328         -
      or contributory patent infringement, then any patent licenses
  329         -
      granted to You under this License for that Work shall terminate
  330         -
      as of the date such litigation is filed.
  331         -
  332         -
   4. Redistribution. You may reproduce and distribute copies of the
  333         -
      Work or Derivative Works thereof in any medium, with or without
  334         -
      modifications, and in Source or Object form, provided that You
  335         -
      meet the following conditions:
  336         -
  337         -
      (a) You must give any other recipients of the Work or
  338         -
          Derivative Works a copy of this License; and
  339         -
  340         -
      (b) You must cause any modified files to carry prominent notices
  341         -
          stating that You changed the files; and
  342         -
  343         -
      (c) You must retain, in the Source form of any Derivative Works
  344         -
          that You distribute, all copyright, patent, trademark, and
  345         -
          attribution notices from the Source form of the Work,
  346         -
          excluding those notices that do not pertain to any part of
  347         -
          the Derivative Works; and
  348         -
  349         -
      (d) If the Work includes a "NOTICE" text file as part of its
  350         -
          distribution, then any Derivative Works that You distribute must
  351         -
          include a readable copy of the attribution notices contained
  352         -
          within such NOTICE file, excluding those notices that do not
  353         -
          pertain to any part of the Derivative Works, in at least one
  354         -
          of the following places: within a NOTICE text file distributed
  355         -
          as part of the Derivative Works; within the Source form or
  356         -
          documentation, if provided along with the Derivative Works; or,
  357         -
          within a display generated by the Derivative Works, if and
  358         -
          wherever such third-party notices normally appear. The contents
  359         -
          of the NOTICE file are for informational purposes only and
  360         -
          do not modify the License. You may add Your own attribution
  361         -
          notices within Derivative Works that You distribute, alongside
  362         -
          or as an addendum to the NOTICE text from the Work, provided
  363         -
          that such additional attribution notices cannot be construed
  364         -
          as modifying the License.
  365         -
  366         -
      You may add Your own copyright statement to Your modifications and
  367         -
      may provide additional or different license terms and conditions
  368         -
      for use, reproduction, or distribution of Your modifications, or
  369         -
      for any such Derivative Works as a whole, provided Your use,
  370         -
      reproduction, and distribution of the Work otherwise complies with
  371         -
      the conditions stated in this License.
  372         -
  373         -
   5. Submission of Contributions. Unless You explicitly state otherwise,
  374         -
      any Contribution intentionally submitted for inclusion in the Work
  375         -
      by You to the Licensor shall be under the terms and conditions of
  376         -
      this License, without any additional terms or conditions.
  377         -
      Notwithstanding the above, nothing herein shall supersede or modify
  378         -
      the terms of any separate license agreement you may have executed
  379         -
      with Licensor regarding such Contributions.
  380         -
  381         -
   6. Trademarks. This License does not grant permission to use the trade
  382         -
      names, trademarks, service marks, or product names of the Licensor,
  383         -
      except as required for reasonable and customary use in describing the
  384         -
      origin of the Work and reproducing the content of the NOTICE file.
  385         -
  386         -
   7. Disclaimer of Warranty. Unless required by applicable law or
  387         -
      agreed to in writing, Licensor provides the Work (and each
  388         -
      Contributor provides its Contributions) on an "AS IS" BASIS,
  389         -
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  390         -
      implied, including, without limitation, any warranties or conditions
  391         -
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  392         -
      PARTICULAR PURPOSE. You are solely responsible for determining the
  393         -
      appropriateness of using or redistributing the Work and assume any
  394         -
      risks associated with Your exercise of permissions under this License.
  395         -
  396         -
   8. Limitation of Liability. In no event and under no legal theory,
  397         -
      whether in tort (including negligence), contract, or otherwise,
  398         -
      unless required by applicable law (such as deliberate and grossly
  399         -
      negligent acts) or agreed to in writing, shall any Contributor be
  400         -
      liable to You for damages, including any direct, indirect, special,
  401         -
      incidental, or consequential damages of any character arising as a
  402         -
      result of this License or out of the use or inability to use the
  403         -
      Work (including but not limited to damages for loss of goodwill,
  404         -
      work stoppage, computer failure or malfunction, or any and all
  405         -
      other commercial damages or losses), even if such Contributor
  406         -
      has been advised of the possibility of such damages.
  407         -
  408         -
   9. Accepting Warranty or Additional Liability. While redistributing
  409         -
      the Work or Derivative Works thereof, You may choose to offer,
  410         -
      and charge a fee for, acceptance of support, warranty, indemnity,
  411         -
      or other liability obligations and/or rights consistent with this
  412         -
      License. However, in accepting such obligations, You may act only
  413         -
      on Your own behalf and on Your sole responsibility, not on behalf
  414         -
      of any other Contributor, and only if You agree to indemnify,
  415         -
      defend, and hold each Contributor harmless for any liability
  416         -
      incurred by, or claims asserted against, such Contributor by reason
  417         -
      of your accepting any such warranty or additional liability.
  418         -
  419         -
   END OF TERMS AND CONDITIONS
  420         -
  421         -
   APPENDIX: How to apply the Apache License to your work.
  422         -
  423         -
      To apply the Apache License to your work, attach the following
  424         -
      boilerplate notice, with the fields enclosed by brackets "[]"
  425         -
      replaced with your own identifying information. (Don't include
  426         -
      the brackets!)  The text should be enclosed in the appropriate
  427         -
      comment syntax for the file format. We also recommend that a
  428         -
      file or class name and description of purpose be included on the
  429         -
      same "printed page" as the copyright notice for easier
  430         -
      identification within third-party archives.
  431         -
  432         -
   Copyright [yyyy] [name of copyright owner]
  433         -
  434         -
   Licensed under the Apache License, Version 2.0 (the "License");
  435         -
   you may not use this file except in compliance with the License.
  436         -
   You may obtain a copy of the License at
  437         -
  438         -
       http://www.apache.org/licenses/LICENSE-2.0
  439         -
  440         -
   Unless required by applicable law or agreed to in writing, software
  441         -
   distributed under the License is distributed on an "AS IS" BASIS,
  442         -
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  443         -
   See the License for the specific language governing permissions and
  444         -
   limitations under the License.
  445    145   
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
  446    146   
deleted file mode 100755
  447    147   
index d85f69e..0000000
  448         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE
         148  +
++ /dev/null
  449    149   
@@ -1,2 +0,0 @@
  450         -
AWS Signature Version 4a Test Suite
  451         -
Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  452    150   
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
  453    151   
deleted file mode 100644
  454    152   
index c716622..0000000
  455         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md
         153  +
++ /dev/null
  456    154   
@@ -1,24 +0,0 @@
  457         -
Where did the files in this directory come from?
  458         -
================================================
  459         -
  460         -
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.
  461         -
  462         -
Signature Version 4A Test Suite
  463         -
------------------------------
  464         -
  465         -
To assist you in the development of an AWS client that supports Signature Version 4A, you can use the
  466         -
files in the test suite to ensure your code is performing each step of the signing process correctly.
  467         -
  468         -
Each test group contains several files that you can use to validate most of the tasks described in
  469         -
Signature Version 4A Signing Process. The following list describes the contents of each file.
  470         -
  471         -
- context.json - Credentials and signer options to use when signing test requests
  472         -
- request.txt - The web request to be signed.
  473         -
- header-canonical-request.txt - The resulting canonical request in header-signature mode.
  474         -
- header-string-to-sign.txt - The resulting string to sign in header-signature mode.
  475         -
- query-canonical-request.txt - The resulting canonical request in query-signature mode.
  476         -
- query-string-to-sign.txt - The resulting string to sign in header-query mode.
  477         -
  478         -
Sigv4A signature generation isn't deterministic, so generated signatures can't be tested against known good ones.
  479         -
Instead, tests generate a signature, derive a verification key from the signing key, and verify the signature and
  480         -
the string to sign. This mirrors what AWS services do when verifying Sigv4A-signed requests.
  481    155   
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
  482    156   
deleted file mode 100644
  483    157   
index 45771c7..0000000
  484         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json
         158  +
++ /dev/null
  485    159   
@@ -1,12 +0,0 @@
  486         -
{
  487         -
    "credentials": {
  488         -
        "access_key_id": "AKIDEXAMPLE",
  489         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  490         -
    },
  491         -
    "expiration_in_seconds": 3600,
  492         -
    "normalize": true,
  493         -
    "region": "us-east-1",
  494         -
    "service": "service",
  495         -
    "sign_body": false,
  496         -
    "timestamp": "2015-08-30T12:36:00Z"
  497         -
}
  498    160   
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
  499    161   
deleted file mode 100644
  500    162   
index 45771c7..0000000
  501         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json
         163  +
++ /dev/null
  502    164   
@@ -1,12 +0,0 @@
  503         -
{
  504         -
    "credentials": {
  505         -
        "access_key_id": "AKIDEXAMPLE",
  506         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  507         -
    },
  508         -
    "expiration_in_seconds": 3600,
  509         -
    "normalize": true,
  510         -
    "region": "us-east-1",
  511         -
    "service": "service",
  512         -
    "sign_body": false,
  513         -
    "timestamp": "2015-08-30T12:36:00Z"
  514         -
}
  515    165   
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
  516    166   
deleted file mode 100644
  517    167   
index 45771c7..0000000
  518         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json
         168  +
++ /dev/null
  519    169   
@@ -1,12 +0,0 @@
  520         -
{
  521         -
    "credentials": {
  522         -
        "access_key_id": "AKIDEXAMPLE",
  523         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  524         -
    },
  525         -
    "expiration_in_seconds": 3600,
  526         -
    "normalize": true,
  527         -
    "region": "us-east-1",
  528         -
    "service": "service",
  529         -
    "sign_body": false,
  530         -
    "timestamp": "2015-08-30T12:36:00Z"
  531         -
}
  532    170   
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
  533    171   
deleted file mode 100644
  534    172   
index 45771c7..0000000
  535         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json
         173  +
++ /dev/null
  536    174   
@@ -1,12 +0,0 @@
  537         -
{
  538         -
    "credentials": {
  539         -
        "access_key_id": "AKIDEXAMPLE",
  540         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  541         -
    },
  542         -
    "expiration_in_seconds": 3600,
  543         -
    "normalize": true,
  544         -
    "region": "us-east-1",
  545         -
    "service": "service",
  546         -
    "sign_body": false,
  547         -
    "timestamp": "2015-08-30T12:36:00Z"
  548         -
}
  549    175   
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
  550    176   
deleted file mode 100644
  551    177   
index afe367b..0000000
  552         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json
         178  +
++ /dev/null
  553    179   
@@ -1,12 +0,0 @@
  554         -
{
  555         -
    "credentials": {
  556         -
        "access_key_id": "AKIDEXAMPLE",
  557         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  558         -
    },
  559         -
    "expiration_in_seconds": 3600,
  560         -
    "normalize": false,
  561         -
    "region": "us-east-1",
  562         -
    "service": "service",
  563         -
    "sign_body": false,
  564         -
    "timestamp": "2015-08-30T12:36:00Z"
  565         -
}
  566    180   
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
  567    181   
deleted file mode 100644
  568    182   
index 45771c7..0000000
  569         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json
         183  +
++ /dev/null
  570    184   
@@ -1,12 +0,0 @@
  571         -
{
  572         -
    "credentials": {
  573         -
        "access_key_id": "AKIDEXAMPLE",
  574         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  575         -
    },
  576         -
    "expiration_in_seconds": 3600,
  577         -
    "normalize": true,
  578         -
    "region": "us-east-1",
  579         -
    "service": "service",
  580         -
    "sign_body": false,
  581         -
    "timestamp": "2015-08-30T12:36:00Z"
  582         -
}
  583    185   
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
  584    186   
deleted file mode 100644
  585    187   
index afe367b..0000000
  586         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json
         188  +
++ /dev/null
  587    189   
@@ -1,12 +0,0 @@
  588         -
{
  589         -
    "credentials": {
  590         -
        "access_key_id": "AKIDEXAMPLE",
  591         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  592         -
    },
  593         -
    "expiration_in_seconds": 3600,
  594         -
    "normalize": false,
  595         -
    "region": "us-east-1",
  596         -
    "service": "service",
  597         -
    "sign_body": false,
  598         -
    "timestamp": "2015-08-30T12:36:00Z"
  599         -
}
  600    190   
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
  601    191   
deleted file mode 100644
  602    192   
index 45771c7..0000000
  603         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json
         193  +
++ /dev/null
  604    194   
@@ -1,12 +0,0 @@
  605         -
{
  606         -
    "credentials": {
  607         -
        "access_key_id": "AKIDEXAMPLE",
  608         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  609         -
    },
  610         -
    "expiration_in_seconds": 3600,
  611         -
    "normalize": true,
  612         -
    "region": "us-east-1",
  613         -
    "service": "service",
  614         -
    "sign_body": false,
  615         -
    "timestamp": "2015-08-30T12:36:00Z"
  616         -
}
  617    195   
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
  618    196   
deleted file mode 100644
  619    197   
index 45771c7..0000000
  620         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json
         198  +
++ /dev/null
  621    199   
@@ -1,12 +0,0 @@
  622         -
{
  623         -
    "credentials": {
  624         -
        "access_key_id": "AKIDEXAMPLE",
  625         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  626         -
    },
  627         -
    "expiration_in_seconds": 3600,
  628         -
    "normalize": true,
  629         -
    "region": "us-east-1",
  630         -
    "service": "service",
  631         -
    "sign_body": false,
  632         -
    "timestamp": "2015-08-30T12:36:00Z"
  633         -
}
  634    200   
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
  635    201   
deleted file mode 100644
  636    202   
index 45771c7..0000000
  637         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json
         203  +
++ /dev/null
  638    204   
@@ -1,12 +0,0 @@
  639         -
{
  640         -
    "credentials": {
  641         -
        "access_key_id": "AKIDEXAMPLE",
  642         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  643         -
    },
  644         -
    "expiration_in_seconds": 3600,
  645         -
    "normalize": true,
  646         -
    "region": "us-east-1",
  647         -
    "service": "service",
  648         -
    "sign_body": false,
  649         -
    "timestamp": "2015-08-30T12:36:00Z"
  650         -
}
  651    205   
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
  652    206   
deleted file mode 100644
  653    207   
index 45771c7..0000000
  654         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json
         208  +
++ /dev/null
  655    209   
@@ -1,12 +0,0 @@
  656         -
{
  657         -
    "credentials": {
  658         -
        "access_key_id": "AKIDEXAMPLE",
  659         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  660         -
    },
  661         -
    "expiration_in_seconds": 3600,
  662         -
    "normalize": true,
  663         -
    "region": "us-east-1",
  664         -
    "service": "service",
  665         -
    "sign_body": false,
  666         -
    "timestamp": "2015-08-30T12:36:00Z"
  667         -
}
  668    210   
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
  669    211   
deleted file mode 100644
  670    212   
index 45771c7..0000000
  671         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json
         213  +
++ /dev/null
  672    214   
@@ -1,12 +0,0 @@
  673         -
{
  674         -
    "credentials": {
  675         -
        "access_key_id": "AKIDEXAMPLE",
  676         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  677         -
    },
  678         -
    "expiration_in_seconds": 3600,
  679         -
    "normalize": true,
  680         -
    "region": "us-east-1",
  681         -
    "service": "service",
  682         -
    "sign_body": false,
  683         -
    "timestamp": "2015-08-30T12:36:00Z"
  684         -
}
  685    215   
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
  686    216   
deleted file mode 100644
  687    217   
index 47e7128..0000000
  688         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt
         218  +
++ /dev/null
  689    219   
@@ -1,9 +0,0 @@
  690         -
GET
  691         -
/
  692         -
  693         -
host:example.amazonaws.com
  694         -
x-amz-date:20150830T123600Z
  695         -
x-amz-region-set:us-east-1
  696         -
  697         -
host;x-amz-date;x-amz-region-set
  698         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  699    220   
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
  700    221   
deleted file mode 100644
  701    222   
index 95d7219..0000000
  702         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt
         223  +
++ /dev/null
  703    224   
@@ -1,4 +0,0 @@
  704         -
AWS4-ECDSA-P256-SHA256
  705         -
20150830T123600Z
  706         -
20150830/service/aws4_request
  707         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  708    225   
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
  709    226   
deleted file mode 100644
  710    227   
index a34ea26..0000000
  711         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt
         228  +
++ /dev/null
  712    229   
@@ -1,7 +0,0 @@
  713         -
GET
  714         -
/
  715         -
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
  716         -
host:example.amazonaws.com
  717         -
  718         -
host
  719         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  720    230   
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
  721    231   
deleted file mode 100644
  722    232   
index 48f855c..0000000
  723         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt
         233  +
++ /dev/null
  724    234   
@@ -1,4 +0,0 @@
  725         -
AWS4-ECDSA-P256-SHA256
  726         -
20150830T123600Z
  727         -
20150830/service/aws4_request
  728         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  729    235   
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
  730    236   
deleted file mode 100644
  731    237   
index 45771c7..0000000
  732         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json
         238  +
++ /dev/null
  733    239   
@@ -1,12 +0,0 @@
  734         -
{
  735         -
    "credentials": {
  736         -
        "access_key_id": "AKIDEXAMPLE",
  737         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  738         -
    },
  739         -
    "expiration_in_seconds": 3600,
  740         -
    "normalize": true,
  741         -
    "region": "us-east-1",
  742         -
    "service": "service",
  743         -
    "sign_body": false,
  744         -
    "timestamp": "2015-08-30T12:36:00Z"
  745         -
}
  746    240   
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
  747    241   
deleted file mode 100644
  748    242   
index 47e7128..0000000
  749         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt
         243  +
++ /dev/null
  750    244   
@@ -1,9 +0,0 @@
  751         -
GET
  752         -
/
  753         -
  754         -
host:example.amazonaws.com
  755         -
x-amz-date:20150830T123600Z
  756         -
x-amz-region-set:us-east-1
  757         -
  758         -
host;x-amz-date;x-amz-region-set
  759         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  760    245   
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
  761    246   
deleted file mode 100644
  762    247   
index 95d7219..0000000
  763         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt
         248  +
++ /dev/null
  764    249   
@@ -1,4 +0,0 @@
  765         -
AWS4-ECDSA-P256-SHA256
  766         -
20150830T123600Z
  767         -
20150830/service/aws4_request
  768         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  769    250   
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
  770    251   
deleted file mode 100644
  771    252   
index a34ea26..0000000
  772         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt
         253  +
++ /dev/null
  773    254   
@@ -1,7 +0,0 @@
  774         -
GET
  775         -
/
  776         -
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
  777         -
host:example.amazonaws.com
  778         -
  779         -
host
  780         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  781    255   
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
  782    256   
deleted file mode 100644
  783    257   
index 48f855c..0000000
  784         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt
         258  +
++ /dev/null
  785    259   
@@ -1,4 +0,0 @@
  786         -
AWS4-ECDSA-P256-SHA256
  787         -
20150830T123600Z
  788         -
20150830/service/aws4_request
  789         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  790    260   
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
  791    261   
deleted file mode 100644
  792    262   
index 45771c7..0000000
  793         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json
         263  +
++ /dev/null
  794    264   
@@ -1,12 +0,0 @@
  795         -
{
  796         -
    "credentials": {
  797         -
        "access_key_id": "AKIDEXAMPLE",
  798         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  799         -
    },
  800         -
    "expiration_in_seconds": 3600,
  801         -
    "normalize": true,
  802         -
    "region": "us-east-1",
  803         -
    "service": "service",
  804         -
    "sign_body": false,
  805         -
    "timestamp": "2015-08-30T12:36:00Z"
  806         -
}
  807    265   
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
  808    266   
deleted file mode 100644
  809    267   
index 45771c7..0000000
  810         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json
         268  +
++ /dev/null
  811    269   
@@ -1,12 +0,0 @@
  812         -
{
  813         -
    "credentials": {
  814         -
        "access_key_id": "AKIDEXAMPLE",
  815         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  816         -
    },
  817         -
    "expiration_in_seconds": 3600,
  818         -
    "normalize": true,
  819         -
    "region": "us-east-1",
  820         -
    "service": "service",
  821         -
    "sign_body": false,
  822         -
    "timestamp": "2015-08-30T12:36:00Z"
  823         -
}
  824    270   
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
  825    271   
deleted file mode 100644
  826    272   
index 45771c7..0000000
  827         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json
         273  +
++ /dev/null
  828    274   
@@ -1,12 +0,0 @@
  829         -
{
  830         -
    "credentials": {
  831         -
        "access_key_id": "AKIDEXAMPLE",
  832         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  833         -
    },
  834         -
    "expiration_in_seconds": 3600,
  835         -
    "normalize": true,
  836         -
    "region": "us-east-1",
  837         -
    "service": "service",
  838         -
    "sign_body": false,
  839         -
    "timestamp": "2015-08-30T12:36:00Z"
  840         -
}
  841    275   
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
  842    276   
deleted file mode 100644
  843    277   
index 45771c7..0000000
  844         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json
         278  +
++ /dev/null
  845    279   
@@ -1,12 +0,0 @@
  846         -
{
  847         -
    "credentials": {
  848         -
        "access_key_id": "AKIDEXAMPLE",
  849         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  850         -
    },
  851         -
    "expiration_in_seconds": 3600,
  852         -
    "normalize": true,
  853         -
    "region": "us-east-1",
  854         -
    "service": "service",
  855         -
    "sign_body": false,
  856         -
    "timestamp": "2015-08-30T12:36:00Z"
  857         -
}
  858    280   
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
  859    281   
deleted file mode 100644
  860    282   
index 45771c7..0000000
  861         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json
         283  +
++ /dev/null
  862    284   
@@ -1,12 +0,0 @@
  863         -
{
  864         -
    "credentials": {
  865         -
        "access_key_id": "AKIDEXAMPLE",
  866         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  867         -
    },
  868         -
    "expiration_in_seconds": 3600,
  869         -
    "normalize": true,
  870         -
    "region": "us-east-1",
  871         -
    "service": "service",
  872         -
    "sign_body": false,
  873         -
    "timestamp": "2015-08-30T12:36:00Z"
  874         -
}
  875    285   
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
  876    286   
deleted file mode 100644
  877    287   
index 45771c7..0000000
  878         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json
         288  +
++ /dev/null
  879    289   
@@ -1,12 +0,0 @@
  880         -
{
  881         -
    "credentials": {
  882         -
        "access_key_id": "AKIDEXAMPLE",
  883         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  884         -
    },
  885         -
    "expiration_in_seconds": 3600,
  886         -
    "normalize": true,
  887         -
    "region": "us-east-1",
  888         -
    "service": "service",
  889         -
    "sign_body": false,
  890         -
    "timestamp": "2015-08-30T12:36:00Z"
  891         -
}
  892    290   
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
  893    291   
deleted file mode 100644
  894    292   
index b6fdecf..0000000
  895         -
-- 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
         293  +
++ /dev/null
  896    294   
@@ -1,4 +0,0 @@
  897         -
AWS4-ECDSA-P256-SHA256
  898         -
20150830T123600Z
  899         -
20150830/service/aws4_request
  900         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  901    295   
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
  902    296   
deleted file mode 100644
  903    297   
index a300bea..0000000
  904         -
-- 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
         298  +
++ /dev/null
  905    299   
@@ -1,4 +0,0 @@
  906         -
AWS4-ECDSA-P256-SHA256
  907         -
20150830T123600Z
  908         -
20150830/service/aws4_request
  909         -
ab426c74406d082ad98929df8969624e6ed5cb7f4e8501fbbe7d8c20e9c3b417
  910    300   
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
  911    301   
deleted file mode 100644
  912    302   
index b6fdecf..0000000
  913         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt
         303  +
++ /dev/null
  914    304   
@@ -1,4 +0,0 @@
  915         -
AWS4-ECDSA-P256-SHA256
  916         -
20150830T123600Z
  917         -
20150830/service/aws4_request
  918         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  919    305   
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
  920    306   
new file mode 100644
  921    307   
index 0000000..a674243
  922         -
-- /dev/null
         308  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md
  923    309   
@@ -0,0 +1,7 @@
         310  +
# AWS SigV4 and SigV4A Signing Test Suite
         311  +
         312  +
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).
         313  +
         314  +
We added the following changes:
         315  +
         316  +
* 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
  924    317   
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
  925    318   
similarity index 100%
  926    319   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.creq
  927    320   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-canonical-request.txt
  928    321   
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
  929    322   
similarity index 100%
  930    323   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.sreq
  931    324   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-signed-request.txt
  932    325   
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
  933    326   
similarity index 100%
  934    327   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.req
  935    328   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/request.txt
  936    329   
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
  937    330   
similarity index 100%
  938    331   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq
  939    332   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-canonical-request.txt
  940    333   
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
  941    334   
similarity index 100%
  942    335   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq
  943    336   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-signed-request.txt
  944    337   
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
  945    338   
similarity index 100%
  946    339   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts
  947    340   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-string-to-sign.txt
  948    341   
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
  949    342   
similarity index 100%
  950    343   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req
  951    344   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/request.txt
  952    345   
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
  953    346   
similarity index 99%
  954    347   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
  955    348   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
  956    349   
index 45771c7..0468d80 100644
  957    350   
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
  958    351   
similarity index 100%
  959    352   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq
  960    353   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
  961    354   
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
  962    355   
new file mode 100644
  963    356   
index 0000000..7fc5d7a
  964         -
-- /dev/null
         357  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
  965    358   
@@ -0,0 +1 @@
         359  +
c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
              \
 No newline at end of file
  966    360   
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
  967    361   
new file mode 100644
  968    362   
index 0000000..36a1205
  969         -
-- /dev/null
         363  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
  970    364   
@@ -0,0 +1,8 @@
         365  +
GET / HTTP/1.1
         366  +
Host:example.amazonaws.com
         367  +
My-Header1:value2
         368  +
My-Header1:value2
         369  +
My-Header1:value1
         370  +
X-Amz-Date:20150830T123600Z
         371  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
         372  +
  971    373   
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
  972    374   
similarity index 100%
  973    375   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts
  974    376   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
  975    377   
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
  976    378   
new file mode 100644
  977    379   
index 0000000..f9f4190
  978         -
-- /dev/null
         380  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
  979    381   
@@ -0,0 +1,8 @@
         382  +
GET
         383  +
/
         384  +
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
         385  +
host:example.amazonaws.com
         386  +
my-header1:value2,value2,value1
         387  +
         388  +
host;my-header1
         389  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  980    390   
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
  981    391   
new file mode 100644
  982    392   
index 0000000..5d0d87f
  983         -
-- /dev/null
         393  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
  984    394   
@@ -0,0 +1 @@
         395  +
3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97
              \
 No newline at end of file
  985    396   
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
  986    397   
new file mode 100644
  987    398   
index 0000000..c1dfcf4
  988         -
-- /dev/null
         399  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
  989    400   
@@ -0,0 +1,6 @@
         401  +
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
         402  +
Host:example.amazonaws.com
         403  +
My-Header1:value2
         404  +
My-Header1:value2
         405  +
My-Header1:value1
         406  +
  990    407   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
  991    408   
similarity index 53%
  992    409   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
  993    410   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
  994    411   
index 0a3350a..077c1bb 100644
  995         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
         412  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
  996    413   
@@ -1,4 +1,4 @@
  997    414   
AWS4-HMAC-SHA256
  998    415   
20150830T123600Z
  999    416   
20150830/us-east-1/service/aws4_request
 1000         -
b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55
              \
 No newline at end of file
         417  +
fe8b58fb44117d598520befc07c144a5699c661a8db78f9ce4caee1655dec813
              \
 No newline at end of file
 1001    418   
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
 1002    419   
similarity index 100%
 1003    420   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt
 1004    421   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
 1005    422   
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
 1006    423   
similarity index 99%
 1007    424   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
 1008    425   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1009    426   
index 45771c7..0468d80 100644
 1010    427   
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
 1011    428   
similarity index 82%
 1012    429   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
 1013    430   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1014    431   
index 721a39f..8cb5476 100644
 1015         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
         432  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1016    433   
@@ -1,9 +1,9 @@
 1017    434   
GET
 1018    435   
/
 1019    436   
 1020    437   
host:example.amazonaws.com
 1021         -
my-header1:value1,value2,value3
         438  +
my-header1:value1 value2 value3
 1022    439   
x-amz-date:20150830T123600Z
 1023    440   
 1024    441   
host;my-header1;x-amz-date
 1025    442   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1026    443   
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
 1027    444   
new file mode 100644
 1028    445   
index 0000000..e6ff7a9
 1029         -
-- /dev/null
         446  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
 1030    447   
@@ -0,0 +1 @@
         448  +
cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
              \
 No newline at end of file
 1031    449   
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
 1032    450   
new file mode 100644
 1033    451   
index 0000000..b5ef6a0
 1034         -
-- /dev/null
         452  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
 1035    453   
@@ -0,0 +1,8 @@
         454  +
GET / HTTP/1.1
         455  +
Host:example.amazonaws.com
         456  +
My-Header1:value1
         457  +
  value2
         458  +
     value3
         459  +
X-Amz-Date:20150830T123600Z
         460  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
         461  +
 1036    462   
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
 1037    463   
similarity index 53%
 1038    464   
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
 1039    465   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1040    466   
index fd43a41..97c7430 100644
 1041         -
-- 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
         467  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1042    468   
@@ -1,4 +1,4 @@
 1043    469   
AWS4-HMAC-SHA256
 1044    470   
20150830T123600Z
 1045    471   
20150830/us-east-1/service/aws4_request
 1046         -
704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89
              \
 No newline at end of file
         472  +
e99419459a677bc11de234014be3c4e72c1ea5b454ceb58b613061f5d7a162e8
              \
 No newline at end of file
 1047    473   
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
 1048    474   
new file mode 100644
 1049    475   
index 0000000..aac46de
 1050         -
-- /dev/null
         476  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
 1051    477   
@@ -0,0 +1,8 @@
         478  +
GET
         479  +
/
         480  +
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
         481  +
host:example.amazonaws.com
         482  +
my-header1:value1 value2 value3
         483  +
         484  +
host;my-header1
         485  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1052    486   
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
 1053    487   
new file mode 100644
 1054    488   
index 0000000..205732d
 1055         -
-- /dev/null
         489  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
 1056    490   
@@ -0,0 +1 @@
         491  +
e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56
              \
 No newline at end of file
 1057    492   
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
 1058    493   
new file mode 100644
 1059    494   
index 0000000..a891b87
 1060         -
-- /dev/null
         495  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
 1061    496   
@@ -0,0 +1,6 @@
         497  +
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
         498  +
Host:example.amazonaws.com
         499  +
My-Header1:value1
         500  +
  value2
         501  +
     value3
         502  +
 1062    503   
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
 1063    504   
similarity index 53%
 1064    505   
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
 1065    506   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1066    507   
index 90e66b8..ec3fe45 100644
 1067         -
-- 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
         508  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1068    509   
@@ -1,4 +1,4 @@
 1069    510   
AWS4-HMAC-SHA256
 1070    511   
20150830T123600Z
 1071    512   
20150830/us-east-1/service/aws4_request
 1072         -
c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606
              \
 No newline at end of file
         513  +
0e73c10e35324b4d215da4bb70be61d13a3d30d569be4ed6e8fd8948965341ca
              \
 No newline at end of file
 1073    514   
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
 1074    515   
similarity index 75%
 1075    516   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
 1076    517   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1077    518   
index 7caa6ac..b5026cd 100644
 1078         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
         519  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1079    520   
@@ -1,6 +1,5 @@
 1080    521   
GET / HTTP/1.1
 1081    522   
Host:example.amazonaws.com
 1082    523   
My-Header1:value1
 1083    524   
  value2
 1084    525   
     value3
 1085         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1086    526   
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
 1087    527   
similarity index 99%
 1088    528   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
 1089    529   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1090    530   
index 45771c7..0468d80 100644
 1091    531   
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
 1092    532   
similarity index 100%
 1093    533   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq
 1094    534   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
 1095    535   
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
 1096    536   
new file mode 100644
 1097    537   
index 0000000..8ef0494
 1098         -
-- /dev/null
         538  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
 1099    539   
@@ -0,0 +1 @@
         540  +
08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
 1100    541   
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
 1101    542   
new file mode 100644
 1102    543   
index 0000000..b786dc9
 1103         -
-- /dev/null
         544  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
 1104    545   
@@ -0,0 +1,9 @@
         546  +
GET / HTTP/1.1
         547  +
Host:example.amazonaws.com
         548  +
My-Header1:value4
         549  +
My-Header1:value1
         550  +
My-Header1:value3
         551  +
My-Header1:value2
         552  +
X-Amz-Date:20150830T123600Z
         553  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
         554  +
 1105    555   
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
 1106    556   
similarity index 100%
 1107    557   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts
 1108    558   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
 1109    559   
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
 1110    560   
new file mode 100644
 1111    561   
index 0000000..a211cc5
 1112         -
-- /dev/null
         562  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
 1113    563   
@@ -0,0 +1,8 @@
         564  +
GET
         565  +
/
         566  +
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
         567  +
host:example.amazonaws.com
         568  +
my-header1:value4,value1,value3,value2
         569  +
         570  +
host;my-header1
         571  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1114    572   
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
 1115    573   
new file mode 100644
 1116    574   
index 0000000..417b0fa
 1117         -
-- /dev/null
         575  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
 1118    576   
@@ -0,0 +1 @@
         577  +
313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e
              \
 No newline at end of file
 1119    578   
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
 1120    579   
new file mode 100644
 1121    580   
index 0000000..b615e5d
 1122         -
-- /dev/null
         581  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
 1123    582   
@@ -0,0 +1,7 @@
         583  +
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
         584  +
Host:example.amazonaws.com
         585  +
My-Header1:value4
         586  +
My-Header1:value1
         587  +
My-Header1:value3
         588  +
My-Header1:value2
         589  +
 1124    590   
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
 1125    591   
similarity index 53%
 1126    592   
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
 1127    593   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1128    594   
index f7e615e..dcaaa1b 100644
 1129         -
-- 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
         595  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1130    596   
@@ -1,4 +1,4 @@
 1131    597   
AWS4-HMAC-SHA256
 1132    598   
20150830T123600Z
 1133    599   
20150830/us-east-1/service/aws4_request
 1134         -
5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9
              \
 No newline at end of file
         600  +
f4d3f13084ba7664111670ce26458291d3e0c620acd9384f8cd6b60d8e83423e
              \
 No newline at end of file
 1135    601   
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
 1136    602   
similarity index 100%
 1137    603   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt
 1138    604   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1139    605   
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
 1140    606   
similarity index 99%
 1141    607   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
 1142    608   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1143    609   
index 45771c7..0468d80 100644
 1144    610   
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
 1145    611   
similarity index 100%
 1146    612   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq
 1147    613   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1148    614   
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
 1149    615   
new file mode 100644
 1150    616   
index 0000000..36081a9
 1151         -
-- /dev/null
         617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1152    618   
@@ -0,0 +1 @@
         619  +
acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
 1153    620   
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
 1154    621   
new file mode 100644
 1155    622   
index 0000000..6331d16
 1156         -
-- /dev/null
         623  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1157    624   
@@ -0,0 +1,7 @@
         625  +
GET / HTTP/1.1
         626  +
Host:example.amazonaws.com
         627  +
My-Header1: value1
         628  +
My-Header2: "a   b   c"
         629  +
X-Amz-Date:20150830T123600Z
         630  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
         631  +
 1158    632   
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
 1159    633   
similarity index 100%
 1160    634   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts
 1161    635   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1162    636   
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
 1163    637   
new file mode 100644
 1164    638   
index 0000000..125c1f9
 1165         -
-- /dev/null
         639  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1166    640   
@@ -0,0 +1,9 @@
         641  +
GET
         642  +
/
         643  +
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
         644  +
host:example.amazonaws.com
         645  +
my-header1:value1
         646  +
my-header2:"a b c"
         647  +
         648  +
host;my-header1;my-header2
         649  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1167    650   
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
 1168    651   
new file mode 100644
 1169    652   
index 0000000..17007a8
 1170         -
-- /dev/null
         653  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1171    654   
@@ -0,0 +1 @@
         655  +
e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4
              \
 No newline at end of file
 1172    656   
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
 1173    657   
new file mode 100644
 1174    658   
index 0000000..e519fd9
 1175         -
-- /dev/null
         659  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1176    660   
@@ -0,0 +1,5 @@
         661  +
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
         662  +
Host:example.amazonaws.com
         663  +
My-Header1: value1
         664  +
My-Header2: "a   b   c"
         665  +
 1177    666   
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
 1178    667   
new file mode 100644
 1179    668   
index 0000000..6b4b781
 1180         -
-- /dev/null
         669  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1181    670   
@@ -0,0 +1,4 @@
         671  +
AWS4-HMAC-SHA256
         672  +
20150830T123600Z
         673  +
20150830/us-east-1/service/aws4_request
         674  +
84c9e353b6161b689210977f93b93e6a7182f9ecb2ceae8af8c3d86b080a88ae
              \
 No newline at end of file
 1182    675   
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
 1183    676   
similarity index 100%
 1184    677   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt
 1185    678   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1186    679   
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
 1187    680   
new file mode 100644
 1188    681   
index 0000000..0468d80
 1189         -
-- /dev/null
         682  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1190    683   
@@ -0,0 +1,12 @@
         684  +
{
         685  +
    "credentials": {
         686  +
        "access_key_id": "AKIDEXAMPLE",
         687  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         688  +
    },
         689  +
    "expiration_in_seconds": 3600,
         690  +
    "normalize": true,
         691  +
    "region": "us-east-1",
         692  +
    "service": "service",
         693  +
    "sign_body": false,
         694  +
    "timestamp": "2015-08-30T12:36:00Z"
         695  +
}
              \
 No newline at end of file
 1191    696   
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
 1192    697   
similarity index 100%
 1193    698   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq
 1194    699   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1195    700   
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
 1196    701   
new file mode 100644
 1197    702   
index 0000000..87f295f
 1198         -
-- /dev/null
         703  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1199    704   
@@ -0,0 +1 @@
         705  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1200    706   
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
 1201    707   
new file mode 100644
 1202    708   
index 0000000..0de8327
 1203         -
-- /dev/null
         709  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1204    710   
@@ -0,0 +1,5 @@
         711  +
GET /example/.. HTTP/1.1
         712  +
Host:example.amazonaws.com
         713  +
X-Amz-Date:20150830T123600Z
         714  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         715  +
 1205    716   
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
 1206    717   
similarity index 100%
 1207    718   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts
 1208    719   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1209    720   
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
 1210    721   
new file mode 100644
 1211    722   
index 0000000..fb2420d
 1212         -
-- /dev/null
         723  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1213    724   
@@ -0,0 +1,7 @@
         725  +
GET
         726  +
/
         727  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
         728  +
host:example.amazonaws.com
         729  +
         730  +
host
         731  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1214    732   
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
 1215    733   
new file mode 100644
 1216    734   
index 0000000..da5c905
 1217         -
-- /dev/null
         735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1218    736   
@@ -0,0 +1 @@
         737  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1219    738   
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
 1220    739   
new file mode 100644
 1221    740   
index 0000000..4329c98
 1222         -
-- /dev/null
         741  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1223    742   
@@ -0,0 +1,3 @@
         743  +
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
         744  +
Host:example.amazonaws.com
         745  +
 1224    746   
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
 1225    747   
new file mode 100644
 1226    748   
index 0000000..d837e67
 1227         -
-- /dev/null
         749  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1228    750   
@@ -0,0 +1,4 @@
         751  +
AWS4-HMAC-SHA256
         752  +
20150830T123600Z
         753  +
20150830/us-east-1/service/aws4_request
         754  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1229    755   
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
 1230    756   
similarity index 100%
 1231    757   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt
 1232    758   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1233    759   
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
 1234    760   
new file mode 100644
 1235    761   
index 0000000..0468d80
 1236         -
-- /dev/null
         762  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1237    763   
@@ -0,0 +1,12 @@
         764  +
{
         765  +
    "credentials": {
         766  +
        "access_key_id": "AKIDEXAMPLE",
         767  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         768  +
    },
         769  +
    "expiration_in_seconds": 3600,
         770  +
    "normalize": true,
         771  +
    "region": "us-east-1",
         772  +
    "service": "service",
         773  +
    "sign_body": false,
         774  +
    "timestamp": "2015-08-30T12:36:00Z"
         775  +
}
              \
 No newline at end of file
 1238    776   
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
 1239    777   
similarity index 100%
 1240    778   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq
 1241    779   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1242    780   
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
 1243    781   
new file mode 100644
 1244    782   
index 0000000..87f295f
 1245         -
-- /dev/null
         783  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1246    784   
@@ -0,0 +1 @@
         785  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1247    786   
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
 1248    787   
new file mode 100644
 1249    788   
index 0000000..f9b3815
 1250         -
-- /dev/null
         789  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1251    790   
@@ -0,0 +1,5 @@
         791  +
GET /example1/example2/../.. HTTP/1.1
         792  +
Host:example.amazonaws.com
         793  +
X-Amz-Date:20150830T123600Z
         794  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         795  +
 1252    796   
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
 1253    797   
similarity index 100%
 1254    798   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts
 1255    799   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1256    800   
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
 1257    801   
new file mode 100644
 1258    802   
index 0000000..fb2420d
 1259         -
-- /dev/null
         803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1260    804   
@@ -0,0 +1,7 @@
         805  +
GET
         806  +
/
         807  +
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
         808  +
host:example.amazonaws.com
         809  +
         810  +
host
         811  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1261    812   
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
 1262    813   
new file mode 100644
 1263    814   
index 0000000..da5c905
 1264         -
-- /dev/null
         815  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1265    816   
@@ -0,0 +1 @@
         817  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1266    818   
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
 1267    819   
new file mode 100644
 1268    820   
index 0000000..b2988b7
 1269         -
-- /dev/null
         821  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1270    822   
@@ -0,0 +1,3 @@
         823  +
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
         824  +
Host:example.amazonaws.com
         825  +
 1271    826   
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
 1272    827   
new file mode 100644
 1273    828   
index 0000000..d837e67
 1274         -
-- /dev/null
         829  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1275    830   
@@ -0,0 +1,4 @@
         831  +
AWS4-HMAC-SHA256
         832  +
20150830T123600Z
         833  +
20150830/us-east-1/service/aws4_request
         834  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1276    835   
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
 1277    836   
similarity index 100%
 1278    837   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt
 1279    838   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1280    839   
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
 1281    840   
similarity index 99%
 1282    841   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
 1283    842   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1284    843   
index afe367b..7bee5c7 100644
 1285    844   
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
 1286    845   
similarity index 82%
 1287    846   
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
 1288    847   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1289    848   
index 36c3cdf..6919c44 100644
 1290         -
-- 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
         849  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1291    850   
@@ -1,8 +1,8 @@
 1292    851   
GET
 1293         -
/
 1294         -
Param1=Value1&Param1=value2
         852  +
/example1/example2/../..
         853  +
 1295    854   
host:example.amazonaws.com
 1296    855   
x-amz-date:20150830T123600Z
 1297    856   
 1298    857   
host;x-amz-date
 1299    858   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1300    859   
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
 1301    860   
new file mode 100644
 1302    861   
index 0000000..4092d83
 1303         -
-- /dev/null
         862  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1304    863   
@@ -0,0 +1 @@
         864  +
dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
              \
 No newline at end of file
 1305    865   
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
 1306    866   
new file mode 100644
 1307    867   
index 0000000..e731b35
 1308         -
-- /dev/null
         868  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1309    869   
@@ -0,0 +1,5 @@
         870  +
GET /example1/example2/../.. HTTP/1.1
         871  +
Host:example.amazonaws.com
         872  +
X-Amz-Date:20150830T123600Z
         873  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
         874  +
 1310    875   
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
 1311    876   
new file mode 100644
 1312    877   
index 0000000..4f45752
 1313         -
-- /dev/null
         878  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1314    879   
@@ -0,0 +1,4 @@
         880  +
AWS4-HMAC-SHA256
         881  +
20150830T123600Z
         882  +
20150830/us-east-1/service/aws4_request
         883  +
76115030c0f3ff06c20fdff5ceb6d5e0b835a1743e00b94fea7c7f381269437b
              \
 No newline at end of file
 1315    884   
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
 1316    885   
new file mode 100644
 1317    886   
index 0000000..e1fb07d
 1318         -
-- /dev/null
         887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1319    888   
@@ -0,0 +1,7 @@
         889  +
GET
         890  +
/example1/example2/../..
         891  +
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
         892  +
host:example.amazonaws.com
         893  +
         894  +
host
         895  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1320    896   
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
 1321    897   
new file mode 100644
 1322    898   
index 0000000..8ac31d7
 1323         -
-- /dev/null
         899  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1324    900   
@@ -0,0 +1 @@
         901  +
b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16
              \
 No newline at end of file
 1325    902   
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
 1326    903   
new file mode 100644
 1327    904   
index 0000000..ac074f9
 1328         -
-- /dev/null
         905  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1329    906   
@@ -0,0 +1,3 @@
         907  +
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
         908  +
Host:example.amazonaws.com
         909  +
 1330    910   
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
 1331    911   
new file mode 100644
 1332    912   
index 0000000..8dcb6ff
 1333         -
-- /dev/null
         913  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1334    914   
@@ -0,0 +1,4 @@
         915  +
AWS4-HMAC-SHA256
         916  +
20150830T123600Z
         917  +
20150830/us-east-1/service/aws4_request
         918  +
13b7758115ec070fe36a7ae9d754154ad73f6ee9a5eac022494857d0e7effc18
              \
 No newline at end of file
 1335    919   
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
 1336    920   
similarity index 100%
 1337    921   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt
 1338    922   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1339    923   
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
 1340    924   
similarity index 99%
 1341    925   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
 1342    926   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1343    927   
index afe367b..7bee5c7 100644
 1344    928   
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
 1345    929   
similarity index 82%
 1346    930   
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
 1347    931   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1348    932   
index 26898eb..f640bc2 100644
 1349         -
-- 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
         933  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1350    934   
@@ -1,8 +1,8 @@
 1351    935   
GET
 1352         -
/
 1353         -
Param1=value1&Param1=value2
         936  +
/example/..
         937  +
 1354    938   
host:example.amazonaws.com
 1355    939   
x-amz-date:20150830T123600Z
 1356    940   
 1357    941   
host;x-amz-date
 1358    942   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1359    943   
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
 1360    944   
new file mode 100644
 1361    945   
index 0000000..d957303
 1362         -
-- /dev/null
         946  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1363    947   
@@ -0,0 +1 @@
         948  +
eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
              \
 No newline at end of file
 1364    949   
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
 1365    950   
new file mode 100644
 1366    951   
index 0000000..4f42ffc
 1367         -
-- /dev/null
         952  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1368    953   
@@ -0,0 +1,5 @@
         954  +
GET /example/.. HTTP/1.1
         955  +
Host:example.amazonaws.com
         956  +
X-Amz-Date:20150830T123600Z
         957  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
         958  +
 1369    959   
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
 1370    960   
new file mode 100644
 1371    961   
index 0000000..ca54bda
 1372         -
-- /dev/null
         962  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1373    963   
@@ -0,0 +1,4 @@
         964  +
AWS4-HMAC-SHA256
         965  +
20150830T123600Z
         966  +
20150830/us-east-1/service/aws4_request
         967  +
0511f456aa502b456d135fcb9d749374a55228f9dbeedda1eacf659e05b0615b
              \
 No newline at end of file
 1374    968   
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
 1375    969   
new file mode 100644
 1376    970   
index 0000000..dc80036
 1377         -
-- /dev/null
         971  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1378    972   
@@ -0,0 +1,7 @@
         973  +
GET
         974  +
/example/..
         975  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
         976  +
host:example.amazonaws.com
         977  +
         978  +
host
         979  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1379    980   
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
 1380    981   
new file mode 100644
 1381    982   
index 0000000..dfa0437
 1382         -
-- /dev/null
         983  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1383    984   
@@ -0,0 +1 @@
         985  +
cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee
              \
 No newline at end of file
 1384    986   
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
 1385    987   
new file mode 100644
 1386    988   
index 0000000..98367b1
 1387         -
-- /dev/null
         989  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1388    990   
@@ -0,0 +1,3 @@
         991  +
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
         992  +
Host:example.amazonaws.com
         993  +
 1389    994   
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
 1390    995   
new file mode 100644
 1391    996   
index 0000000..f65dd66
 1392         -
-- /dev/null
         997  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1393    998   
@@ -0,0 +1,4 @@
         999  +
AWS4-HMAC-SHA256
        1000  +
20150830T123600Z
        1001  +
20150830/us-east-1/service/aws4_request
        1002  +
6e02e2dba21d6f269bae339b86ff27a4b7bbc9d88c482abccbfbf8a49d602482
              \
 No newline at end of file
 1394   1003   
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
 1395   1004   
similarity index 100%
 1396   1005   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt
 1397   1006   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1398   1007   
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
 1399   1008   
new file mode 100644
 1400   1009   
index 0000000..0468d80
 1401         -
-- /dev/null
        1010  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1402   1011   
@@ -0,0 +1,12 @@
        1012  +
{
        1013  +
    "credentials": {
        1014  +
        "access_key_id": "AKIDEXAMPLE",
        1015  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1016  +
    },
        1017  +
    "expiration_in_seconds": 3600,
        1018  +
    "normalize": true,
        1019  +
    "region": "us-east-1",
        1020  +
    "service": "service",
        1021  +
    "sign_body": false,
        1022  +
    "timestamp": "2015-08-30T12:36:00Z"
        1023  +
}
              \
 No newline at end of file
 1403   1024   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1404   1025   
similarity index 100%
 1405   1026   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq
 1406   1027   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1407   1028   
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
 1408   1029   
new file mode 100644
 1409   1030   
index 0000000..87f295f
 1410         -
-- /dev/null
        1031  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1411   1032   
@@ -0,0 +1 @@
        1033  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1412   1034   
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
 1413   1035   
new file mode 100644
 1414   1036   
index 0000000..99c8eeb
 1415         -
-- /dev/null
        1037  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1416   1038   
@@ -0,0 +1,5 @@
        1039  +
GET /./ HTTP/1.1
        1040  +
Host:example.amazonaws.com
        1041  +
X-Amz-Date:20150830T123600Z
        1042  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1043  +
 1417   1044   
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
 1418   1045   
similarity index 100%
 1419   1046   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts
 1420   1047   
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
 1421   1048   
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
 1422   1049   
new file mode 100644
 1423   1050   
index 0000000..fb2420d
 1424         -
-- /dev/null
        1051  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1425   1052   
@@ -0,0 +1,7 @@
        1053  +
GET
        1054  +
/
        1055  +
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
        1056  +
host:example.amazonaws.com
        1057  +
        1058  +
host
        1059  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1426   1060   
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
 1427   1061   
new file mode 100644
 1428   1062   
index 0000000..da5c905
 1429         -
-- /dev/null
        1063  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1430   1064   
@@ -0,0 +1 @@
        1065  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1431   1066   
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
 1432   1067   
new file mode 100644
 1433   1068   
index 0000000..2e47f69
 1434         -
-- /dev/null
        1069  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1435   1070   
@@ -0,0 +1,3 @@
        1071  +
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
        1072  +
Host:example.amazonaws.com
        1073  +
 1436   1074   
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
 1437   1075   
new file mode 100644
 1438   1076   
index 0000000..d837e67
 1439         -
-- /dev/null
        1077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1440   1078   
@@ -0,0 +1,4 @@
        1079  +
AWS4-HMAC-SHA256
        1080  +
20150830T123600Z
        1081  +
20150830/us-east-1/service/aws4_request
        1082  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1441   1083   
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
 1442   1084   
similarity index 100%
 1443   1085   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt
 1444   1086   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1445   1087   
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
 1446   1088   
similarity index 99%
 1447   1089   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
 1448   1090   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1449   1091   
index afe367b..7bee5c7 100644
 1450   1092   
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
 1451   1093   
new file mode 100644
 1452   1094   
index 0000000..5159048
 1453         -
-- /dev/null
        1095  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1454   1096   
@@ -0,0 +1,8 @@
        1097  +
GET
        1098  +
/./
        1099  +
        1100  +
host:example.amazonaws.com
        1101  +
x-amz-date:20150830T123600Z
        1102  +
        1103  +
host;x-amz-date
        1104  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1455   1105   
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
 1456   1106   
new file mode 100644
 1457   1107   
index 0000000..b49ff0e
 1458         -
-- /dev/null
        1108  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1459   1109   
@@ -0,0 +1 @@
        1110  +
68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
              \
 No newline at end of file
 1460   1111   
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
 1461   1112   
new file mode 100644
 1462   1113   
index 0000000..aeb1ffa
 1463         -
-- /dev/null
        1114  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1464   1115   
@@ -0,0 +1,5 @@
        1116  +
GET /./ HTTP/1.1
        1117  +
Host:example.amazonaws.com
        1118  +
X-Amz-Date:20150830T123600Z
        1119  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
        1120  +
 1465   1121   
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
 1466   1122   
new file mode 100644
 1467   1123   
index 0000000..b7d8caf
 1468         -
-- /dev/null
        1124  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1469   1125   
@@ -0,0 +1,4 @@
        1126  +
AWS4-HMAC-SHA256
        1127  +
20150830T123600Z
        1128  +
20150830/us-east-1/service/aws4_request
        1129  +
d67825e2268bd77a97c7688b8d72c31a3c1855b309808505ba0a9747d2465aa7
              \
 No newline at end of file
 1470   1130   
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
 1471   1131   
new file mode 100644
 1472   1132   
index 0000000..d4e029e
 1473         -
-- /dev/null
        1133  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1474   1134   
@@ -0,0 +1,7 @@
        1135  +
GET
        1136  +
/./
        1137  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1138  +
host:example.amazonaws.com
        1139  +
        1140  +
host
        1141  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1475   1142   
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
 1476   1143   
new file mode 100644
 1477   1144   
index 0000000..fe8f4cc
 1478         -
-- /dev/null
        1145  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1479   1146   
@@ -0,0 +1 @@
        1147  +
a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c
              \
 No newline at end of file
 1480   1148   
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
 1481   1149   
new file mode 100644
 1482   1150   
index 0000000..dcc4fc4
 1483         -
-- /dev/null
        1151  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1484   1152   
@@ -0,0 +1,3 @@
        1153  +
GET /./?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c HTTP/1.1
        1154  +
Host:example.amazonaws.com
        1155  +
 1485   1156   
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
 1486   1157   
new file mode 100644
 1487   1158   
index 0000000..5fb3ada
 1488         -
-- /dev/null
        1159  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1489   1160   
@@ -0,0 +1,4 @@
        1161  +
AWS4-HMAC-SHA256
        1162  +
20150830T123600Z
        1163  +
20150830/us-east-1/service/aws4_request
        1164  +
21b2da17873f30c1a7410efdc271738b318ccc2c9c6fbe1289fc242aeb1a8ae1
              \
 No newline at end of file
 1490   1165   
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
 1491   1166   
similarity index 100%
 1492   1167   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt
 1493   1168   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1494   1169   
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
 1495   1170   
new file mode 100644
 1496   1171   
index 0000000..0468d80
 1497         -
-- /dev/null
        1172  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1498   1173   
@@ -0,0 +1,12 @@
        1174  +
{
        1175  +
    "credentials": {
        1176  +
        "access_key_id": "AKIDEXAMPLE",
        1177  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1178  +
    },
        1179  +
    "expiration_in_seconds": 3600,
        1180  +
    "normalize": true,
        1181  +
    "region": "us-east-1",
        1182  +
    "service": "service",
        1183  +
    "sign_body": false,
        1184  +
    "timestamp": "2015-08-30T12:36:00Z"
        1185  +
}
              \
 No newline at end of file
 1499   1186   
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
 1500   1187   
similarity index 100%
 1501   1188   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq
 1502   1189   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1503   1190   
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
 1504   1191   
new file mode 100644
 1505   1192   
index 0000000..87f295f
 1506         -
-- /dev/null
        1193  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1507   1194   
@@ -0,0 +1 @@
        1195  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1508   1196   
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
 1509   1197   
new file mode 100644
 1510   1198   
index 0000000..b91087b
 1511         -
-- /dev/null
        1199  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1512   1200   
@@ -0,0 +1,5 @@
        1201  +
GET // HTTP/1.1
        1202  +
Host:example.amazonaws.com
        1203  +
X-Amz-Date:20150830T123600Z
        1204  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1205  +
 1513   1206   
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
 1514   1207   
similarity index 100%
 1515   1208   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts
 1516   1209   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1517   1210   
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
 1518   1211   
new file mode 100644
 1519   1212   
index 0000000..fb2420d
 1520         -
-- /dev/null
        1213  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1521   1214   
@@ -0,0 +1,7 @@
        1215  +
GET
        1216  +
/
        1217  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1218  +
host:example.amazonaws.com
        1219  +
        1220  +
host
        1221  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1522   1222   
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
 1523   1223   
new file mode 100644
 1524   1224   
index 0000000..da5c905
 1525         -
-- /dev/null
        1225  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1526   1226   
@@ -0,0 +1 @@
        1227  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1527   1228   
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
 1528   1229   
new file mode 100644
 1529   1230   
index 0000000..0290ba4
 1530         -
-- /dev/null
        1231  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1531   1232   
@@ -0,0 +1,3 @@
        1233  +
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
        1234  +
Host:example.amazonaws.com
        1235  +
 1532   1236   
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
 1533   1237   
new file mode 100644
 1534   1238   
index 0000000..d837e67
 1535         -
-- /dev/null
        1239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1536   1240   
@@ -0,0 +1,4 @@
        1241  +
AWS4-HMAC-SHA256
        1242  +
20150830T123600Z
        1243  +
20150830/us-east-1/service/aws4_request
        1244  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1537   1245   
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
 1538   1246   
similarity index 100%
 1539   1247   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt
 1540   1248   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1541   1249   
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
 1542   1250   
new file mode 100644
 1543   1251   
index 0000000..0468d80
 1544         -
-- /dev/null
        1252  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1545   1253   
@@ -0,0 +1,12 @@
        1254  +
{
        1255  +
    "credentials": {
        1256  +
        "access_key_id": "AKIDEXAMPLE",
        1257  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1258  +
    },
        1259  +
    "expiration_in_seconds": 3600,
        1260  +
    "normalize": true,
        1261  +
    "region": "us-east-1",
        1262  +
    "service": "service",
        1263  +
    "sign_body": false,
        1264  +
    "timestamp": "2015-08-30T12:36:00Z"
        1265  +
}
              \
 No newline at end of file
 1546   1266   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1547   1267   
similarity index 100%
 1548   1268   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.creq
 1549   1269   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1550   1270   
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
 1551   1271   
new file mode 100644
 1552   1272   
index 0000000..8f892bf
 1553         -
-- /dev/null
        1273  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1554   1274   
@@ -0,0 +1 @@
        1275  +
ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
 1555   1276   
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
 1556   1277   
new file mode 100644
 1557   1278   
index 0000000..2a1895c
 1558         -
-- /dev/null
        1279  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1559   1280   
@@ -0,0 +1,5 @@
        1281  +
GET /./example HTTP/1.1
        1282  +
Host:example.amazonaws.com
        1283  +
X-Amz-Date:20150830T123600Z
        1284  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
        1285  +
 1560   1286   
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
 1561   1287   
similarity index 100%
 1562   1288   
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
 1563   1289   
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
 1564   1290   
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
 1565   1291   
new file mode 100644
 1566   1292   
index 0000000..99dfc2a
 1567         -
-- /dev/null
        1293  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1568   1294   
@@ -0,0 +1,7 @@
        1295  +
GET
        1296  +
/example
        1297  +
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
        1298  +
host:example.amazonaws.com
        1299  +
        1300  +
host
        1301  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1569   1302   
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
 1570   1303   
new file mode 100644
 1571   1304   
index 0000000..fcd7a17
 1572         -
-- /dev/null
        1305  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1573   1306   
@@ -0,0 +1 @@
        1307  +
35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de
              \
 No newline at end of file
 1574   1308   
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
 1575   1309   
new file mode 100644
 1576   1310   
index 0000000..f671de2
 1577         -
-- /dev/null
        1311  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1578   1312   
@@ -0,0 +1,3 @@
        1313  +
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
        1314  +
Host:example.amazonaws.com
        1315  +
 1579   1316   
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
 1580   1317   
new file mode 100644
 1581   1318   
index 0000000..f8456dc
 1582         -
-- /dev/null
        1319  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1583   1320   
@@ -0,0 +1,4 @@
        1321  +
AWS4-HMAC-SHA256
        1322  +
20150830T123600Z
        1323  +
20150830/us-east-1/service/aws4_request
        1324  +
88dd73bb06de69cb042dbb82cadbb4fce1a2623615d94520c271614abf94e738
              \
 No newline at end of file
 1584   1325   
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
 1585   1326   
similarity index 100%
 1586   1327   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt
 1587   1328   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1588   1329   
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
 1589   1330   
similarity index 99%
 1590   1331   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
 1591   1332   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1592   1333   
index afe367b..7bee5c7 100644
 1593   1334   
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
 1594   1335   
new file mode 100644
 1595   1336   
index 0000000..36698c7
 1596         -
-- /dev/null
        1337  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1597   1338   
@@ -0,0 +1,8 @@
        1339  +
GET
        1340  +
/./example
        1341  +
        1342  +
host:example.amazonaws.com
        1343  +
x-amz-date:20150830T123600Z
        1344  +
        1345  +
host;x-amz-date
        1346  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1598   1347   
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
 1599   1348   
new file mode 100644
 1600   1349   
index 0000000..4a4b8f2
 1601         -
-- /dev/null
        1350  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1602   1351   
@@ -0,0 +1 @@
        1352  +
beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
              \
 No newline at end of file
 1603   1353   
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
 1604   1354   
new file mode 100644
 1605   1355   
index 0000000..d462bcd
 1606         -
-- /dev/null
        1356  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1607   1357   
@@ -0,0 +1,5 @@
        1358  +
GET /./example HTTP/1.1
        1359  +
Host:example.amazonaws.com
        1360  +
X-Amz-Date:20150830T123600Z
        1361  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
        1362  +
 1608   1363   
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
 1609   1364   
new file mode 100644
 1610   1365   
index 0000000..8be78c9
 1611         -
-- /dev/null
        1366  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1612   1367   
@@ -0,0 +1,4 @@
        1368  +
AWS4-HMAC-SHA256
        1369  +
20150830T123600Z
        1370  +
20150830/us-east-1/service/aws4_request
        1371  +
73895e0e829507e28e39fd24669aedc2434a8e179e547e3c075b42921f952cdb
              \
 No newline at end of file
 1613   1372   
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
 1614   1373   
new file mode 100644
 1615   1374   
index 0000000..fe1103c
 1616         -
-- /dev/null
        1375  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1617   1376   
@@ -0,0 +1,7 @@
        1377  +
GET
        1378  +
/./example
        1379  +
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
        1380  +
host:example.amazonaws.com
        1381  +
        1382  +
host
        1383  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1618   1384   
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
 1619   1385   
new file mode 100644
 1620   1386   
index 0000000..ce80762
 1621         -
-- /dev/null
        1387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1622   1388   
@@ -0,0 +1 @@
        1389  +
72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10
              \
 No newline at end of file
 1623   1390   
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
 1624   1391   
new file mode 100644
 1625   1392   
index 0000000..30841a6
 1626         -
-- /dev/null
        1393  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1627   1394   
@@ -0,0 +1,3 @@
        1395  +
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
        1396  +
Host:example.amazonaws.com
        1397  +
 1628   1398   
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
 1629   1399   
new file mode 100644
 1630   1400   
index 0000000..5c66509
 1631         -
-- /dev/null
        1401  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1632   1402   
@@ -0,0 +1,4 @@
        1403  +
AWS4-HMAC-SHA256
        1404  +
20150830T123600Z
        1405  +
20150830/us-east-1/service/aws4_request
        1406  +
cb23444939471187ac1f0fb25d437337af0d5f48b5ae0ede5baa3727c8c6af92
              \
 No newline at end of file
 1633   1407   
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
 1634   1408   
similarity index 100%
 1635   1409   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt
 1636   1410   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1637   1411   
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
 1638   1412   
new file mode 100644
 1639   1413   
index 0000000..7bee5c7
 1640         -
-- /dev/null
        1414  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1641   1415   
@@ -0,0 +1,12 @@
        1416  +
{
        1417  +
    "credentials": {
        1418  +
        "access_key_id": "AKIDEXAMPLE",
        1419  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1420  +
    },
        1421  +
    "expiration_in_seconds": 3600,
        1422  +
    "normalize": false,
        1423  +
    "region": "us-east-1",
        1424  +
    "service": "service",
        1425  +
    "sign_body": false,
        1426  +
    "timestamp": "2015-08-30T12:36:00Z"
        1427  +
}
              \
 No newline at end of file
 1642   1428   
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
 1643   1429   
new file mode 100644
 1644   1430   
index 0000000..5860c8a
 1645         -
-- /dev/null
        1431  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1646   1432   
@@ -0,0 +1,8 @@
        1433  +
GET
        1434  +
//
        1435  +
        1436  +
host:example.amazonaws.com
        1437  +
x-amz-date:20150830T123600Z
        1438  +
        1439  +
host;x-amz-date
        1440  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1647   1441   
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
 1648   1442   
new file mode 100644
 1649   1443   
index 0000000..8310471
 1650         -
-- /dev/null
        1444  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1651   1445   
@@ -0,0 +1 @@
        1446  +
c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
              \
 No newline at end of file
 1652   1447   
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
 1653   1448   
new file mode 100644
 1654   1449   
index 0000000..2a7afef
 1655         -
-- /dev/null
        1450  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1656   1451   
@@ -0,0 +1,5 @@
        1452  +
GET // HTTP/1.1
        1453  +
Host:example.amazonaws.com
        1454  +
X-Amz-Date:20150830T123600Z
        1455  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
        1456  +
 1657   1457   
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
 1658   1458   
new file mode 100644
 1659   1459   
index 0000000..06059dd
 1660         -
-- /dev/null
        1460  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1661   1461   
@@ -0,0 +1,4 @@
        1462  +
AWS4-HMAC-SHA256
        1463  +
20150830T123600Z
        1464  +
20150830/us-east-1/service/aws4_request
        1465  +
80cb39203d058af815de2b79250ff56e1b73eb9b4718c86556cdc6f150c5d209
              \
 No newline at end of file
 1662   1466   
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
 1663   1467   
new file mode 100644
 1664   1468   
index 0000000..6d63aef
 1665         -
-- /dev/null
        1469  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1666   1470   
@@ -0,0 +1,7 @@
        1471  +
GET
        1472  +
//
        1473  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1474  +
host:example.amazonaws.com
        1475  +
        1476  +
host
        1477  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1667   1478   
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
 1668   1479   
new file mode 100644
 1669   1480   
index 0000000..e5b7b6c
 1670         -
-- /dev/null
        1481  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1671   1482   
@@ -0,0 +1 @@
        1483  +
b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd
              \
 No newline at end of file
 1672   1484   
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
 1673   1485   
new file mode 100644
 1674   1486   
index 0000000..46fe3fd
 1675         -
-- /dev/null
        1487  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1676   1488   
@@ -0,0 +1,3 @@
        1489  +
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
        1490  +
Host:example.amazonaws.com
        1491  +
 1677   1492   
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
 1678   1493   
new file mode 100644
 1679   1494   
index 0000000..ea79940
 1680         -
-- /dev/null
        1495  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1681   1496   
@@ -0,0 +1,4 @@
        1497  +
AWS4-HMAC-SHA256
        1498  +
20150830T123600Z
        1499  +
20150830/us-east-1/service/aws4_request
        1500  +
e10a01494cafa1f2207c4de80c69b7a36d6f2d282aa63ee64a5ca50e175cf730
              \
 No newline at end of file
 1682   1501   
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
 1683   1502   
similarity index 100%
 1684   1503   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt
 1685   1504   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1686   1505   
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
 1687   1506   
new file mode 100644
 1688   1507   
index 0000000..0468d80
 1689         -
-- /dev/null
        1508  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1690   1509   
@@ -0,0 +1,12 @@
        1510  +
{
        1511  +
    "credentials": {
        1512  +
        "access_key_id": "AKIDEXAMPLE",
        1513  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1514  +
    },
        1515  +
    "expiration_in_seconds": 3600,
        1516  +
    "normalize": true,
        1517  +
    "region": "us-east-1",
        1518  +
    "service": "service",
        1519  +
    "sign_body": false,
        1520  +
    "timestamp": "2015-08-30T12:36:00Z"
        1521  +
}
              \
 No newline at end of file
 1691   1522   
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
 1692   1523   
similarity index 100%
 1693   1524   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq
 1694   1525   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1695   1526   
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
 1696   1527   
new file mode 100644
 1697   1528   
index 0000000..71c7bac
 1698         -
-- /dev/null
        1529  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1699   1530   
@@ -0,0 +1 @@
        1531  +
9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
 1700   1532   
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
 1701   1533   
new file mode 100644
 1702   1534   
index 0000000..0add1f1
 1703         -
-- /dev/null
        1535  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1704   1536   
@@ -0,0 +1,5 @@
        1537  +
GET //example// HTTP/1.1
        1538  +
Host:example.amazonaws.com
        1539  +
X-Amz-Date:20150830T123600Z
        1540  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
        1541  +
 1705   1542   
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
 1706   1543   
similarity index 100%
 1707   1544   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts
 1708   1545   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1709   1546   
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
 1710   1547   
new file mode 100644
 1711   1548   
index 0000000..ce72510
 1712         -
-- /dev/null
        1549  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1713   1550   
@@ -0,0 +1,7 @@
        1551  +
GET
        1552  +
/example/
        1553  +
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
        1554  +
host:example.amazonaws.com
        1555  +
        1556  +
host
        1557  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1714   1558   
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
 1715   1559   
new file mode 100644
 1716   1560   
index 0000000..265f387
 1717         -
-- /dev/null
        1561  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1718   1562   
@@ -0,0 +1 @@
        1563  +
c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082
              \
 No newline at end of file
 1719   1564   
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
 1720   1565   
new file mode 100644
 1721   1566   
index 0000000..e1fcb2e
 1722         -
-- /dev/null
        1567  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1723   1568   
@@ -0,0 +1,3 @@
        1569  +
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
        1570  +
Host:example.amazonaws.com
        1571  +
 1724   1572   
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
 1725   1573   
new file mode 100644
 1726   1574   
index 0000000..a14de61
 1727         -
-- /dev/null
        1575  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1728   1576   
@@ -0,0 +1,4 @@
        1577  +
AWS4-HMAC-SHA256
        1578  +
20150830T123600Z
        1579  +
20150830/us-east-1/service/aws4_request
        1580  +
1a3e3fe19998c62136ed2ff9c8531973a46d4a21b336f58e8fcad185ec64d642
              \
 No newline at end of file
 1729   1581   
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
 1730   1582   
similarity index 100%
 1731   1583   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt
 1732   1584   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1733   1585   
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
 1734   1586   
new file mode 100644
 1735   1587   
index 0000000..7bee5c7
 1736         -
-- /dev/null
        1588  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1737   1589   
@@ -0,0 +1,12 @@
        1590  +
{
        1591  +
    "credentials": {
        1592  +
        "access_key_id": "AKIDEXAMPLE",
        1593  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1594  +
    },
        1595  +
    "expiration_in_seconds": 3600,
        1596  +
    "normalize": false,
        1597  +
    "region": "us-east-1",
        1598  +
    "service": "service",
        1599  +
    "sign_body": false,
        1600  +
    "timestamp": "2015-08-30T12:36:00Z"
        1601  +
}
              \
 No newline at end of file
 1738   1602   
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
 1739   1603   
new file mode 100644
 1740   1604   
index 0000000..dfffaaf
 1741         -
-- /dev/null
        1605  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1742   1606   
@@ -0,0 +1,8 @@
        1607  +
GET
        1608  +
//example//
        1609  +
        1610  +
host:example.amazonaws.com
        1611  +
x-amz-date:20150830T123600Z
        1612  +
        1613  +
host;x-amz-date
        1614  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1743   1615   
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
 1744   1616   
new file mode 100644
 1745   1617   
index 0000000..edbcc0d
 1746         -
-- /dev/null
        1618  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1747   1619   
@@ -0,0 +1 @@
        1620  +
87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
              \
 No newline at end of file
 1748   1621   
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
 1749   1622   
new file mode 100644
 1750   1623   
index 0000000..4cc12dd
 1751         -
-- /dev/null
        1624  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1752   1625   
@@ -0,0 +1,5 @@
        1626  +
GET //example// HTTP/1.1
        1627  +
Host:example.amazonaws.com
        1628  +
X-Amz-Date:20150830T123600Z
        1629  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
        1630  +
 1753   1631   
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
 1754   1632   
new file mode 100644
 1755   1633   
index 0000000..3eba390
 1756         -
-- /dev/null
        1634  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1757   1635   
@@ -0,0 +1,4 @@
        1636  +
AWS4-HMAC-SHA256
        1637  +
20150830T123600Z
        1638  +
20150830/us-east-1/service/aws4_request
        1639  +
528ec3105ee1f34ab014bb0a1a45da0ed2742a4fea3555149e5b4d5d201eb240
              \
 No newline at end of file
 1758   1640   
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
 1759   1641   
new file mode 100644
 1760   1642   
index 0000000..f7844e3
 1761         -
-- /dev/null
        1643  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1762   1644   
@@ -0,0 +1,7 @@
        1645  +
GET
        1646  +
//example//
        1647  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1648  +
host:example.amazonaws.com
        1649  +
        1650  +
host
        1651  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1763   1652   
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
 1764   1653   
new file mode 100644
 1765   1654   
index 0000000..a8d6b96
 1766         -
-- /dev/null
        1655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1767   1656   
@@ -0,0 +1 @@
        1657  +
822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2
              \
 No newline at end of file
 1768   1658   
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
 1769   1659   
new file mode 100644
 1770   1660   
index 0000000..a8322c6
 1771         -
-- /dev/null
        1661  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1772   1662   
@@ -0,0 +1,3 @@
        1663  +
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
        1664  +
Host:example.amazonaws.com
        1665  +
 1773   1666   
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
 1774   1667   
new file mode 100644
 1775   1668   
index 0000000..068724d
 1776         -
-- /dev/null
        1669  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1777   1670   
@@ -0,0 +1,4 @@
        1671  +
AWS4-HMAC-SHA256
        1672  +
20150830T123600Z
        1673  +
20150830/us-east-1/service/aws4_request
        1674  +
82241114f9a6320f054333c890952474aa7a0069d28a4326c3a8d95bbecc69ee
              \
 No newline at end of file
 1778   1675   
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
 1779   1676   
similarity index 100%
 1780   1677   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt
 1781   1678   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1782   1679   
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
 1783   1680   
new file mode 100644
 1784   1681   
index 0000000..0468d80
 1785         -
-- /dev/null
        1682  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1786   1683   
@@ -0,0 +1,12 @@
        1684  +
{
        1685  +
    "credentials": {
        1686  +
        "access_key_id": "AKIDEXAMPLE",
        1687  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1688  +
    },
        1689  +
    "expiration_in_seconds": 3600,
        1690  +
    "normalize": true,
        1691  +
    "region": "us-east-1",
        1692  +
    "service": "service",
        1693  +
    "sign_body": false,
        1694  +
    "timestamp": "2015-08-30T12:36:00Z"
        1695  +
}
              \
 No newline at end of file
 1787   1696   
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
 1788   1697   
similarity index 100%
 1789   1698   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq
 1790   1699   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1791   1700   
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
 1792   1701   
new file mode 100644
 1793   1702   
index 0000000..f63892b
 1794         -
-- /dev/null
        1703  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1795   1704   
@@ -0,0 +1 @@
        1705  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1796   1706   
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
 1797   1707   
new file mode 100644
 1798   1708   
index 0000000..19cd5cb
 1799         -
-- /dev/null
        1709  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 1800   1710   
@@ -0,0 +1,5 @@
        1711  +
GET /example space/ HTTP/1.1
        1712  +
Host:example.amazonaws.com
        1713  +
X-Amz-Date:20150830T123600Z
        1714  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1715  +
 1801   1716   
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
 1802   1717   
similarity index 100%
 1803   1718   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts
 1804   1719   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 1805   1720   
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
 1806   1721   
new file mode 100644
 1807   1722   
index 0000000..fa3d3e2
 1808         -
-- /dev/null
        1723  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 1809   1724   
@@ -0,0 +1,7 @@
        1725  +
GET
        1726  +
/example%20space/
        1727  +
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
        1728  +
host:example.amazonaws.com
        1729  +
        1730  +
host
        1731  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1810   1732   
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
 1811   1733   
new file mode 100644
 1812   1734   
index 0000000..5b2e204
 1813         -
-- /dev/null
        1735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 1814   1736   
@@ -0,0 +1 @@
        1737  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1815   1738   
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
 1816   1739   
new file mode 100644
 1817   1740   
index 0000000..93ca1d0
 1818         -
-- /dev/null
        1741  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 1819   1742   
@@ -0,0 +1,3 @@
        1743  +
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
        1744  +
Host:example.amazonaws.com
        1745  +
 1820   1746   
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
 1821   1747   
new file mode 100644
 1822   1748   
index 0000000..b4cb789
 1823         -
-- /dev/null
        1749  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 1824   1750   
@@ -0,0 +1,4 @@
        1751  +
AWS4-HMAC-SHA256
        1752  +
20150830T123600Z
        1753  +
20150830/us-east-1/service/aws4_request
        1754  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1825   1755   
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
 1826   1756   
new file mode 100644
 1827   1757   
index 0000000..860a277
 1828         -
-- /dev/null
        1758  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 1829   1759   
@@ -0,0 +1,2 @@
        1760  +
GET /example%20space/ HTTP/1.1
        1761  +
Host:example.amazonaws.com
 1830   1762   
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
 1831   1763   
new file mode 100644
 1832   1764   
index 0000000..7bee5c7
 1833         -
-- /dev/null
        1765  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 1834   1766   
@@ -0,0 +1,12 @@
        1767  +
{
        1768  +
    "credentials": {
        1769  +
        "access_key_id": "AKIDEXAMPLE",
        1770  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1771  +
    },
        1772  +
    "expiration_in_seconds": 3600,
        1773  +
    "normalize": false,
        1774  +
    "region": "us-east-1",
        1775  +
    "service": "service",
        1776  +
    "sign_body": false,
        1777  +
    "timestamp": "2015-08-30T12:36:00Z"
        1778  +
}
              \
 No newline at end of file
 1835   1779   
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
 1836   1780   
similarity index 66%
 1837   1781   
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
 1838   1782   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1839   1783   
index 71dc981..124a709 100644
 1840         -
-- 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
        1784  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1841   1785   
@@ -1,9 +1,8 @@
 1842         -
POST
 1843         -
/
        1786  +
GET
        1787  +
/example%20space/
 1844   1788   
 1845         -
content-type:application/x-www-form-urlencoded; charset=utf-8
 1846   1789   
host:example.amazonaws.com
 1847   1790   
x-amz-date:20150830T123600Z
 1848   1791   
 1849   1792   
host;x-amz-date
 1850   1793   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1851   1794   
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
 1852   1795   
new file mode 100644
 1853   1796   
index 0000000..f63892b
 1854         -
-- /dev/null
        1797  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 1855   1798   
@@ -0,0 +1 @@
        1799  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1856   1800   
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
 1857   1801   
new file mode 100644
 1858   1802   
index 0000000..19cd5cb
 1859         -
-- /dev/null
        1803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 1860   1804   
@@ -0,0 +1,5 @@
        1805  +
GET /example space/ HTTP/1.1
        1806  +
Host:example.amazonaws.com
        1807  +
X-Amz-Date:20150830T123600Z
        1808  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1809  +
 1861   1810   
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
 1862   1811   
new file mode 100644
 1863   1812   
index 0000000..a633f0c
 1864         -
-- /dev/null
        1813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 1865   1814   
@@ -0,0 +1,4 @@
        1815  +
AWS4-HMAC-SHA256
        1816  +
20150830T123600Z
        1817  +
20150830/us-east-1/service/aws4_request
        1818  +
63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86
              \
 No newline at end of file
 1866   1819   
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
 1867   1820   
new file mode 100644
 1868   1821   
index 0000000..fa3d3e2
 1869         -
-- /dev/null
        1822  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 1870   1823   
@@ -0,0 +1,7 @@
        1824  +
GET
        1825  +
/example%20space/
        1826  +
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
        1827  +
host:example.amazonaws.com
        1828  +
        1829  +
host
        1830  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1871   1831   
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
 1872   1832   
new file mode 100644
 1873   1833   
index 0000000..5b2e204
 1874         -
-- /dev/null
        1834  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 1875   1835   
@@ -0,0 +1 @@
        1836  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1876   1837   
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
 1877   1838   
new file mode 100644
 1878   1839   
index 0000000..93ca1d0
 1879         -
-- /dev/null
        1840  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 1880   1841   
@@ -0,0 +1,3 @@
        1842  +
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
        1843  +
Host:example.amazonaws.com
        1844  +
 1881   1845   
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
 1882   1846   
new file mode 100644
 1883   1847   
index 0000000..b4cb789
 1884         -
-- /dev/null
        1848  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 1885   1849   
@@ -0,0 +1,4 @@
        1850  +
AWS4-HMAC-SHA256
        1851  +
20150830T123600Z
        1852  +
20150830/us-east-1/service/aws4_request
        1853  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1886   1854   
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
 1887   1855   
similarity index 67%
 1888   1856   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
 1889   1857   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1890   1858   
index b7d5e8b..ab509ab 100644
 1891         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
        1859  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1892   1860   
@@ -1,3 +1,2 @@
 1893   1861   
GET /example space/ HTTP/1.1
 1894   1862   
Host:example.amazonaws.com
 1895         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1896   1863   
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
 1897   1864   
new file mode 100644
 1898   1865   
index 0000000..0468d80
 1899         -
-- /dev/null
        1866  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 1900   1867   
@@ -0,0 +1,12 @@
        1868  +
{
        1869  +
    "credentials": {
        1870  +
        "access_key_id": "AKIDEXAMPLE",
        1871  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1872  +
    },
        1873  +
    "expiration_in_seconds": 3600,
        1874  +
    "normalize": true,
        1875  +
    "region": "us-east-1",
        1876  +
    "service": "service",
        1877  +
    "sign_body": false,
        1878  +
    "timestamp": "2015-08-30T12:36:00Z"
        1879  +
}
              \
 No newline at end of file
 1901   1880   
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
 1902   1881   
similarity index 100%
 1903   1882   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq
 1904   1883   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 1905   1884   
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
 1906   1885   
new file mode 100644
 1907   1886   
index 0000000..e503354
 1908         -
-- /dev/null
        1887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 1909   1888   
@@ -0,0 +1 @@
        1889  +
07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
 1910   1890   
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
 1911   1891   
new file mode 100644
 1912   1892   
index 0000000..4367892
 1913         -
-- /dev/null
        1893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 1914   1894   
@@ -0,0 +1,5 @@
        1895  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        1896  +
Host:example.amazonaws.com
        1897  +
X-Amz-Date:20150830T123600Z
        1898  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
        1899  +
 1915   1900   
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
 1916   1901   
similarity index 100%
 1917   1902   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts
 1918   1903   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 1919   1904   
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
 1920   1905   
new file mode 100644
 1921   1906   
index 0000000..d7f0696
 1922         -
-- /dev/null
        1907  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 1923   1908   
@@ -0,0 +1,7 @@
        1909  +
GET
        1910  +
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
        1911  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1912  +
host:example.amazonaws.com
        1913  +
        1914  +
host
        1915  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1924   1916   
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
 1925   1917   
new file mode 100644
 1926   1918   
index 0000000..509e972
 1927         -
-- /dev/null
        1919  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 1928   1920   
@@ -0,0 +1 @@
        1921  +
95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005
              \
 No newline at end of file
 1929   1922   
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
 1930   1923   
new file mode 100644
 1931   1924   
index 0000000..79aad36
 1932         -
-- /dev/null
        1925  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 1933   1926   
@@ -0,0 +1,3 @@
        1927  +
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
        1928  +
Host:example.amazonaws.com
        1929  +
 1934   1930   
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
 1935   1931   
new file mode 100644
 1936   1932   
index 0000000..e8068b3
 1937         -
-- /dev/null
        1933  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 1938   1934   
@@ -0,0 +1,4 @@
        1935  +
AWS4-HMAC-SHA256
        1936  +
20150830T123600Z
        1937  +
20150830/us-east-1/service/aws4_request
        1938  +
3134f2fbc6ef58f34b74b01643a159bfccbc121ea4288a4b75e65bc805d08219
              \
 No newline at end of file
 1939   1939   
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
 1940   1940   
similarity index 100%
 1941   1941   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt
 1942   1942   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 1943   1943   
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
 1944   1944   
new file mode 100644
 1945   1945   
index 0000000..0468d80
 1946         -
-- /dev/null
        1946  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 1947   1947   
@@ -0,0 +1,12 @@
        1948  +
{
        1949  +
    "credentials": {
        1950  +
        "access_key_id": "AKIDEXAMPLE",
        1951  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1952  +
    },
        1953  +
    "expiration_in_seconds": 3600,
        1954  +
    "normalize": true,
        1955  +
    "region": "us-east-1",
        1956  +
    "service": "service",
        1957  +
    "sign_body": false,
        1958  +
    "timestamp": "2015-08-30T12:36:00Z"
        1959  +
}
              \
 No newline at end of file
 1948   1960   
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
 1949   1961   
similarity index 100%
 1950   1962   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq
 1951   1963   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 1952   1964   
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
 1953   1965   
new file mode 100644
 1954   1966   
index 0000000..9a13676
 1955         -
-- /dev/null
        1967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 1956   1968   
@@ -0,0 +1 @@
        1969  +
8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
 1957   1970   
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
 1958   1971   
new file mode 100644
 1959   1972   
index 0000000..5aaf47c
 1960         -
-- /dev/null
        1973  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 1961   1974   
@@ -0,0 +1,5 @@
        1975  +
GET /ሴ HTTP/1.1
        1976  +
Host:example.amazonaws.com
        1977  +
X-Amz-Date:20150830T123600Z
        1978  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
        1979  +
 1962   1980   
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
 1963   1981   
similarity index 100%
 1964   1982   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts
 1965   1983   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 1966   1984   
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
 1967   1985   
new file mode 100644
 1968   1986   
index 0000000..bdb77c9
 1969         -
-- /dev/null
        1987  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 1970   1988   
@@ -0,0 +1,7 @@
        1989  +
GET
        1990  +
/%E1%88%B4
        1991  +
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
        1992  +
host:example.amazonaws.com
        1993  +
        1994  +
host
        1995  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1971   1996   
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
 1972   1997   
new file mode 100644
 1973   1998   
index 0000000..21342b3
 1974         -
-- /dev/null
        1999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 1975   2000   
@@ -0,0 +1 @@
        2001  +
10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44
              \
 No newline at end of file
 1976   2002   
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
 1977   2003   
new file mode 100644
 1978   2004   
index 0000000..368c2ff
 1979         -
-- /dev/null
        2005  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 1980   2006   
@@ -0,0 +1,3 @@
        2007  +
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
        2008  +
Host:example.amazonaws.com
        2009  +
 1981   2010   
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
 1982   2011   
new file mode 100644
 1983   2012   
index 0000000..56b8fbf
 1984         -
-- /dev/null
        2013  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 1985   2014   
@@ -0,0 +1,4 @@
        2015  +
AWS4-HMAC-SHA256
        2016  +
20150830T123600Z
        2017  +
20150830/us-east-1/service/aws4_request
        2018  +
d8f78e05d0d9bb1c16ae1e60ed405de76cfb8fdcd3e414ffe65fad563b996d66
              \
 No newline at end of file
 1986   2019   
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
 1987   2020   
similarity index 62%
 1988   2021   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
 1989   2022   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 1990   2023   
index da4808d..9e273f6 100644
 1991         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
        2024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 1992   2025   
@@ -1,3 +1,2 @@
 1993   2026   
GET /ሴ HTTP/1.1
 1994   2027   
Host:example.amazonaws.com
 1995         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1996   2028   
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
 1997   2029   
new file mode 100644
 1998   2030   
index 0000000..0468d80
 1999         -
-- /dev/null
        2031  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 2000   2032   
@@ -0,0 +1,12 @@
        2033  +
{
        2034  +
    "credentials": {
        2035  +
        "access_key_id": "AKIDEXAMPLE",
        2036  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2037  +
    },
        2038  +
    "expiration_in_seconds": 3600,
        2039  +
    "normalize": true,
        2040  +
    "region": "us-east-1",
        2041  +
    "service": "service",
        2042  +
    "sign_body": false,
        2043  +
    "timestamp": "2015-08-30T12:36:00Z"
        2044  +
}
              \
 No newline at end of file
 2001   2045   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 2002   2046   
similarity index 100%
 2003   2047   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.creq
 2004   2048   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 2005   2049   
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
 2006   2050   
new file mode 100644
 2007   2051   
index 0000000..d7f1c1c
 2008         -
-- /dev/null
        2052  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 2009   2053   
@@ -0,0 +1 @@
        2054  +
a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
 2010   2055   
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
 2011   2056   
new file mode 100644
 2012   2057   
index 0000000..1c60790
 2013         -
-- /dev/null
        2058  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 2014   2059   
@@ -0,0 +1,5 @@
        2060  +
GET /?Param1=value1 HTTP/1.1
        2061  +
Host:example.amazonaws.com
        2062  +
X-Amz-Date:20150830T123600Z
        2063  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
        2064  +
 2015   2065   
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
 2016   2066   
similarity index 100%
 2017   2067   
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
 2018   2068   
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
 2019   2069   
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
 2020   2070   
new file mode 100644
 2021   2071   
index 0000000..6a823ed
 2022         -
-- /dev/null
        2072  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 2023   2073   
@@ -0,0 +1,7 @@
        2074  +
GET
        2075  +
/
        2076  +
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
        2077  +
host:example.amazonaws.com
        2078  +
        2079  +
host
        2080  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2024   2081   
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
 2025   2082   
new file mode 100644
 2026   2083   
index 0000000..8c77136
 2027         -
-- /dev/null
        2084  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 2028   2085   
@@ -0,0 +1 @@
        2086  +
49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de
              \
 No newline at end of file
 2029   2087   
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
 2030   2088   
new file mode 100644
 2031   2089   
index 0000000..2d337d8
 2032         -
-- /dev/null
        2090  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 2033   2091   
@@ -0,0 +1,3 @@
        2092  +
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
        2093  +
Host:example.amazonaws.com
        2094  +
 2034   2095   
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
 2035   2096   
new file mode 100644
 2036   2097   
index 0000000..191a484
 2037         -
-- /dev/null
        2098  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 2038   2099   
@@ -0,0 +1,4 @@
        2100  +
AWS4-HMAC-SHA256
        2101  +
20150830T123600Z
        2102  +
20150830/us-east-1/service/aws4_request
        2103  +
74828b608f939673ed5a839190452a943b0178760f258da766209b21f8ca3f86
              \
 No newline at end of file
 2039   2104   
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
 2040   2105   
similarity index 100%
 2041   2106   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt
 2042   2107   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 2043   2108   
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
 2044   2109   
new file mode 100644
 2045   2110   
index 0000000..0468d80
 2046         -
-- /dev/null
        2111  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 2047   2112   
@@ -0,0 +1,12 @@
        2113  +
{
        2114  +
    "credentials": {
        2115  +
        "access_key_id": "AKIDEXAMPLE",
        2116  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2117  +
    },
        2118  +
    "expiration_in_seconds": 3600,
        2119  +
    "normalize": true,
        2120  +
    "region": "us-east-1",
        2121  +
    "service": "service",
        2122  +
    "sign_body": false,
        2123  +
    "timestamp": "2015-08-30T12:36:00Z"
        2124  +
}
              \
 No newline at end of file
 2048   2125   
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
 2049   2126   
new file mode 100644
 2050   2127   
index 0000000..0c8ba21
 2051         -
-- /dev/null
        2128  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 2052   2129   
@@ -0,0 +1,8 @@
        2130  +
GET
        2131  +
/
        2132  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        2133  +
host:example.amazonaws.com
        2134  +
x-amz-date:20150830T123600Z
        2135  +
        2136  +
host;x-amz-date
        2137  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2053   2138   
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
 2054   2139   
new file mode 100644
 2055   2140   
index 0000000..9ab65ed
 2056         -
-- /dev/null
        2141  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 2057   2142   
@@ -0,0 +1 @@
        2143  +
371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
              \
 No newline at end of file
 2058   2144   
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
 2059   2145   
new file mode 100644
 2060   2146   
index 0000000..0bcdf98
 2061         -
-- /dev/null
        2147  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 2062   2148   
@@ -0,0 +1,5 @@
        2149  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2150  +
Host:example.amazonaws.com
        2151  +
X-Amz-Date:20150830T123600Z
        2152  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
        2153  +
 2063   2154   
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
 2064   2155   
new file mode 100644
 2065   2156   
index 0000000..bf674ad
 2066         -
-- /dev/null
        2157  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 2067   2158   
@@ -0,0 +1,4 @@
        2159  +
AWS4-HMAC-SHA256
        2160  +
20150830T123600Z
        2161  +
20150830/us-east-1/service/aws4_request
        2162  +
868294f5c38bd141c4972a373a76654f1418a8e4fc18b2e7903ae45e8ae0ec71
              \
 No newline at end of file
 2068   2163   
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
 2069   2164   
new file mode 100644
 2070   2165   
index 0000000..3f590a4
 2071         -
-- /dev/null
        2166  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 2072   2167   
@@ -0,0 +1,7 @@
        2168  +
GET
        2169  +
/
        2170  +
%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
        2171  +
host:example.amazonaws.com
        2172  +
        2173  +
host
        2174  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2073   2175   
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
 2074   2176   
new file mode 100644
 2075   2177   
index 0000000..e225eab
 2076         -
-- /dev/null
        2178  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 2077   2179   
@@ -0,0 +1 @@
        2180  +
c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787
              \
 No newline at end of file
 2078   2181   
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
 2079   2182   
new file mode 100644
 2080   2183   
index 0000000..6206719
 2081         -
-- /dev/null
        2184  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 2082   2185   
@@ -0,0 +1,3 @@
        2186  +
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
        2187  +
Host:example.amazonaws.com
        2188  +
 2083   2189   
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
 2084   2190   
new file mode 100644
 2085   2191   
index 0000000..81a4210
 2086         -
-- /dev/null
        2192  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 2087   2193   
@@ -0,0 +1,4 @@
        2194  +
AWS4-HMAC-SHA256
        2195  +
20150830T123600Z
        2196  +
20150830/us-east-1/service/aws4_request
        2197  +
9808d6cdc8245c74e705c68350fc6a62b91778cdd613890e5d177998c02c6f53
              \
 No newline at end of file
 2088   2198   
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
 2089   2199   
new file mode 100644
 2090   2200   
index 0000000..368c6e3
 2091         -
-- /dev/null
        2201  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 2092   2202   
@@ -0,0 +1,2 @@
        2203  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2204  +
Host:example.amazonaws.com
 2093   2205   
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
 2094   2206   
new file mode 100644
 2095   2207   
index 0000000..0468d80
 2096         -
-- /dev/null
        2208  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 2097   2209   
@@ -0,0 +1,12 @@
        2210  +
{
        2211  +
    "credentials": {
        2212  +
        "access_key_id": "AKIDEXAMPLE",
        2213  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2214  +
    },
        2215  +
    "expiration_in_seconds": 3600,
        2216  +
    "normalize": true,
        2217  +
    "region": "us-east-1",
        2218  +
    "service": "service",
        2219  +
    "sign_body": false,
        2220  +
    "timestamp": "2015-08-30T12:36:00Z"
        2221  +
}
              \
 No newline at end of file
 2098   2222   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.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
 2099   2223   
similarity index 100%
 2100   2224   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.creq
 2101   2225   
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
 2102   2226   
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
 2103   2227   
new file mode 100644
 2104   2228   
index 0000000..6a8cb9d
 2105         -
-- /dev/null
        2229  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 2106   2230   
@@ -0,0 +1 @@
        2231  +
b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
 2107   2232   
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
 2108   2233   
new file mode 100644
 2109   2234   
index 0000000..f78a9d2
 2110         -
-- /dev/null
        2235  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 2111   2236   
@@ -0,0 +1,5 @@
        2237  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        2238  +
Host:example.amazonaws.com
        2239  +
X-Amz-Date:20150830T123600Z
        2240  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
        2241  +
 2112   2242   
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
 2113   2243   
similarity index 100%
 2114   2244   
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
 2115   2245   
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
 2116   2246   
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
 2117   2247   
new file mode 100644
 2118   2248   
index 0000000..a6e1bc7
 2119         -
-- /dev/null
        2249  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 2120   2250   
@@ -0,0 +1,7 @@
        2251  +
GET
        2252  +
/
        2253  +
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
        2254  +
host:example.amazonaws.com
        2255  +
        2256  +
host
        2257  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2121   2258   
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
 2122   2259   
new file mode 100644
 2123   2260   
index 0000000..d6e6a88
 2124         -
-- /dev/null
        2261  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 2125   2262   
@@ -0,0 +1 @@
        2263  +
86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5
              \
 No newline at end of file
 2126   2264   
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
 2127   2265   
new file mode 100644
 2128   2266   
index 0000000..538e2f0
 2129         -
-- /dev/null
        2267  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 2130   2268   
@@ -0,0 +1,3 @@
        2269  +
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
        2270  +
Host:example.amazonaws.com
        2271  +
 2131   2272   
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
 2132   2273   
new file mode 100644
 2133   2274   
index 0000000..e696085
 2134         -
-- /dev/null
        2275  +
++ 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
 2135   2276   
@@ -0,0 +1,4 @@
        2277  +
AWS4-HMAC-SHA256
        2278  +
20150830T123600Z
        2279  +
20150830/us-east-1/service/aws4_request
        2280  +
b82878ecb2ab7ad194b9fe79b2946c2a36ee1627a219408089b2d774c1a0cedb
              \
 No newline at end of file
 2136   2281   
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
 2137   2282   
similarity index 100%
 2138   2283   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt
 2139   2284   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2140   2285   
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
 2141   2286   
new file mode 100644
 2142   2287   
index 0000000..0468d80
 2143         -
-- /dev/null
        2288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2144   2289   
@@ -0,0 +1,12 @@
        2290  +
{
        2291  +
    "credentials": {
        2292  +
        "access_key_id": "AKIDEXAMPLE",
        2293  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2294  +
    },
        2295  +
    "expiration_in_seconds": 3600,
        2296  +
    "normalize": true,
        2297  +
    "region": "us-east-1",
        2298  +
    "service": "service",
        2299  +
    "sign_body": false,
        2300  +
    "timestamp": "2015-08-30T12:36:00Z"
        2301  +
}
              \
 No newline at end of file
 2145   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2146   2303   
similarity index 100%
 2147   2304   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq
 2148   2305   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2149   2306   
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
 2150   2307   
new file mode 100644
 2151   2308   
index 0000000..876a64b
 2152         -
-- /dev/null
        2309  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2153   2310   
@@ -0,0 +1 @@
        2311  +
9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
 2154   2312   
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
 2155   2313   
similarity index 50%
 2156   2314   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
 2157   2315   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2158   2316   
index ba1ef40..9d0d993 100644
 2159         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
        2317  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2160   2318   
@@ -1,4 +1,5 @@
 2161   2319   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 2162   2320   
Host:example.amazonaws.com
 2163   2321   
X-Amz-Date:20150830T123600Z
 2164         -
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
        2322  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
        2323  +
 2165   2324   
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
 2166   2325   
similarity index 100%
 2167   2326   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts
 2168   2327   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2169   2328   
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
 2170   2329   
new file mode 100644
 2171   2330   
index 0000000..a1bac59
 2172         -
-- /dev/null
        2331  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2173   2332   
@@ -0,0 +1,7 @@
        2333  +
GET
        2334  +
/
        2335  +
-._~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
        2336  +
host:example.amazonaws.com
        2337  +
        2338  +
host
        2339  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2174   2340   
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
 2175   2341   
new file mode 100644
 2176   2342   
index 0000000..41881e9
 2177         -
-- /dev/null
        2343  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2178   2344   
@@ -0,0 +1 @@
        2345  +
8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf
              \
 No newline at end of file
 2179   2346   
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
 2180   2347   
new file mode 100644
 2181   2348   
index 0000000..3179076
 2182         -
-- /dev/null
        2349  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2183   2350   
@@ -0,0 +1,3 @@
        2351  +
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
        2352  +
Host:example.amazonaws.com
        2353  +
 2184   2354   
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
 2185   2355   
new file mode 100644
 2186   2356   
index 0000000..6d675fc
 2187         -
-- /dev/null
        2357  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2188   2358   
@@ -0,0 +1,4 @@
        2359  +
AWS4-HMAC-SHA256
        2360  +
20150830T123600Z
        2361  +
20150830/us-east-1/service/aws4_request
        2362  +
c77f27ef2b499fbfee3f0b3c88bba7057b2b31ee9b62047078a5e0d6be91fd58
              \
 No newline at end of file
 2189   2363   
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
 2190   2364   
similarity index 100%
 2191   2365   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt
 2192   2366   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2193   2367   
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
 2194   2368   
new file mode 100644
 2195   2369   
index 0000000..0468d80
 2196         -
-- /dev/null
        2370  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2197   2371   
@@ -0,0 +1,12 @@
        2372  +
{
        2373  +
    "credentials": {
        2374  +
        "access_key_id": "AKIDEXAMPLE",
        2375  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2376  +
    },
        2377  +
    "expiration_in_seconds": 3600,
        2378  +
    "normalize": true,
        2379  +
    "region": "us-east-1",
        2380  +
    "service": "service",
        2381  +
    "sign_body": false,
        2382  +
    "timestamp": "2015-08-30T12:36:00Z"
        2383  +
}
              \
 No newline at end of file
 2198   2384   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2199   2385   
similarity index 100%
 2200   2386   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.creq
 2201   2387   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2202   2388   
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
 2203   2389   
new file mode 100644
 2204   2390   
index 0000000..87f295f
 2205         -
-- /dev/null
        2391  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2206   2392   
@@ -0,0 +1 @@
        2393  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2207   2394   
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
 2208   2395   
new file mode 100644
 2209   2396   
index 0000000..36b86e7
 2210         -
-- /dev/null
        2397  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2211   2398   
@@ -0,0 +1,5 @@
        2399  +
GET / HTTP/1.1
        2400  +
Host:example.amazonaws.com
        2401  +
X-Amz-Date:20150830T123600Z
        2402  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2403  +
 2212   2404   
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
 2213   2405   
similarity index 100%
 2214   2406   
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
 2215   2407   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2216   2408   
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
 2217   2409   
new file mode 100644
 2218   2410   
index 0000000..fb2420d
 2219         -
-- /dev/null
        2411  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2220   2412   
@@ -0,0 +1,7 @@
        2413  +
GET
        2414  +
/
        2415  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2416  +
host:example.amazonaws.com
        2417  +
        2418  +
host
        2419  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2221   2420   
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
 2222   2421   
new file mode 100644
 2223   2422   
index 0000000..da5c905
 2224         -
-- /dev/null
        2423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2225   2424   
@@ -0,0 +1 @@
        2425  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2226   2426   
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
 2227   2427   
new file mode 100644
 2228   2428   
index 0000000..eeb7a8f
 2229         -
-- /dev/null
        2429  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2230   2430   
@@ -0,0 +1,3 @@
        2431  +
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
        2432  +
Host:example.amazonaws.com
        2433  +
 2231   2434   
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
 2232   2435   
new file mode 100644
 2233   2436   
index 0000000..d837e67
 2234         -
-- /dev/null
        2437  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2235   2438   
@@ -0,0 +1,4 @@
        2439  +
AWS4-HMAC-SHA256
        2440  +
20150830T123600Z
        2441  +
20150830/us-east-1/service/aws4_request
        2442  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2236   2443   
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
 2237   2444   
similarity index 100%
 2238   2445   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt
 2239   2446   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2240   2447   
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
 2241   2448   
new file mode 100644
 2242   2449   
index 0000000..0468d80
 2243         -
-- /dev/null
        2450  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2244   2451   
@@ -0,0 +1,12 @@
        2452  +
{
        2453  +
    "credentials": {
        2454  +
        "access_key_id": "AKIDEXAMPLE",
        2455  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2456  +
    },
        2457  +
    "expiration_in_seconds": 3600,
        2458  +
    "normalize": true,
        2459  +
    "region": "us-east-1",
        2460  +
    "service": "service",
        2461  +
    "sign_body": false,
        2462  +
    "timestamp": "2015-08-30T12:36:00Z"
        2463  +
}
              \
 No newline at end of file
 2245   2464   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2246   2465   
similarity index 100%
 2247   2466   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq
 2248   2467   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2249   2468   
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
 2250   2469   
new file mode 100644
 2251   2470   
index 0000000..19a2cc9
 2252         -
-- /dev/null
        2471  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2253   2472   
@@ -0,0 +1 @@
        2473  +
2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
 2254   2474   
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
 2255   2475   
new file mode 100644
 2256   2476   
index 0000000..acb13ee
 2257         -
-- /dev/null
        2477  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2258   2478   
@@ -0,0 +1,5 @@
        2479  +
GET /?ሴ=bar HTTP/1.1
        2480  +
Host:example.amazonaws.com
        2481  +
X-Amz-Date:20150830T123600Z
        2482  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
        2483  +
 2259   2484   
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
 2260   2485   
similarity index 100%
 2261   2486   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts
 2262   2487   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2263   2488   
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
 2264   2489   
new file mode 100644
 2265   2490   
index 0000000..92cee62
 2266         -
-- /dev/null
        2491  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2267   2492   
@@ -0,0 +1,7 @@
        2493  +
GET
        2494  +
/
        2495  +
%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
        2496  +
host:example.amazonaws.com
        2497  +
        2498  +
host
        2499  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2268   2500   
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
 2269   2501   
new file mode 100644
 2270   2502   
index 0000000..c9e49de
 2271         -
-- /dev/null
        2503  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2272   2504   
@@ -0,0 +1 @@
        2505  +
0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600
              \
 No newline at end of file
 2273   2506   
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
 2274   2507   
new file mode 100644
 2275   2508   
index 0000000..8f4d8d0
 2276         -
-- /dev/null
        2509  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2277   2510   
@@ -0,0 +1,3 @@
        2511  +
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
        2512  +
Host:example.amazonaws.com
        2513  +
 2278   2514   
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
 2279   2515   
new file mode 100644
 2280   2516   
index 0000000..a6181dc
 2281         -
-- /dev/null
        2517  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2282   2518   
@@ -0,0 +1,4 @@
        2519  +
AWS4-HMAC-SHA256
        2520  +
20150830T123600Z
        2521  +
20150830/us-east-1/service/aws4_request
        2522  +
b2e8ae8e48ec880defebc6f6dc1d9fbc9f1856b33146f2943060ca71a50a7a77
              \
 No newline at end of file
 2283   2523   
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
 2284   2524   
similarity index 64%
 2285   2525   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
 2286   2526   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2287   2527   
index cc2757e..aff333a 100644
 2288         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
        2528  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2289   2529   
@@ -1,3 +1,2 @@
 2290   2530   
GET /?ሴ=bar HTTP/1.1
 2291   2531   
Host:example.amazonaws.com
 2292         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2293   2532   
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
 2294   2533   
similarity index 99%
 2295   2534   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
 2296   2535   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2297   2536   
index a457c8a..a334e18 100644
 2298   2537   
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
 2299   2538   
new file mode 100644
 2300   2539   
index 0000000..ccacdeb
 2301         -
-- /dev/null
        2540  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2302   2541   
@@ -0,0 +1,9 @@
        2542  +
GET
        2543  +
/
        2544  +
        2545  +
host:example.amazonaws.com
        2546  +
x-amz-date:20150830T123600Z
        2547  +
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2548  +
        2549  +
host;x-amz-date;x-amz-security-token
        2550  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2303   2551   
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
 2304   2552   
new file mode 100644
 2305   2553   
index 0000000..083e30d
 2306         -
-- /dev/null
        2554  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2307   2555   
@@ -0,0 +1 @@
        2556  +
07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
              \
 No newline at end of file
 2308   2557   
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
 2309   2558   
new file mode 100644
 2310   2559   
index 0000000..5287932
 2311         -
-- /dev/null
        2560  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2312   2561   
@@ -0,0 +1,6 @@
        2562  +
GET / HTTP/1.1
        2563  +
Host:example.amazonaws.com
        2564  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2565  +
X-Amz-Date:20150830T123600Z
        2566  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
        2567  +
 2313   2568   
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
 2314   2569   
new file mode 100644
 2315   2570   
index 0000000..742b880
 2316         -
-- /dev/null
        2571  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2317   2572   
@@ -0,0 +1,4 @@
        2573  +
AWS4-HMAC-SHA256
        2574  +
20150830T123600Z
        2575  +
20150830/us-east-1/service/aws4_request
        2576  +
067b36aa60031588cea4a4cde1f21215227a047690c72247f1d70b32fbbfad2b
              \
 No newline at end of file
 2318   2577   
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
 2319   2578   
new file mode 100644
 2320   2579   
index 0000000..5e75179
 2321         -
-- /dev/null
        2580  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2322   2581   
@@ -0,0 +1,7 @@
        2582  +
GET
        2583  +
/
        2584  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Security-Token=6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267&X-Amz-SignedHeaders=host
        2585  +
host:example.amazonaws.com
        2586  +
        2587  +
host
        2588  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2323   2589   
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
 2324   2590   
new file mode 100644
 2325   2591   
index 0000000..50b947f
 2326         -
-- /dev/null
        2592  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2327   2593   
@@ -0,0 +1 @@
        2594  +
7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c
              \
 No newline at end of file
 2328   2595   
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
 2329   2596   
new file mode 100644
 2330   2597   
index 0000000..aee910b
 2331         -
-- /dev/null
        2598  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2332   2599   
@@ -0,0 +1,3 @@
        2600  +
GET /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Security-Token=6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267&X-Amz-Signature=7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c HTTP/1.1
        2601  +
Host:example.amazonaws.com
        2602  +
 2333   2603   
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
 2334   2604   
new file mode 100644
 2335   2605   
index 0000000..04a6c17
 2336         -
-- /dev/null
        2606  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2337   2607   
@@ -0,0 +1,4 @@
        2608  +
AWS4-HMAC-SHA256
        2609  +
20150830T123600Z
        2610  +
20150830/us-east-1/service/aws4_request
        2611  +
cb30434103085aa9e73780fc60dc9a9df818fd2a7b1de12a9f6f4d791f898761
              \
 No newline at end of file
 2338   2612   
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
 2339   2613   
similarity index 100%
 2340   2614   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt
 2341   2615   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2342   2616   
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
 2343   2617   
new file mode 100644
 2344   2618   
index 0000000..0468d80
 2345         -
-- /dev/null
        2619  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2346   2620   
@@ -0,0 +1,12 @@
        2621  +
{
        2622  +
    "credentials": {
        2623  +
        "access_key_id": "AKIDEXAMPLE",
        2624  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2625  +
    },
        2626  +
    "expiration_in_seconds": 3600,
        2627  +
    "normalize": true,
        2628  +
    "region": "us-east-1",
        2629  +
    "service": "service",
        2630  +
    "sign_body": false,
        2631  +
    "timestamp": "2015-08-30T12:36:00Z"
        2632  +
}
              \
 No newline at end of file
 2347   2633   
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
 2348   2634   
similarity index 100%
 2349   2635   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq
 2350   2636   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2351   2637   
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
 2352   2638   
new file mode 100644
 2353   2639   
index 0000000..87f295f
 2354         -
-- /dev/null
        2640  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2355   2641   
@@ -0,0 +1 @@
        2642  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2356   2643   
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
 2357   2644   
new file mode 100644
 2358   2645   
index 0000000..36b86e7
 2359         -
-- /dev/null
        2646  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2360   2647   
@@ -0,0 +1,5 @@
        2648  +
GET / HTTP/1.1
        2649  +
Host:example.amazonaws.com
        2650  +
X-Amz-Date:20150830T123600Z
        2651  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2652  +
 2361   2653   
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
 2362   2654   
similarity index 100%
 2363   2655   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts
 2364   2656   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2365   2657   
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
 2366   2658   
new file mode 100644
 2367   2659   
index 0000000..fb2420d
 2368         -
-- /dev/null
        2660  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2369   2661   
@@ -0,0 +1,7 @@
        2662  +
GET
        2663  +
/
        2664  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2665  +
host:example.amazonaws.com
        2666  +
        2667  +
host
        2668  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2370   2669   
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
 2371   2670   
new file mode 100644
 2372   2671   
index 0000000..da5c905
 2373         -
-- /dev/null
        2672  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2374   2673   
@@ -0,0 +1 @@
        2674  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2375   2675   
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
 2376   2676   
new file mode 100644
 2377   2677   
index 0000000..eeb7a8f
 2378         -
-- /dev/null
        2678  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2379   2679   
@@ -0,0 +1,3 @@
        2680  +
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
        2681  +
Host:example.amazonaws.com
        2682  +
 2380   2683   
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
 2381   2684   
new file mode 100644
 2382   2685   
index 0000000..d837e67
 2383         -
-- /dev/null
        2686  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2384   2687   
@@ -0,0 +1,4 @@
        2688  +
AWS4-HMAC-SHA256
        2689  +
20150830T123600Z
        2690  +
20150830/us-east-1/service/aws4_request
        2691  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2385   2692   
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
 2386   2693   
similarity index 100%
 2387   2694   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt
 2388   2695   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2389   2696   
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
 2390   2697   
new file mode 100644
 2391   2698   
index 0000000..0468d80
 2392         -
-- /dev/null
        2699  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2393   2700   
@@ -0,0 +1,12 @@
        2701  +
{
        2702  +
    "credentials": {
        2703  +
        "access_key_id": "AKIDEXAMPLE",
        2704  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2705  +
    },
        2706  +
    "expiration_in_seconds": 3600,
        2707  +
    "normalize": true,
        2708  +
    "region": "us-east-1",
        2709  +
    "service": "service",
        2710  +
    "sign_body": false,
        2711  +
    "timestamp": "2015-08-30T12:36:00Z"
        2712  +
}
              \
 No newline at end of file
 2394   2713   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2395   2714   
similarity index 100%
 2396   2715   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq
 2397   2716   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2398   2717   
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
 2399   2718   
new file mode 100644
 2400   2719   
index 0000000..629487f
 2401         -
-- /dev/null
        2720  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2402   2721   
@@ -0,0 +1 @@
        2722  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2403   2723   
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
 2404   2724   
new file mode 100644
 2405   2725   
index 0000000..0d99b1c
 2406         -
-- /dev/null
        2726  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2407   2727   
@@ -0,0 +1,5 @@
        2728  +
POST / HTTP/1.1
        2729  +
Host:example.amazonaws.com
        2730  +
X-Amz-Date:20150830T123600Z
        2731  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2732  +
 2408   2733   
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
 2409   2734   
similarity index 100%
 2410   2735   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts
 2411   2736   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2412   2737   
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
 2413   2738   
new file mode 100644
 2414   2739   
index 0000000..d3341e7
 2415         -
-- /dev/null
        2740  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2416   2741   
@@ -0,0 +1,7 @@
        2742  +
POST
        2743  +
/
        2744  +
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
        2745  +
host:example.amazonaws.com
        2746  +
        2747  +
host
        2748  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2417   2749   
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
 2418   2750   
new file mode 100644
 2419   2751   
index 0000000..79f7e0d
 2420         -
-- /dev/null
        2752  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2421   2753   
@@ -0,0 +1 @@
        2754  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2422   2755   
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
 2423   2756   
new file mode 100644
 2424   2757   
index 0000000..94f1b21
 2425         -
-- /dev/null
        2758  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2426   2759   
@@ -0,0 +1,3 @@
        2760  +
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
        2761  +
Host:example.amazonaws.com
        2762  +
 2427   2763   
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
 2428   2764   
new file mode 100644
 2429   2765   
index 0000000..e8f335b
 2430         -
-- /dev/null
        2766  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2431   2767   
@@ -0,0 +1,4 @@
        2768  +
AWS4-HMAC-SHA256
        2769  +
20150830T123600Z
        2770  +
20150830/us-east-1/service/aws4_request
        2771  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2432   2772   
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
 2433   2773   
similarity index 100%
 2434   2774   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt
 2435   2775   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2436   2776   
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
 2437   2777   
new file mode 100644
 2438   2778   
index 0000000..0468d80
 2439         -
-- /dev/null
        2779  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2440   2780   
@@ -0,0 +1,12 @@
        2781  +
{
        2782  +
    "credentials": {
        2783  +
        "access_key_id": "AKIDEXAMPLE",
        2784  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2785  +
    },
        2786  +
    "expiration_in_seconds": 3600,
        2787  +
    "normalize": true,
        2788  +
    "region": "us-east-1",
        2789  +
    "service": "service",
        2790  +
    "sign_body": false,
        2791  +
    "timestamp": "2015-08-30T12:36:00Z"
        2792  +
}
              \
 No newline at end of file
 2441   2793   
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
 2442   2794   
similarity index 100%
 2443   2795   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq
 2444   2796   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2445   2797   
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
 2446   2798   
new file mode 100644
 2447   2799   
index 0000000..e4e6428
 2448         -
-- /dev/null
        2800  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2449   2801   
@@ -0,0 +1 @@
        2802  +
c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
 2450   2803   
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
 2451   2804   
new file mode 100644
 2452   2805   
index 0000000..e3778f5
 2453         -
-- /dev/null
        2806  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2454   2807   
@@ -0,0 +1,6 @@
        2808  +
POST / HTTP/1.1
        2809  +
Host:example.amazonaws.com
        2810  +
My-Header1:value1
        2811  +
X-Amz-Date:20150830T123600Z
        2812  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
        2813  +
 2455   2814   
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
 2456   2815   
similarity index 100%
 2457   2816   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts
 2458   2817   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2459   2818   
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
 2460   2819   
new file mode 100644
 2461   2820   
index 0000000..bd7c937
 2462         -
-- /dev/null
        2821  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2463   2822   
@@ -0,0 +1,8 @@
        2823  +
POST
        2824  +
/
        2825  +
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
        2826  +
host:example.amazonaws.com
        2827  +
my-header1:value1
        2828  +
        2829  +
host;my-header1
        2830  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2464   2831   
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
 2465   2832   
new file mode 100644
 2466   2833   
index 0000000..0416f13
 2467         -
-- /dev/null
        2834  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2468   2835   
@@ -0,0 +1 @@
        2836  +
c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7
              \
 No newline at end of file
 2469   2837   
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
 2470   2838   
new file mode 100644
 2471   2839   
index 0000000..5e6522f
 2472         -
-- /dev/null
        2840  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2473   2841   
@@ -0,0 +1,4 @@
        2842  +
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
        2843  +
Host:example.amazonaws.com
        2844  +
My-Header1:value1
        2845  +
 2474   2846   
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
 2475   2847   
new file mode 100644
 2476   2848   
index 0000000..d06d1df
 2477         -
-- /dev/null
        2849  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2478   2850   
@@ -0,0 +1,4 @@
        2851  +
AWS4-HMAC-SHA256
        2852  +
20150830T123600Z
        2853  +
20150830/us-east-1/service/aws4_request
        2854  +
1295ed77e4ef8b18b32815e493e0b0f78ee47615c0ecbebfec7c75709eb58c88
              \
 No newline at end of file
 2479   2855   
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
 2480   2856   
similarity index 100%
 2481   2857   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt
 2482   2858   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2483   2859   
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
 2484   2860   
new file mode 100644
 2485   2861   
index 0000000..0468d80
 2486         -
-- /dev/null
        2862  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2487   2863   
@@ -0,0 +1,12 @@
        2864  +
{
        2865  +
    "credentials": {
        2866  +
        "access_key_id": "AKIDEXAMPLE",
        2867  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2868  +
    },
        2869  +
    "expiration_in_seconds": 3600,
        2870  +
    "normalize": true,
        2871  +
    "region": "us-east-1",
        2872  +
    "service": "service",
        2873  +
    "sign_body": false,
        2874  +
    "timestamp": "2015-08-30T12:36:00Z"
        2875  +
}
              \
 No newline at end of file
 2488   2876   
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
 2489   2877   
similarity index 100%
 2490   2878   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq
 2491   2879   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2492   2880   
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
 2493   2881   
new file mode 100644
 2494   2882   
index 0000000..bb3809c
 2495         -
-- /dev/null
        2883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2496   2884   
@@ -0,0 +1 @@
        2885  +
cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
 2497   2886   
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
 2498   2887   
new file mode 100644
 2499   2888   
index 0000000..10f6761
 2500         -
-- /dev/null
        2889  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2501   2890   
@@ -0,0 +1,6 @@
        2891  +
POST / HTTP/1.1
        2892  +
Host:example.amazonaws.com
        2893  +
My-Header1:VALUE1
        2894  +
X-Amz-Date:20150830T123600Z
        2895  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
        2896  +
 2502   2897   
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
 2503   2898   
similarity index 100%
 2504   2899   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts
 2505   2900   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2506   2901   
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
 2507   2902   
new file mode 100644
 2508   2903   
index 0000000..f84856f
 2509         -
-- /dev/null
        2904  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2510   2905   
@@ -0,0 +1,8 @@
        2906  +
POST
        2907  +
/
        2908  +
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
        2909  +
host:example.amazonaws.com
        2910  +
my-header1:VALUE1
        2911  +
        2912  +
host;my-header1
        2913  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2511   2914   
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
 2512   2915   
new file mode 100644
 2513   2916   
index 0000000..a9d3cac
 2514         -
-- /dev/null
        2917  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2515   2918   
@@ -0,0 +1 @@
        2919  +
0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed
              \
 No newline at end of file
 2516   2920   
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
 2517   2921   
new file mode 100644
 2518   2922   
index 0000000..cf96c7c
 2519         -
-- /dev/null
        2923  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2520   2924   
@@ -0,0 +1,4 @@
        2925  +
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
        2926  +
Host:example.amazonaws.com
        2927  +
My-Header1:VALUE1
        2928  +
 2521   2929   
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
 2522   2930   
new file mode 100644
 2523   2931   
index 0000000..47ef566
 2524         -
-- /dev/null
        2932  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2525   2933   
@@ -0,0 +1,4 @@
        2934  +
AWS4-HMAC-SHA256
        2935  +
20150830T123600Z
        2936  +
20150830/us-east-1/service/aws4_request
        2937  +
9d4d1de88f0149695a91a01275fc72dc00fb50bdc78e424f012ec860d5f8c41d
              \
 No newline at end of file
 2526   2938   
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
 2527   2939   
similarity index 100%
 2528   2940   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt
 2529   2941   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2530   2942   
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
 2531   2943   
similarity index 100%
 2532   2944   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json
 2533   2945   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2534   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2535   2947   
similarity index 100%
 2536   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.creq
 2537   2949   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2538   2950   
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
 2539   2951   
new file mode 100644
 2540   2952   
index 0000000..629487f
 2541         -
-- /dev/null
        2953  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2542   2954   
@@ -0,0 +1 @@
        2955  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2543   2956   
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
 2544   2957   
similarity index 67%
 2545   2958   
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
 2546   2959   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2547   2960   
index 291ed07..f96ff9e 100644
 2548         -
-- 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
        2961  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2549   2962   
@@ -1,5 +1,6 @@
 2550   2963   
POST / HTTP/1.1
 2551   2964   
Host:example.amazonaws.com
 2552         -
X-Amz-Date:20150830T123600Z
 2553   2965   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2554         -
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
        2966  +
X-Amz-Date:20150830T123600Z
        2967  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2968  +
 2555   2969   
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
 2556   2970   
similarity index 100%
 2557   2971   
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
 2558   2972   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2559   2973   
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
 2560   2974   
new file mode 100644
 2561   2975   
index 0000000..d3341e7
 2562         -
-- /dev/null
        2976  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2563   2977   
@@ -0,0 +1,7 @@
        2978  +
POST
        2979  +
/
        2980  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2981  +
host:example.amazonaws.com
        2982  +
        2983  +
host
        2984  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2564   2985   
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
 2565   2986   
new file mode 100644
 2566   2987   
index 0000000..79f7e0d
 2567         -
-- /dev/null
        2988  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2568   2989   
@@ -0,0 +1 @@
        2990  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2569   2991   
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
 2570   2992   
new file mode 100644
 2571   2993   
index 0000000..4983268
 2572         -
-- /dev/null
        2994  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2573   2995   
@@ -0,0 +1,3 @@
        2996  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Security-Token=AQoDYXdzEPT%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI%2FqkPpKPi%2FkMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d%2Bxo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz%2BscqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR%2FoLxBA%3D%3D&X-Amz-Signature=2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b HTTP/1.1
        2997  +
Host:example.amazonaws.com
        2998  +
 2574   2999   
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
 2575   3000   
new file mode 100644
 2576   3001   
index 0000000..e8f335b
 2577         -
-- /dev/null
        3002  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2578   3003   
@@ -0,0 +1,4 @@
        3004  +
AWS4-HMAC-SHA256
        3005  +
20150830T123600Z
        3006  +
20150830/us-east-1/service/aws4_request
        3007  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2579   3008   
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
 2580   3009   
similarity index 100%
 2581   3010   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt
 2582   3011   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2583   3012   
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
 2584   3013   
similarity index 100%
 2585   3014   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json
 2586   3015   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2587   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2588   3017   
similarity index 100%
 2589   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.creq
 2590   3019   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2591   3020   
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
 2592   3021   
new file mode 100644
 2593   3022   
index 0000000..85a7c29
 2594         -
-- /dev/null
        3023  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2595   3024   
@@ -0,0 +1 @@
        3025  +
85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
 2596   3026   
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
 2597   3027   
similarity index 65%
 2598   3028   
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
 2599   3029   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2600   3030   
index 37b2f04..4d0b143 100644
 2601         -
-- 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
        3031  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2602   3032   
@@ -1,5 +1,6 @@
 2603   3033   
POST / HTTP/1.1
 2604   3034   
Host:example.amazonaws.com
 2605         -
X-Amz-Date:20150830T123600Z
 2606   3035   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2607         -
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
        3036  +
X-Amz-Date:20150830T123600Z
        3037  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
        3038  +
 2608   3039   
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
 2609   3040   
similarity index 100%
 2610   3041   
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
 2611   3042   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2612   3043   
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
 2613   3044   
new file mode 100644
 2614   3045   
index 0000000..57a7bc3
 2615         -
-- /dev/null
        3046  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2616   3047   
@@ -0,0 +1,7 @@
        3048  +
POST
        3049  +
/
        3050  +
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
        3051  +
host:example.amazonaws.com
        3052  +
        3053  +
host
        3054  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2617   3055   
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
 2618   3056   
new file mode 100644
 2619   3057   
index 0000000..eb905d2
 2620         -
-- /dev/null
        3058  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2621   3059   
@@ -0,0 +1 @@
        3060  +
46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c
              \
 No newline at end of file
 2622   3061   
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
 2623   3062   
new file mode 100644
 2624   3063   
index 0000000..1d80ec0
 2625         -
-- /dev/null
        3064  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2626   3065   
@@ -0,0 +1,3 @@
        3066  +
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
        3067  +
Host:example.amazonaws.com
        3068  +
 2627   3069   
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
 2628   3070   
new file mode 100644
 2629   3071   
index 0000000..bd0239a
 2630         -
-- /dev/null
        3072  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2631   3073   
@@ -0,0 +1,4 @@
        3074  +
AWS4-HMAC-SHA256
        3075  +
20150830T123600Z
        3076  +
20150830/us-east-1/service/aws4_request
        3077  +
37f7ba7a2ec89e8b29a0d637bcc70d8e8d0fdba854ddfc5bc06a12398cfe8605
              \
 No newline at end of file
 2632   3078   
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
 2633   3079   
similarity index 100%
 2634   3080   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt
 2635   3081   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2636   3082   
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
 2637   3083   
new file mode 100644
 2638   3084   
index 0000000..0468d80
 2639         -
-- /dev/null
        3085  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2640   3086   
@@ -0,0 +1,12 @@
        3087  +
{
        3088  +
    "credentials": {
        3089  +
        "access_key_id": "AKIDEXAMPLE",
        3090  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3091  +
    },
        3092  +
    "expiration_in_seconds": 3600,
        3093  +
    "normalize": true,
        3094  +
    "region": "us-east-1",
        3095  +
    "service": "service",
        3096  +
    "sign_body": false,
        3097  +
    "timestamp": "2015-08-30T12:36:00Z"
        3098  +
}
              \
 No newline at end of file
 2641   3099   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2642   3100   
similarity index 100%
 2643   3101   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.creq
 2644   3102   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2645   3103   
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
 2646   3104   
new file mode 100644
 2647   3105   
index 0000000..80ed433
 2648         -
-- /dev/null
        3106  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2649   3107   
@@ -0,0 +1 @@
        3108  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2650   3109   
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
 2651   3110   
new file mode 100644
 2652   3111   
index 0000000..4e614f8
 2653         -
-- /dev/null
        3112  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2654   3113   
@@ -0,0 +1,5 @@
        3114  +
POST /?Param1=value1 HTTP/1.1
        3115  +
Host:example.amazonaws.com
        3116  +
X-Amz-Date:20150830T123600Z
        3117  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3118  +
 2655   3119   
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
 2656   3120   
similarity index 100%
 2657   3121   
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
 2658   3122   
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
 2659   3123   
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
 2660   3124   
new file mode 100644
 2661   3125   
index 0000000..be66403
 2662         -
-- /dev/null
        3126  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2663   3127   
@@ -0,0 +1,7 @@
        3128  +
POST
        3129  +
/
        3130  +
Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        3131  +
host:example.amazonaws.com
        3132  +
        3133  +
host
        3134  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2664   3135   
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
 2665   3136   
new file mode 100644
 2666   3137   
index 0000000..20fd32b
 2667         -
-- /dev/null
        3138  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2668   3139   
@@ -0,0 +1 @@
        3140  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2669   3141   
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
 2670   3142   
new file mode 100644
 2671   3143   
index 0000000..d1148d0
 2672         -
-- /dev/null
        3144  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2673   3145   
@@ -0,0 +1,3 @@
        3146  +
POST /?Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682 HTTP/1.1
        3147  +
Host:example.amazonaws.com
        3148  +
 2674   3149   
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
 2675   3150   
new file mode 100644
 2676   3151   
index 0000000..1a77103
 2677         -
-- /dev/null
        3152  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2678   3153   
@@ -0,0 +1,4 @@
        3154  +
AWS4-HMAC-SHA256
        3155  +
20150830T123600Z
        3156  +
20150830/us-east-1/service/aws4_request
        3157  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2679   3158   
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
 2680   3159   
similarity index 100%
 2681   3160   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt
 2682   3161   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2683   3162   
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
 2684   3163   
new file mode 100644
 2685   3164   
index 0000000..0468d80
 2686         -
-- /dev/null
        3165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2687   3166   
@@ -0,0 +1,12 @@
        3167  +
{
        3168  +
    "credentials": {
        3169  +
        "access_key_id": "AKIDEXAMPLE",
        3170  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3171  +
    },
        3172  +
    "expiration_in_seconds": 3600,
        3173  +
    "normalize": true,
        3174  +
    "region": "us-east-1",
        3175  +
    "service": "service",
        3176  +
    "sign_body": false,
        3177  +
    "timestamp": "2015-08-30T12:36:00Z"
        3178  +
}
              \
 No newline at end of file
 2688   3179   
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
 2689   3180   
similarity index 100%
 2690   3181   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq
 2691   3182   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2692   3183   
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
 2693   3184   
new file mode 100644
 2694   3185   
index 0000000..80ed433
 2695         -
-- /dev/null
        3186  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2696   3187   
@@ -0,0 +1 @@
        3188  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2697   3189   
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
 2698   3190   
new file mode 100644
 2699   3191   
index 0000000..4e614f8
 2700         -
-- /dev/null
        3192  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2701   3193   
@@ -0,0 +1,5 @@
        3194  +
POST /?Param1=value1 HTTP/1.1
        3195  +
Host:example.amazonaws.com
        3196  +
X-Amz-Date:20150830T123600Z
        3197  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3198  +
 2702   3199   
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
 2703   3200   
similarity index 100%
 2704   3201   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts
 2705   3202   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2706   3203   
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
 2707   3204   
new file mode 100644
 2708   3205   
index 0000000..be66403
 2709         -
-- /dev/null
        3206  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2710   3207   
@@ -0,0 +1,7 @@
        3208  +
POST
        3209  +
/
        3210  +
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
        3211  +
host:example.amazonaws.com
        3212  +
        3213  +
host
        3214  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2711   3215   
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
 2712   3216   
new file mode 100644
 2713   3217   
index 0000000..20fd32b
 2714         -
-- /dev/null
        3218  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2715   3219   
@@ -0,0 +1 @@
        3220  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2716   3221   
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
 2717   3222   
new file mode 100644
 2718   3223   
index 0000000..d1148d0
 2719         -
-- /dev/null
        3224  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2720   3225   
@@ -0,0 +1,3 @@
        3226  +
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
        3227  +
Host:example.amazonaws.com
        3228  +
 2721   3229   
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
 2722   3230   
new file mode 100644
 2723   3231   
index 0000000..1a77103
 2724         -
-- /dev/null
        3232  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2725   3233   
@@ -0,0 +1,4 @@
        3234  +
AWS4-HMAC-SHA256
        3235  +
20150830T123600Z
        3236  +
20150830/us-east-1/service/aws4_request
        3237  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2726   3238   
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
 2727   3239   
similarity index 100%
 2728   3240   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt
 2729   3241   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2730   3242   
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
 2731   3243   
new file mode 100644
 2732   3244   
index 0000000..0468d80
 2733         -
-- /dev/null
        3245  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2734   3246   
@@ -0,0 +1,12 @@
        3247  +
{
        3248  +
    "credentials": {
        3249  +
        "access_key_id": "AKIDEXAMPLE",
        3250  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3251  +
    },
        3252  +
    "expiration_in_seconds": 3600,
        3253  +
    "normalize": true,
        3254  +
    "region": "us-east-1",
        3255  +
    "service": "service",
        3256  +
    "sign_body": false,
        3257  +
    "timestamp": "2015-08-30T12:36:00Z"
        3258  +
}
              \
 No newline at end of file
 2735   3259   
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
 2736   3260   
similarity index 100%
 2737   3261   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq
 2738   3262   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2739   3263   
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
 2740   3264   
new file mode 100644
 2741   3265   
index 0000000..629487f
 2742         -
-- /dev/null
        3266  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2743   3267   
@@ -0,0 +1 @@
        3268  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2744   3269   
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
 2745   3270   
new file mode 100644
 2746   3271   
index 0000000..0d99b1c
 2747         -
-- /dev/null
        3272  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2748   3273   
@@ -0,0 +1,5 @@
        3274  +
POST / HTTP/1.1
        3275  +
Host:example.amazonaws.com
        3276  +
X-Amz-Date:20150830T123600Z
        3277  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3278  +
 2749   3279   
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
 2750   3280   
similarity index 100%
 2751   3281   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts
 2752   3282   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2753   3283   
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
 2754   3284   
new file mode 100644
 2755   3285   
index 0000000..d3341e7
 2756         -
-- /dev/null
        3286  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2757   3287   
@@ -0,0 +1,7 @@
        3288  +
POST
        3289  +
/
        3290  +
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
        3291  +
host:example.amazonaws.com
        3292  +
        3293  +
host
        3294  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2758   3295   
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
 2759   3296   
new file mode 100644
 2760   3297   
index 0000000..79f7e0d
 2761         -
-- /dev/null
        3298  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2762   3299   
@@ -0,0 +1 @@
        3300  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2763   3301   
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
 2764   3302   
new file mode 100644
 2765   3303   
index 0000000..94f1b21
 2766         -
-- /dev/null
        3304  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2767   3305   
@@ -0,0 +1,3 @@
        3306  +
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
        3307  +
Host:example.amazonaws.com
        3308  +
 2768   3309   
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
 2769   3310   
new file mode 100644
 2770   3311   
index 0000000..e8f335b
 2771         -
-- /dev/null
        3312  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2772   3313   
@@ -0,0 +1,4 @@
        3314  +
AWS4-HMAC-SHA256
        3315  +
20150830T123600Z
        3316  +
20150830/us-east-1/service/aws4_request
        3317  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2773   3318   
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
 2774   3319   
similarity index 100%
 2775   3320   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt
 2776   3321   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2777   3322   
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
 2778   3323   
similarity index 99%
 2779   3324   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
 2780   3325   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2781   3326   
index fc4bce6..0db1df1 100644
 2782   3327   
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
 2783   3328   
new file mode 100644
 2784   3329   
index 0000000..c218fdf
 2785         -
-- /dev/null
        3330  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2786   3331   
@@ -0,0 +1,11 @@
        3332  +
POST
        3333  +
/
        3334  +
        3335  +
content-length:13
        3336  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3337  +
host:example.amazonaws.com
        3338  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3339  +
x-amz-date:20150830T123600Z
        3340  +
        3341  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3342  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2787   3343   
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
 2788   3344   
new file mode 100644
 2789   3345   
index 0000000..836aa8b
 2790         -
-- /dev/null
        3346  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2791   3347   
@@ -0,0 +1 @@
        3348  +
328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
              \
 No newline at end of file
 2792   3349   
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
 2793   3350   
new file mode 100644
 2794   3351   
index 0000000..9262d53
 2795         -
-- /dev/null
        3352  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2796   3353   
@@ -0,0 +1,9 @@
        3354  +
POST / HTTP/1.1
        3355  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3356  +
Host:example.amazonaws.com
        3357  +
Content-Length:13
        3358  +
X-Amz-Date:20150830T123600Z
        3359  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3360  +
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
        3361  +
        3362  +
Param1=value1
              \
 No newline at end of file
 2797   3363   
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
 2798   3364   
new file mode 100644
 2799   3365   
index 0000000..ddbdccc
 2800         -
-- /dev/null
        3366  +
++ 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
 2801   3367   
@@ -0,0 +1,4 @@
        3368  +
AWS4-HMAC-SHA256
        3369  +
20150830T123600Z
        3370  +
20150830/us-east-1/service/aws4_request
        3371  +
a89f1a5b53e37702ee6363ce1da3ce8f54386f3c8f352ae652153c2982a0bc4d
              \
 No newline at end of file
 2802   3372   
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
 2803   3373   
new file mode 100644
 2804   3374   
index 0000000..596a579
 2805         -
-- /dev/null
        3375  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 2806   3376   
@@ -0,0 +1,9 @@
        3377  +
POST
        3378  +
/
        3379  +
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
        3380  +
content-length:13
        3381  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3382  +
host:example.amazonaws.com
        3383  +
        3384  +
content-length;content-type;host
        3385  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2807   3386   
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
 2808   3387   
new file mode 100644
 2809   3388   
index 0000000..bc85cd8
 2810         -
-- /dev/null
        3389  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 2811   3390   
@@ -0,0 +1 @@
        3391  +
0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d
              \
 No newline at end of file
 2812   3392   
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
 2813   3393   
new file mode 100644
 2814   3394   
index 0000000..16b59e5
 2815         -
-- /dev/null
        3395  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 2816   3396   
@@ -0,0 +1,6 @@
        3397  +
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
        3398  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3399  +
Host:example.amazonaws.com
        3400  +
Content-Length:13
        3401  +
        3402  +
Param1=value1
              \
 No newline at end of file
 2817   3403   
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
 2818   3404   
new file mode 100644
 2819   3405   
index 0000000..50074af
 2820         -
-- /dev/null
        3406  +
++ 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
 2821   3407   
@@ -0,0 +1,4 @@
        3408  +
AWS4-HMAC-SHA256
        3409  +
20150830T123600Z
        3410  +
20150830/us-east-1/service/aws4_request
        3411  +
32192353b8ae6d857fac1c71cda066e6af2d3a3127ea7ac1fee22621ab4f05dc
              \
 No newline at end of file
 2822   3412   
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
 2823   3413   
similarity index 89%
 2824   3414   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
 2825   3415   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 2826   3416   
index b711c25..8289eaa 100644
 2827   3417   
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
 2828   3418   
similarity index 99%
 2829   3419   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
 2830   3420   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 2831   3421   
index fc4bce6..0db1df1 100644
 2832   3422   
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
 2833   3423   
new file mode 100644
 2834   3424   
index 0000000..4d116a5
 2835         -
-- /dev/null
        3425  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 2836   3426   
@@ -0,0 +1,11 @@
        3427  +
POST
        3428  +
/
        3429  +
        3430  +
content-length:13
        3431  +
content-type:application/x-www-form-urlencoded
        3432  +
host:example.amazonaws.com
        3433  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3434  +
x-amz-date:20150830T123600Z
        3435  +
        3436  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3437  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2837   3438   
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
 2838   3439   
new file mode 100644
 2839   3440   
index 0000000..0d2ac37
 2840         -
-- /dev/null
        3441  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 2841   3442   
@@ -0,0 +1 @@
        3443  +
d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
              \
 No newline at end of file
 2842   3444   
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
 2843   3445   
new file mode 100644
 2844   3446   
index 0000000..bd5e49c
 2845         -
-- /dev/null
        3447  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 2846   3448   
@@ -0,0 +1,9 @@
        3449  +
POST / HTTP/1.1
        3450  +
Content-Type:application/x-www-form-urlencoded
        3451  +
Host:example.amazonaws.com
        3452  +
Content-Length:13
        3453  +
X-Amz-Date:20150830T123600Z
        3454  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3455  +
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
        3456  +
        3457  +
Param1=value1
              \
 No newline at end of file
 2847   3458   
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
 2848   3459   
new file mode 100644
 2849   3460   
index 0000000..f1c599c
 2850         -
-- /dev/null
        3461  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 2851   3462   
@@ -0,0 +1,4 @@
        3463  +
AWS4-HMAC-SHA256
        3464  +
20150830T123600Z
        3465  +
20150830/us-east-1/service/aws4_request
        3466  +
b1edd1d03544c25390e32085d55b57acc9a3961bb59415ff86c45c3d89d16cfb
              \
 No newline at end of file
 2852   3467   
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
 2853   3468   
new file mode 100644
 2854   3469   
index 0000000..1fc1bb7
 2855         -
-- /dev/null
        3470  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 2856   3471   
@@ -0,0 +1,9 @@
        3472  +
POST
        3473  +
/
        3474  +
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
        3475  +
content-length:13
        3476  +
content-type:application/x-www-form-urlencoded
        3477  +
host:example.amazonaws.com
        3478  +
        3479  +
content-length;content-type;host
        3480  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2857   3481   
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
 2858   3482   
new file mode 100644
 2859   3483   
index 0000000..98c91b3
 2860         -
-- /dev/null
        3484  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 2861   3485   
@@ -0,0 +1 @@
        3486  +
89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9
              \
 No newline at end of file
 2862   3487   
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
 2863   3488   
new file mode 100644
 2864   3489   
index 0000000..055cd7a
 2865         -
-- /dev/null
        3490  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 2866   3491   
@@ -0,0 +1,6 @@
        3492  +
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
        3493  +
Content-Type:application/x-www-form-urlencoded
        3494  +
Host:example.amazonaws.com
        3495  +
Content-Length:13
        3496  +
        3497  +
Param1=value1
              \
 No newline at end of file
 2867   3498   
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
 2868   3499   
new file mode 100644
 2869   3500   
index 0000000..db7fc27
 2870         -
-- /dev/null
        3501  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 2871   3502   
@@ -0,0 +1,4 @@
        3503  +
AWS4-HMAC-SHA256
        3504  +
20150830T123600Z
        3505  +
20150830/us-east-1/service/aws4_request
        3506  +
ee5059a7c437165a28d0e775e6498be428761255d657d8c04cb1baa41de6514c
              \
 No newline at end of file
 2872   3507   
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
 2873   3508   
similarity index 88%
 2874   3509   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
 2875   3510   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 2876   3511   
index 0091102..760b2d3 100644
 2877   3512   
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
 2878   3513   
new file mode 100644
 2879   3514   
index 0000000..0468d80
 2880         -
-- /dev/null
        3515  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 2881   3516   
@@ -0,0 +1,12 @@
        3517  +
{
        3518  +
    "credentials": {
        3519  +
        "access_key_id": "AKIDEXAMPLE",
        3520  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3521  +
    },
        3522  +
    "expiration_in_seconds": 3600,
        3523  +
    "normalize": true,
        3524  +
    "region": "us-east-1",
        3525  +
    "service": "service",
        3526  +
    "sign_body": false,
        3527  +
    "timestamp": "2015-08-30T12:36:00Z"
        3528  +
}
              \
 No newline at end of file
 2882   3529   
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
 2883   3530   
similarity index 99%
 2884   3531   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
 2885   3532   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 2886   3533   
index ccb5f43..1bc448e 100644
 2887   3534   
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
 2888   3535   
new file mode 100644
 2889   3536   
index 0000000..489c182
 2890         -
-- /dev/null
        3537  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 2891   3538   
@@ -0,0 +1 @@
        3539  +
304502204862ad283a21f883fc12f1156a6f3fcdbba13d1847e58aa5eb37c666477ea06b022100ee439fac0a975c9a6605b1fa44ad7b654a1f8ac6e868e4e1069a1b3aa35d8113
              \
 No newline at end of file
 2892   3540   
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
 2893   3541   
new file mode 100644
 2894   3542   
index 0000000..e1b8dbf
 2895         -
-- /dev/null
        3543  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 2896   3544   
@@ -0,0 +1,9 @@
        3545  +
GET / HTTP/1.1
        3546  +
Host:example.amazonaws.com
        3547  +
My-Header1:value2
        3548  +
My-Header1:value2
        3549  +
My-Header1:value1
        3550  +
X-Amz-Date:20150830T123600Z
        3551  +
X-Amz-Region-Set:us-east-1
        3552  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=30450220331da6dfebb0d19e5e161b1efa389ccb83cadb60bc71f6791ef71ac6054c44de0221008588b7d5c9f7a79ca9c02a02efbd0f540cda242a64ca1452aa914e050b517724
        3553  +
 2897   3554   
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
 2898   3555   
similarity index 99%
 2899   3556   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
 2900   3557   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 2901   3558   
index 8783461..bfc4619 100644
 2902   3559   
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
 2903   3560   
new file mode 100644
 2904   3561   
index 0000000..379dcb2
 2905         -
-- /dev/null
        3562  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 2906   3563   
@@ -0,0 +1,4 @@
        3564  +
{
        3565  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3566  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3567  +
}
 2907   3568   
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
 2908   3569   
similarity index 99%
 2909   3570   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
 2910   3571   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 2911   3572   
index 9561297..c05c3f5 100644
 2912   3573   
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
 2913   3574   
new file mode 100644
 2914   3575   
index 0000000..de9a4c3
 2915         -
-- /dev/null
        3576  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 2916   3577   
@@ -0,0 +1 @@
        3578  +
3045022100e1e03fa80218cb464404dc4badbdf443f5f5bb504840a2b3803565a28be0388d022063399d4fb8b974906e87a8d67bf7e95334d9dc620817ef92eb2bc6affb1c6a10
              \
 No newline at end of file
 2917   3579   
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
 2918   3580   
new file mode 100644
 2919   3581   
index 0000000..6c6b8c4
 2920         -
-- /dev/null
        3582  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 2921   3583   
@@ -0,0 +1,6 @@
        3584  +
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
        3585  +
Host:example.amazonaws.com
        3586  +
My-Header1:value2
        3587  +
My-Header1:value2
        3588  +
My-Header1:value1
        3589  +
 2922   3590   
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
 2923   3591   
similarity index 99%
 2924   3592   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
 2925   3593   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 2926   3594   
index 3140f6f..4eef106 100644
 2927   3595   
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
 2928   3596   
similarity index 78%
 2929   3597   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
 2930   3598   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2931   3599   
index 08a0364..40455ce 100644
 2932         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
        3600  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2933   3601   
@@ -1,6 +1,5 @@
 2934   3602   
GET / HTTP/1.1
 2935   3603   
Host:example.amazonaws.com
 2936   3604   
My-Header1:value2
 2937   3605   
My-Header1:value2
 2938   3606   
My-Header1:value1
 2939         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2940   3607   
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
 2941   3608   
new file mode 100644
 2942   3609   
index 0000000..0468d80
 2943         -
-- /dev/null
        3610  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 2944   3611   
@@ -0,0 +1,12 @@
        3612  +
{
        3613  +
    "credentials": {
        3614  +
        "access_key_id": "AKIDEXAMPLE",
        3615  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3616  +
    },
        3617  +
    "expiration_in_seconds": 3600,
        3618  +
    "normalize": true,
        3619  +
    "region": "us-east-1",
        3620  +
    "service": "service",
        3621  +
    "sign_body": false,
        3622  +
    "timestamp": "2015-08-30T12:36:00Z"
        3623  +
}
              \
 No newline at end of file
 2945   3624   
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
 2946   3625   
new file mode 100644
 2947   3626   
index 0000000..69526cd
 2948         -
-- /dev/null
        3627  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 2949   3628   
@@ -0,0 +1,10 @@
        3629  +
GET
        3630  +
/
        3631  +
        3632  +
host:example.amazonaws.com
        3633  +
my-header1:value1 value2 value3
        3634  +
x-amz-date:20150830T123600Z
        3635  +
x-amz-region-set:us-east-1
        3636  +
        3637  +
host;my-header1;x-amz-date;x-amz-region-set
        3638  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2950   3639   
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
 2951   3640   
new file mode 100644
 2952   3641   
index 0000000..d51b4f3
 2953         -
-- /dev/null
        3642  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 2954   3643   
@@ -0,0 +1 @@
        3644  +
304502206a2d7c3572ebcb9a1f34e5fa744250c3fb2f403a0a7e4b0bc196286846a996a8022100d94aacba36ff453394df27966e9cccd7c6065457b6fe828aebe107307cc5e8e9
              \
 No newline at end of file
 2955   3645   
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
 2956   3646   
new file mode 100644
 2957   3647   
index 0000000..8131420
 2958         -
-- /dev/null
        3648  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 2959   3649   
@@ -0,0 +1,9 @@
        3650  +
GET / HTTP/1.1
        3651  +
Host:example.amazonaws.com
        3652  +
My-Header1:value1
        3653  +
  value2
        3654  +
     value3
        3655  +
X-Amz-Date:20150830T123600Z
        3656  +
X-Amz-Region-Set:us-east-1
        3657  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022060b9f2f480a395bf34aa42074697f923c2355e26970987461ce904a6a2eeef52022100fc7ef73838bbfba208a8cf8f3edbe1c8879be7853b677f492db93c30df6fbe02
        3658  +
 2960   3659   
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
 2961   3660   
new file mode 100644
 2962   3661   
index 0000000..e4d99fa
 2963         -
-- /dev/null
        3662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 2964   3663   
@@ -0,0 +1,4 @@
        3664  +
AWS4-ECDSA-P256-SHA256
        3665  +
20150830T123600Z
        3666  +
20150830/service/aws4_request
        3667  +
3579d4751dd7db30860b89a17b53647c70fd8363ec485836dbf68cfd22313398
              \
 No newline at end of file
 2965   3668   
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
 2966   3669   
new file mode 100644
 2967   3670   
index 0000000..379dcb2
 2968         -
-- /dev/null
        3671  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 2969   3672   
@@ -0,0 +1,4 @@
        3673  +
{
        3674  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3675  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3676  +
}
 2970   3677   
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
 2971   3678   
new file mode 100644
 2972   3679   
index 0000000..3c4d52f
 2973         -
-- /dev/null
        3680  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 2974   3681   
@@ -0,0 +1,8 @@
        3682  +
GET
        3683  +
/
        3684  +
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
        3685  +
host:example.amazonaws.com
        3686  +
my-header1:value1 value2 value3
        3687  +
        3688  +
host;my-header1
        3689  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2975   3690   
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
 2976   3691   
new file mode 100644
 2977   3692   
index 0000000..4e63f9a
 2978         -
-- /dev/null
        3693  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 2979   3694   
@@ -0,0 +1 @@
        3695  +
30450220159829015456fd111a27c4e0d6a555da894aefd23c96c5eb915b94bf6788499a022100fd48a0b97d1c32a11ee33873f87953a3ef410978f226b4a708acb9e582828fde
              \
 No newline at end of file
 2980   3696   
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
 2981   3697   
new file mode 100644
 2982   3698   
index 0000000..adf1f09
 2983         -
-- /dev/null
        3699  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 2984   3700   
@@ -0,0 +1,6 @@
        3701  +
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
        3702  +
Host:example.amazonaws.com
        3703  +
My-Header1:value1
        3704  +
  value2
        3705  +
     value3
        3706  +
 2985   3707   
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
 2986   3708   
new file mode 100644
 2987   3709   
index 0000000..e085407
 2988         -
-- /dev/null
        3710  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 2989   3711   
@@ -0,0 +1,4 @@
        3712  +
AWS4-ECDSA-P256-SHA256
        3713  +
20150830T123600Z
        3714  +
20150830/service/aws4_request
        3715  +
960c3db8a6ce71c62c4bc13e5f2a72231a8f1a644d52e688ac1524ecd4b09643
              \
 No newline at end of file
 2990   3716   
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
 2991   3717   
new file mode 100644
 2992   3718   
index 0000000..b5026cd
 2993         -
-- /dev/null
        3719  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 2994   3720   
@@ -0,0 +1,5 @@
        3721  +
GET / HTTP/1.1
        3722  +
Host:example.amazonaws.com
        3723  +
My-Header1:value1
        3724  +
  value2
        3725  +
     value3
 2995   3726   
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
 2996   3727   
new file mode 100644
 2997   3728   
index 0000000..0468d80
 2998         -
-- /dev/null
        3729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 2999   3730   
@@ -0,0 +1,12 @@
        3731  +
{
        3732  +
    "credentials": {
        3733  +
        "access_key_id": "AKIDEXAMPLE",
        3734  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3735  +
    },
        3736  +
    "expiration_in_seconds": 3600,
        3737  +
    "normalize": true,
        3738  +
    "region": "us-east-1",
        3739  +
    "service": "service",
        3740  +
    "sign_body": false,
        3741  +
    "timestamp": "2015-08-30T12:36:00Z"
        3742  +
}
              \
 No newline at end of file
 3000   3743   
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
 3001   3744   
similarity index 99%
 3002   3745   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
 3003   3746   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3004   3747   
index 9375193..533afdb 100644
 3005   3748   
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
 3006   3749   
new file mode 100644
 3007   3750   
index 0000000..057b426
 3008         -
-- /dev/null
        3751  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 3009   3752   
@@ -0,0 +1 @@
        3753  +
3045022005e72f83b232f1fa01d7344267d44a46fa4c193bc3d0ad256e89f92a561eb8fa022100c62a85a22a6018463df69c97da07cd189185dadeede293c659e15514cd28a0c9
              \
 No newline at end of file
 3010   3754   
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
 3011   3755   
new file mode 100644
 3012   3756   
index 0000000..4e4ccf0
 3013         -
-- /dev/null
        3757  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 3014   3758   
@@ -0,0 +1,10 @@
        3759  +
GET / HTTP/1.1
        3760  +
Host:example.amazonaws.com
        3761  +
My-Header1:value4
        3762  +
My-Header1:value1
        3763  +
My-Header1:value3
        3764  +
My-Header1:value2
        3765  +
X-Amz-Date:20150830T123600Z
        3766  +
X-Amz-Region-Set:us-east-1
        3767  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=304402203410301a4cfc805996d0ac5305374d7cdff4e2564fcbd6f6cfed73b227966046022046e36b2ede1f78d2b68ea4534ae59da3de089e58f67ae08490411dfabd77f36e
        3768  +
 3015   3769   
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
 3016   3770   
similarity index 99%
 3017   3771   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
 3018   3772   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3019   3773   
index 6400baf..e68c952 100644
 3020   3774   
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
 3021   3775   
new file mode 100644
 3022   3776   
index 0000000..379dcb2
 3023         -
-- /dev/null
        3777  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 3024   3778   
@@ -0,0 +1,4 @@
        3779  +
{
        3780  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3781  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3782  +
}
 3025   3783   
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
 3026   3784   
similarity index 99%
 3027   3785   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
 3028   3786   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3029   3787   
index ecf494a..68450fe 100644
 3030   3788   
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
 3031   3789   
new file mode 100644
 3032   3790   
index 0000000..9df2eb3
 3033         -
-- /dev/null
        3791  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 3034   3792   
@@ -0,0 +1 @@
        3793  +
3045022044e0c722f2d02673c326d0ac38aae57e2877e158b700de702e5dd082be680f65022100841bb5007fb5ece1078add2bf38e84f1b7ea13e67b935d1fd021014eedee46a4
              \
 No newline at end of file
 3035   3794   
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
 3036   3795   
new file mode 100644
 3037   3796   
index 0000000..62f8cb7
 3038         -
-- /dev/null
        3797  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 3039   3798   
@@ -0,0 +1,7 @@
        3799  +
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
        3800  +
Host:example.amazonaws.com
        3801  +
My-Header1:value4
        3802  +
My-Header1:value1
        3803  +
My-Header1:value3
        3804  +
My-Header1:value2
        3805  +
 3040   3806   
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
 3041   3807   
similarity index 99%
 3042   3808   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
 3043   3809   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3044   3810   
index b584179..2bcf7b1 100644
 3045   3811   
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
 3046   3812   
similarity index 80%
 3047   3813   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
 3048   3814   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3049   3815   
index f7bd9e6..2c6f49d 100644
 3050         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
        3816  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3051   3817   
@@ -1,7 +1,6 @@
 3052   3818   
GET / HTTP/1.1
 3053   3819   
Host:example.amazonaws.com
 3054   3820   
My-Header1:value4
 3055   3821   
My-Header1:value1
 3056   3822   
My-Header1:value3
 3057   3823   
My-Header1:value2
 3058         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3059   3824   
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
 3060   3825   
new file mode 100644
 3061   3826   
index 0000000..0468d80
 3062         -
-- /dev/null
        3827  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 3063   3828   
@@ -0,0 +1,12 @@
        3829  +
{
        3830  +
    "credentials": {
        3831  +
        "access_key_id": "AKIDEXAMPLE",
        3832  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3833  +
    },
        3834  +
    "expiration_in_seconds": 3600,
        3835  +
    "normalize": true,
        3836  +
    "region": "us-east-1",
        3837  +
    "service": "service",
        3838  +
    "sign_body": false,
        3839  +
    "timestamp": "2015-08-30T12:36:00Z"
        3840  +
}
              \
 No newline at end of file
 3064   3841   
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
 3065   3842   
similarity index 99%
 3066   3843   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
 3067   3844   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3068   3845   
index e91e952..94b6be5 100644
 3069   3846   
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
 3070   3847   
new file mode 100644
 3071   3848   
index 0000000..bf8c3cb
 3072         -
-- /dev/null
        3849  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 3073   3850   
@@ -0,0 +1 @@
        3851  +
3046022100f05cfb8a9a49ee4540c49ed27e612ddd1a2d168512bad65a96cdf8378254a4bd022100a3eb663e6734125d467fc00d5a41dc6bf476ec167d5c20657ff3135c8b4f7815
              \
 No newline at end of file
 3074   3852   
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
 3075   3853   
new file mode 100644
 3076   3854   
index 0000000..f7f054d
 3077         -
-- /dev/null
        3855  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 3078   3856   
@@ -0,0 +1,8 @@
        3857  +
GET / HTTP/1.1
        3858  +
Host:example.amazonaws.com
        3859  +
My-Header1: value1
        3860  +
My-Header2: "a   b   c"
        3861  +
X-Amz-Date:20150830T123600Z
        3862  +
X-Amz-Region-Set:us-east-1
        3863  +
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
        3864  +
 3079   3865   
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
 3080   3866   
similarity index 99%
 3081   3867   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
 3082   3868   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3083   3869   
index 0e407d8..a2c9c05 100644
 3084   3870   
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
 3085   3871   
new file mode 100644
 3086   3872   
index 0000000..379dcb2
 3087         -
-- /dev/null
        3873  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 3088   3874   
@@ -0,0 +1,4 @@
        3875  +
{
        3876  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3877  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3878  +
}
 3089   3879   
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
 3090   3880   
similarity index 99%
 3091   3881   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
 3092   3882   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3093   3883   
index 8a3b042..3a51150 100644
 3094   3884   
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
 3095   3885   
new file mode 100644
 3096   3886   
index 0000000..0033053
 3097         -
-- /dev/null
        3887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 3098   3888   
@@ -0,0 +1 @@
        3889  +
3045022100a765fa4e0a2c5d56292cc9aa654332858bcbb2af27b8c488157113f2c084776b02206145afa6dbb99993e499863fa36e592b94ddaeefbd778a473348204f26c15547
              \
 No newline at end of file
 3099   3890   
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
 3100   3891   
new file mode 100644
 3101   3892   
index 0000000..1537888
 3102         -
-- /dev/null
        3893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 3103   3894   
@@ -0,0 +1,5 @@
        3895  +
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
        3896  +
Host:example.amazonaws.com
        3897  +
My-Header1: value1
        3898  +
My-Header2: "a   b   c"
        3899  +
 3104   3900   
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
 3105   3901   
similarity index 99%
 3106   3902   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
 3107   3903   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3108   3904   
index 5eead25..633dc1f 100644
 3109   3905   
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
 3110   3906   
similarity index 75%
 3111   3907   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
 3112   3908   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3113   3909   
index 901f36c..ad1ea98 100644
 3114         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
        3910  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3115   3911   
@@ -1,5 +1,4 @@
 3116   3912   
GET / HTTP/1.1
 3117   3913   
Host:example.amazonaws.com
 3118   3914   
My-Header1: value1
 3119   3915   
My-Header2: "a   b   c"
 3120         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3121   3916   
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
 3122   3917   
new file mode 100644
 3123   3918   
index 0000000..0468d80
 3124         -
-- /dev/null
        3919  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 3125   3920   
@@ -0,0 +1,12 @@
        3921  +
{
        3922  +
    "credentials": {
        3923  +
        "access_key_id": "AKIDEXAMPLE",
        3924  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3925  +
    },
        3926  +
    "expiration_in_seconds": 3600,
        3927  +
    "normalize": true,
        3928  +
    "region": "us-east-1",
        3929  +
    "service": "service",
        3930  +
    "sign_body": false,
        3931  +
    "timestamp": "2015-08-30T12:36:00Z"
        3932  +
}
              \
 No newline at end of file
 3126   3933   
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
 3127   3934   
similarity index 99%
 3128   3935   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
 3129   3936   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3130   3937   
index 47e7128..76db73d 100644
 3131   3938   
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
 3132   3939   
new file mode 100644
 3133   3940   
index 0000000..cbd6ae2
 3134         -
-- /dev/null
        3941  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3135   3942   
@@ -0,0 +1 @@
        3943  +
3045022002e5e766e09de198957182589c9abe3e7ccd00a8fc6d7bbaf5f0a2c10660d16a022100e6b0835731cd5b72d5abb50e5821d90f5f713339697eb65cf40d34a3facfdbb8
              \
 No newline at end of file
 3136   3944   
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
 3137   3945   
new file mode 100644
 3138   3946   
index 0000000..a343fcf
 3139         -
-- /dev/null
        3947  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3140   3948   
@@ -0,0 +1,6 @@
        3949  +
GET /example/.. HTTP/1.1
        3950  +
Host:example.amazonaws.com
        3951  +
X-Amz-Date:20150830T123600Z
        3952  +
X-Amz-Region-Set:us-east-1
        3953  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206ccd591952cdb4a0a002217788234c80eac520f890b0a6ea07b98044f08ba10e0220733126caf0347f7df89773f79b9fae2648ca786e67a7d88ec296d66452da4bec
        3954  +
 3141   3955   
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
 3142   3956   
similarity index 99%
 3143   3957   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
 3144   3958   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3145   3959   
index 95d7219..600f1d8 100644
 3146   3960   
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
 3147   3961   
new file mode 100644
 3148   3962   
index 0000000..379dcb2
 3149         -
-- /dev/null
        3963  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3150   3964   
@@ -0,0 +1,4 @@
        3965  +
{
        3966  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3967  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3968  +
}
 3151   3969   
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
 3152   3970   
similarity index 99%
 3153   3971   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
 3154   3972   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3155   3973   
index a34ea26..779c51c 100644
 3156   3974   
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
 3157   3975   
new file mode 100644
 3158   3976   
index 0000000..3cc88e6
 3159         -
-- /dev/null
        3977  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3160   3978   
@@ -0,0 +1 @@
        3979  +
304402200ef7c6ac7bfaaddbf4df3a4b03ab2e4e24e992d305fa133ef0f6c826ad9850e602203ef21f22e239cd1971310c404c80d6e50c5cd06eae1452695ae762d1a9a51c90
              \
 No newline at end of file
 3161   3980   
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
 3162   3981   
new file mode 100644
 3163   3982   
index 0000000..f68dde8
 3164         -
-- /dev/null
        3983  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3165   3984   
@@ -0,0 +1,3 @@
        3985  +
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
        3986  +
Host:example.amazonaws.com
        3987  +
 3166   3988   
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
 3167   3989   
similarity index 99%
 3168   3990   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
 3169   3991   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3170   3992   
index 48f855c..6e29a7e 100644
 3171   3993   
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
 3172   3994   
similarity index 65%
 3173   3995   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
 3174   3996   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3175   3997   
index 9d6d7ca..6aa9f99 100644
 3176         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
        3998  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3177   3999   
@@ -1,3 +1,2 @@
 3178   4000   
GET /example/.. HTTP/1.1
 3179   4001   
Host:example.amazonaws.com
 3180         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3181   4002   
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
 3182   4003   
new file mode 100644
 3183   4004   
index 0000000..0468d80
 3184         -
-- /dev/null
        4005  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3185   4006   
@@ -0,0 +1,12 @@
        4007  +
{
        4008  +
    "credentials": {
        4009  +
        "access_key_id": "AKIDEXAMPLE",
        4010  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4011  +
    },
        4012  +
    "expiration_in_seconds": 3600,
        4013  +
    "normalize": true,
        4014  +
    "region": "us-east-1",
        4015  +
    "service": "service",
        4016  +
    "sign_body": false,
        4017  +
    "timestamp": "2015-08-30T12:36:00Z"
        4018  +
}
              \
 No newline at end of file
 3186   4019   
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
 3187   4020   
similarity index 99%
 3188   4021   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
 3189   4022   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3190   4023   
index 47e7128..76db73d 100644
 3191   4024   
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
 3192   4025   
new file mode 100644
 3193   4026   
index 0000000..f7a7ebe
 3194         -
-- /dev/null
        4027  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3195   4028   
@@ -0,0 +1 @@
        4029  +
3046022100ea029ea1e7b8715f67cd33b8536e013e53e9c7bcd109770f29a4a28767bb2212022100c95a298283c130266a4c8457590d8c047205b4aef9266b85deeb90e5c73e5caa
              \
 No newline at end of file
 3196   4030   
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
 3197   4031   
new file mode 100644
 3198   4032   
index 0000000..9d2c50d
 3199         -
-- /dev/null
        4033  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3200   4034   
@@ -0,0 +1,6 @@
        4035  +
GET /example1/example2/../.. HTTP/1.1
        4036  +
Host:example.amazonaws.com
        4037  +
X-Amz-Date:20150830T123600Z
        4038  +
X-Amz-Region-Set:us-east-1
        4039  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203edb747d59fe32db47529b2e5e02c9276759b7c43ad9e36ff62d52b8dbeb00e3022007f99e8601938b893fe6dcbac9259fec2f3797b0e3d74fd66d59b09e83b8c1d4
        4040  +
 3201   4041   
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
 3202   4042   
similarity index 99%
 3203   4043   
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
 3204   4044   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3205   4045   
index 95d7219..600f1d8 100644
 3206   4046   
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
 3207   4047   
new file mode 100644
 3208   4048   
index 0000000..379dcb2
 3209         -
-- /dev/null
        4049  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3210   4050   
@@ -0,0 +1,4 @@
        4051  +
{
        4052  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4053  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4054  +
}
 3211   4055   
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
 3212   4056   
similarity index 99%
 3213   4057   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
 3214   4058   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3215   4059   
index a34ea26..779c51c 100644
 3216   4060   
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
 3217   4061   
new file mode 100644
 3218   4062   
index 0000000..45ef286
 3219         -
-- /dev/null
        4063  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3220   4064   
@@ -0,0 +1 @@
        4065  +
304402200afc56cdc43e814e44408999f2fb2fe0f8992877345b09e402b28fb2063e4987022035cdba28f5462e9034f45fc5f879bd2305943f9a1830b0f7fbe6468658ba52c1
              \
 No newline at end of file
 3221   4066   
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
 3222   4067   
new file mode 100644
 3223   4068   
index 0000000..0d16f66
 3224         -
-- /dev/null
        4069  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3225   4070   
@@ -0,0 +1,3 @@
        4071  +
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
        4072  +
Host:example.amazonaws.com
        4073  +
 3226   4074   
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
 3227   4075   
similarity index 99%
 3228   4076   
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
 3229   4077   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3230   4078   
index 48f855c..6e29a7e 100644
 3231   4079   
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
 3232   4080   
similarity index 70%
 3233   4081   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
 3234   4082   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3235   4083   
index cfd4e8b..a856c10 100644
 3236         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
        4084  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3237   4085   
@@ -1,3 +1,2 @@
 3238   4086   
GET /example1/example2/../.. HTTP/1.1
 3239   4087   
Host:example.amazonaws.com
 3240         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3241   4088   
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
 3242   4089   
new file mode 100644
 3243   4090   
index 0000000..7bee5c7
 3244         -
-- /dev/null
        4091  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3245   4092   
@@ -0,0 +1,12 @@
        4093  +
{
        4094  +
    "credentials": {
        4095  +
        "access_key_id": "AKIDEXAMPLE",
        4096  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4097  +
    },
        4098  +
    "expiration_in_seconds": 3600,
        4099  +
    "normalize": false,
        4100  +
    "region": "us-east-1",
        4101  +
    "service": "service",
        4102  +
    "sign_body": false,
        4103  +
    "timestamp": "2015-08-30T12:36:00Z"
        4104  +
}
              \
 No newline at end of file
 3246   4105   
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
 3247   4106   
similarity index 99%
 3248   4107   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
 3249   4108   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3250   4109   
index 5e1d1cf..e4e6d57 100644
 3251   4110   
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
 3252   4111   
new file mode 100644
 3253   4112   
index 0000000..2d1b47c
 3254         -
-- /dev/null
        4113  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3255   4114   
@@ -0,0 +1 @@
        4115  +
30450221009bf86ef8b148904a938fcc5a050aa99cb99cb6a3436a62badfef1b82977d95c4022053e3c11e10fb302a2c39c253b066530404ee5fcca63bf962facd8d072817a69d
              \
 No newline at end of file
 3256   4116   
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
 3257   4117   
new file mode 100644
 3258   4118   
index 0000000..7158179
 3259         -
-- /dev/null
        4119  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3260   4120   
@@ -0,0 +1,6 @@
        4121  +
GET /example1/example2/../.. HTTP/1.1
        4122  +
Host:example.amazonaws.com
        4123  +
X-Amz-Date:20150830T123600Z
        4124  +
X-Amz-Region-Set:us-east-1
        4125  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402205651d45d4f377407303dba0775405efa77683821adff20c0256b94d10710de5b022053fa72420652c55327876c5105da6770cb482f55533e1b0bd7d15fa75f570e46
        4126  +
 3261   4127   
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
 3262   4128   
similarity index 99%
 3263   4129   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
 3264   4130   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3265   4131   
index 1cca6cf..db60c8e 100644
 3266   4132   
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
 3267   4133   
new file mode 100644
 3268   4134   
index 0000000..379dcb2
 3269         -
-- /dev/null
        4135  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3270   4136   
@@ -0,0 +1,4 @@
        4137  +
{
        4138  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4139  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4140  +
}
 3271   4141   
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
 3272   4142   
similarity index 99%
 3273   4143   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
 3274   4144   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3275   4145   
index 95dc104..0d963ba 100644
 3276   4146   
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
 3277   4147   
new file mode 100644
 3278   4148   
index 0000000..ae774e4
 3279         -
-- /dev/null
        4149  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3280   4150   
@@ -0,0 +1 @@
        4151  +
3046022100a11cd4cae39a6b3553651f9c6360898278d90a3cb8f736184ff6bdb8564decbc022100d86a34623cc34890750a7fe8a30948638f6dace0e558c3ff82a0cf6256067503
              \
 No newline at end of file
 3281   4152   
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
 3282   4153   
new file mode 100644
 3283   4154   
index 0000000..be6b86e
 3284         -
-- /dev/null
        4155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3285   4156   
@@ -0,0 +1,3 @@
        4157  +
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
        4158  +
Host:example.amazonaws.com
        4159  +
 3286   4160   
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
 3287   4161   
similarity index 99%
 3288   4162   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
 3289   4163   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3290   4164   
index 50edce6..fcc70cd 100644
 3291   4165   
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
 3292   4166   
new file mode 100644
 3293   4167   
index 0000000..a856c10
 3294         -
-- /dev/null
        4168  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3295   4169   
@@ -0,0 +1,2 @@
        4170  +
GET /example1/example2/../.. HTTP/1.1
        4171  +
Host:example.amazonaws.com
 3296   4172   
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
 3297   4173   
new file mode 100644
 3298   4174   
index 0000000..7bee5c7
 3299         -
-- /dev/null
        4175  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3300   4176   
@@ -0,0 +1,12 @@
        4177  +
{
        4178  +
    "credentials": {
        4179  +
        "access_key_id": "AKIDEXAMPLE",
        4180  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4181  +
    },
        4182  +
    "expiration_in_seconds": 3600,
        4183  +
    "normalize": false,
        4184  +
    "region": "us-east-1",
        4185  +
    "service": "service",
        4186  +
    "sign_body": false,
        4187  +
    "timestamp": "2015-08-30T12:36:00Z"
        4188  +
}
              \
 No newline at end of file
 3301   4189   
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
 3302   4190   
similarity index 99%
 3303   4191   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
 3304   4192   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3305   4193   
index d6a0abe..22def1a 100644
 3306   4194   
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
 3307   4195   
new file mode 100644
 3308   4196   
index 0000000..9251bad
 3309         -
-- /dev/null
        4197  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3310   4198   
@@ -0,0 +1 @@
        4199  +
3045022100a85167a37a2c6aea42ef9dcb0dcaeaf85ca4ef1a4d8ffea5be550dbd4573471902202193760e5e6bb1ee4aff836769b9739f4563e06749bcaa7553ec1d1377aa5a6d
              \
 No newline at end of file
 3311   4200   
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
 3312   4201   
new file mode 100644
 3313   4202   
index 0000000..f1bb60f
 3314         -
-- /dev/null
        4203  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3315   4204   
@@ -0,0 +1,6 @@
        4205  +
GET /example/.. HTTP/1.1
        4206  +
Host:example.amazonaws.com
        4207  +
X-Amz-Date:20150830T123600Z
        4208  +
X-Amz-Region-Set:us-east-1
        4209  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402201430c834d8a89aca13ebd785da338950559f71ab29f1b7d7b4ad6b090de1a09702206c8d6089b75105d6fc5df5374bbb8abbc33b78951c95b90f9f6c25a657b58ce6
        4210  +
 3316   4211   
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
 3317   4212   
similarity index 99%
 3318   4213   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
 3319   4214   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3320   4215   
index 4a34e93..5673a20 100644
 3321   4216   
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
 3322   4217   
new file mode 100644
 3323   4218   
index 0000000..379dcb2
 3324         -
-- /dev/null
        4219  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3325   4220   
@@ -0,0 +1,4 @@
        4221  +
{
        4222  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4223  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4224  +
}
 3326   4225   
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
 3327   4226   
similarity index 99%
 3328   4227   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
 3329   4228   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3330   4229   
index b1d123e..a1c22e0 100644
 3331   4230   
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
 3332   4231   
new file mode 100644
 3333   4232   
index 0000000..9f0f686
 3334         -
-- /dev/null
        4233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3335   4234   
@@ -0,0 +1 @@
        4235  +
3045022074d05647e395d4bf3d751953c7242ee27dd16fbae3f604a272d3acc3d72ba5fb022100ddccd95ac05f60f10d5e95c5847b49018bbfa1084361bf338964408cc2162fff
              \
 No newline at end of file
 3336   4236   
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
 3337   4237   
new file mode 100644
 3338   4238   
index 0000000..d1d451a
 3339         -
-- /dev/null
        4239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3340   4240   
@@ -0,0 +1,3 @@
        4241  +
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
        4242  +
Host:example.amazonaws.com
        4243  +
 3341   4244   
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
 3342   4245   
similarity index 99%
 3343   4246   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
 3344   4247   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3345   4248   
index a17f5ab..81b41e8 100644
 3346   4249   
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
 3347   4250   
new file mode 100644
 3348   4251   
index 0000000..6aa9f99
 3349         -
-- /dev/null
        4252  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3350   4253   
@@ -0,0 +1,2 @@
        4254  +
GET /example/.. HTTP/1.1
        4255  +
Host:example.amazonaws.com
 3351   4256   
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
 3352   4257   
new file mode 100644
 3353   4258   
index 0000000..0468d80
 3354         -
-- /dev/null
        4259  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3355   4260   
@@ -0,0 +1,12 @@
        4261  +
{
        4262  +
    "credentials": {
        4263  +
        "access_key_id": "AKIDEXAMPLE",
        4264  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4265  +
    },
        4266  +
    "expiration_in_seconds": 3600,
        4267  +
    "normalize": true,
        4268  +
    "region": "us-east-1",
        4269  +
    "service": "service",
        4270  +
    "sign_body": false,
        4271  +
    "timestamp": "2015-08-30T12:36:00Z"
        4272  +
}
              \
 No newline at end of file
 3356   4273   
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
 3357   4274   
similarity index 99%
 3358   4275   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
 3359   4276   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3360   4277   
index 47e7128..76db73d 100644
 3361   4278   
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
 3362   4279   
new file mode 100644
 3363   4280   
index 0000000..ca6e84e
 3364         -
-- /dev/null
        4281  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3365   4282   
@@ -0,0 +1 @@
        4283  +
3045022100e8ed39e8b964e06162ab1cddbff57c449a9b72e2d052a7a3e12a116ae30185ee022003e6eb0fddbaa586225b26877ab145e05a08ac418ef7c966e5daef258b70cbfc
              \
 No newline at end of file
 3366   4284   
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
 3367   4285   
new file mode 100644
 3368   4286   
index 0000000..a7c764c
 3369         -
-- /dev/null
        4287  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3370   4288   
@@ -0,0 +1,6 @@
        4289  +
GET /./ HTTP/1.1
        4290  +
Host:example.amazonaws.com
        4291  +
X-Amz-Date:20150830T123600Z
        4292  +
X-Amz-Region-Set:us-east-1
        4293  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207665172b8612dbbd2c1f3c722c52b7b8dac2cdc5203d86252e21d9610018b153022100c548f3f0c23beeb388f8c8138ce1e883e2cdf2be1d7c5d7c15d4e565bfd6b0dd
        4294  +
 3371   4295   
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
 3372   4296   
similarity index 99%
 3373   4297   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
 3374   4298   
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
 3375   4299   
index 95d7219..600f1d8 100644
 3376   4300   
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
 3377   4301   
new file mode 100644
 3378   4302   
index 0000000..379dcb2
 3379         -
-- /dev/null
        4303  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3380   4304   
@@ -0,0 +1,4 @@
        4305  +
{
        4306  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4307  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4308  +
}
 3381   4309   
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
 3382   4310   
similarity index 99%
 3383   4311   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
 3384   4312   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3385   4313   
index a34ea26..779c51c 100644
 3386   4314   
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
 3387   4315   
new file mode 100644
 3388   4316   
index 0000000..4b6ed09
 3389         -
-- /dev/null
        4317  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3390   4318   
@@ -0,0 +1 @@
        4319  +
3046022100ea775dcca84dbada39eb9e7d55183c31d7294d1826d965c2ade1730bd20ac7cb022100aaab5325eed9bb3f93814af0fd0170893cbeeff052d0bb554f91a394fd2f5135
              \
 No newline at end of file
 3391   4320   
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
 3392   4321   
new file mode 100644
 3393   4322   
index 0000000..d6c7176
 3394         -
-- /dev/null
        4323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3395   4324   
@@ -0,0 +1,3 @@
        4325  +
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
        4326  +
Host:example.amazonaws.com
        4327  +
 3396   4328   
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
 3397   4329   
similarity index 99%
 3398   4330   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
 3399   4331   
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
 3400   4332   
index 48f855c..6e29a7e 100644
 3401   4333   
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
 3402   4334   
similarity index 61%
 3403   4335   
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
 3404   4336   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3405   4337   
index f3537b7..2c5ff38 100644
 3406         -
-- 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
        4338  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3407   4339   
@@ -1,3 +1,2 @@
 3408   4340   
GET /./ HTTP/1.1
 3409   4341   
Host:example.amazonaws.com
 3410         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3411   4342   
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
 3412   4343   
new file mode 100644
 3413   4344   
index 0000000..7bee5c7
 3414         -
-- /dev/null
        4345  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3415   4346   
@@ -0,0 +1,12 @@
        4347  +
{
        4348  +
    "credentials": {
        4349  +
        "access_key_id": "AKIDEXAMPLE",
        4350  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4351  +
    },
        4352  +
    "expiration_in_seconds": 3600,
        4353  +
    "normalize": false,
        4354  +
    "region": "us-east-1",
        4355  +
    "service": "service",
        4356  +
    "sign_body": false,
        4357  +
    "timestamp": "2015-08-30T12:36:00Z"
        4358  +
}
              \
 No newline at end of file
 3416   4359   
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
 3417   4360   
similarity index 99%
 3418   4361   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3419   4362   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3420   4363   
index d05303d..9257ac4 100644
 3421   4364   
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
 3422   4365   
new file mode 100644
 3423   4366   
index 0000000..2eb1aa5
 3424         -
-- /dev/null
        4367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3425   4368   
@@ -0,0 +1 @@
        4369  +
30450220430660fe6e8e04ee055a2c56476dcf95c00b3efca267823134664f90a23fdc0f022100f188106c83e13a89e6a487f24d23522520f7a15c40e3aacd0c32284da42c2f5a
              \
 No newline at end of file
 3426   4370   
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
 3427   4371   
new file mode 100644
 3428   4372   
index 0000000..df3b1da
 3429         -
-- /dev/null
        4373  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3430   4374   
@@ -0,0 +1,6 @@
        4375  +
GET /./ HTTP/1.1
        4376  +
Host:example.amazonaws.com
        4377  +
X-Amz-Date:20150830T123600Z
        4378  +
X-Amz-Region-Set:us-east-1
        4379  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022049aaa02168ac9666a94f42238be0a02a7a244b74d6e16bdf64aac7ce8e21e44d02206b9be50186bdd4ee9191c0dd5ccff7e990365bb3b56430653f6fa49a68dbf596
        4380  +
 3431   4381   
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
 3432   4382   
similarity index 99%
 3433   4383   
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
 3434   4384   
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
 3435   4385   
index e1bfb39..754b3ed 100644
 3436   4386   
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
 3437   4387   
new file mode 100644
 3438   4388   
index 0000000..379dcb2
 3439         -
-- /dev/null
        4389  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3440   4390   
@@ -0,0 +1,4 @@
        4391  +
{
        4392  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4393  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4394  +
}
 3441   4395   
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
 3442   4396   
similarity index 99%
 3443   4397   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3444   4398   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3445   4399   
index f048d0f..c8edce3 100644
 3446   4400   
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
 3447   4401   
new file mode 100644
 3448   4402   
index 0000000..d3af3b8
 3449         -
-- /dev/null
        4403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3450   4404   
@@ -0,0 +1 @@
        4405  +
304402207999228e5213710741e030ffa7dfa83ce3676384c5df044431bc854488a08abd0220248ff8a956bbcbc641c0ec4a7853774f44112b1571f861fc5aebf78282fd7e63
              \
 No newline at end of file
 3451   4406   
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
 3452   4407   
new file mode 100644
 3453   4408   
index 0000000..eb38155
 3454         -
-- /dev/null
        4409  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3455   4410   
@@ -0,0 +1,3 @@
        4411  +
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
        4412  +
Host:example.amazonaws.com
        4413  +
 3456   4414   
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
 3457   4415   
similarity index 99%
 3458   4416   
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
 3459   4417   
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
 3460   4418   
index bfcf245..4f20b8f 100644
 3461   4419   
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
 3462   4420   
new file mode 100644
 3463   4421   
index 0000000..2c5ff38
 3464         -
-- /dev/null
        4422  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3465   4423   
@@ -0,0 +1,2 @@
        4424  +
GET /./ HTTP/1.1
        4425  +
Host:example.amazonaws.com
 3466   4426   
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
 3467   4427   
new file mode 100644
 3468   4428   
index 0000000..0468d80
 3469         -
-- /dev/null
        4429  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3470   4430   
@@ -0,0 +1,12 @@
        4431  +
{
        4432  +
    "credentials": {
        4433  +
        "access_key_id": "AKIDEXAMPLE",
        4434  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4435  +
    },
        4436  +
    "expiration_in_seconds": 3600,
        4437  +
    "normalize": true,
        4438  +
    "region": "us-east-1",
        4439  +
    "service": "service",
        4440  +
    "sign_body": false,
        4441  +
    "timestamp": "2015-08-30T12:36:00Z"
        4442  +
}
              \
 No newline at end of file
 3471   4443   
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
 3472   4444   
similarity index 99%
 3473   4445   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
 3474   4446   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3475   4447   
index 47e7128..76db73d 100644
 3476   4448   
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
 3477   4449   
new file mode 100644
 3478   4450   
index 0000000..0c049ca
 3479         -
-- /dev/null
        4451  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 3480   4452   
@@ -0,0 +1 @@
        4453  +
304602210084a7310186a866f81dbe8e546f6931dd7c61586d30664d5c11f5904836f72cfd022100c7d80abdccceb1cbcdbbda8b4f3f0ae1ac6229dce800b21ba8298c582fa96a1c
              \
 No newline at end of file
 3481   4454   
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
 3482   4455   
new file mode 100644
 3483   4456   
index 0000000..f4bb1e1
 3484         -
-- /dev/null
        4457  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 3485   4458   
@@ -0,0 +1,6 @@
        4459  +
GET // HTTP/1.1
        4460  +
Host:example.amazonaws.com
        4461  +
X-Amz-Date:20150830T123600Z
        4462  +
X-Amz-Region-Set:us-east-1
        4463  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207c7fe2e91cdbe4529569d58fc3727507375cff81a56cfa26b387895ab6cdbb25022100d38e283efa5ff27d88f10e7367493b1dc49050ba9474531e4acb3ee30fac3739
        4464  +
 3486   4465   
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
 3487   4466   
similarity index 99%
 3488   4467   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
 3489   4468   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3490   4469   
index 95d7219..600f1d8 100644
 3491   4470   
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
 3492   4471   
new file mode 100644
 3493   4472   
index 0000000..379dcb2
 3494         -
-- /dev/null
        4473  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 3495   4474   
@@ -0,0 +1,4 @@
        4475  +
{
        4476  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4477  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4478  +
}
 3496   4479   
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
 3497   4480   
similarity index 99%
 3498   4481   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
 3499   4482   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3500   4483   
index a34ea26..779c51c 100644
 3501   4484   
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
 3502   4485   
new file mode 100644
 3503   4486   
index 0000000..ca52293
 3504         -
-- /dev/null
        4487  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 3505   4488   
@@ -0,0 +1 @@
        4489  +
3045022100b1c08ec4e9a6313f2de7bd8ce726845ea7a3cc636a21ab7258a3067836a6601b02206b76d7a9845bfb683eb30d126a1dc4657e8b64762d4bfb976da9fa132c4a9bd7
              \
 No newline at end of file
 3506   4490   
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
 3507   4491   
new file mode 100644
 3508   4492   
index 0000000..4a212a9
 3509         -
-- /dev/null
        4493  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 3510   4494   
@@ -0,0 +1,3 @@
        4495  +
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
        4496  +
Host:example.amazonaws.com
        4497  +
 3511   4498   
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
 3512   4499   
similarity index 99%
 3513   4500   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
 3514   4501   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 3515   4502   
index 48f855c..6e29a7e 100644
 3516   4503   
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
 3517   4504   
similarity index 61%
 3518   4505   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
 3519   4506   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3520   4507   
index ede8e3c..25bc21e 100644
 3521         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
        4508  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3522   4509   
@@ -1,3 +1,2 @@
 3523   4510   
GET // HTTP/1.1
 3524   4511   
Host:example.amazonaws.com
 3525         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3526   4512   
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
 3527   4513   
new file mode 100644
 3528   4514   
index 0000000..0468d80
 3529         -
-- /dev/null
        4515  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 3530   4516   
@@ -0,0 +1,12 @@
        4517  +
{
        4518  +
    "credentials": {
        4519  +
        "access_key_id": "AKIDEXAMPLE",
        4520  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4521  +
    },
        4522  +
    "expiration_in_seconds": 3600,
        4523  +
    "normalize": true,
        4524  +
    "region": "us-east-1",
        4525  +
    "service": "service",
        4526  +
    "sign_body": false,
        4527  +
    "timestamp": "2015-08-30T12:36:00Z"
        4528  +
}
              \
 No newline at end of file
 3531   4529   
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
 3532   4530   
similarity index 99%
 3533   4531   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3534   4532   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3535   4533   
index 2e36c20..a51f1ba 100644
 3536   4534   
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
 3537   4535   
new file mode 100644
 3538   4536   
index 0000000..f5c871f
 3539         -
-- /dev/null
        4537  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 3540   4538   
@@ -0,0 +1 @@
        4539  +
304502206b0f9b99fe4e4b3bbcb69dd6ca076c847e676161b6fb4cd2bc776f357ece3d07022100fafc5606c7b1a45aa6ce6a7a3a68b07875315b8f952f9a192a420e407e8d1cef
              \
 No newline at end of file
 3541   4540   
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
 3542   4541   
new file mode 100644
 3543   4542   
index 0000000..bda4718
 3544         -
-- /dev/null
        4543  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 3545   4544   
@@ -0,0 +1,6 @@
        4545  +
GET /./example HTTP/1.1
        4546  +
Host:example.amazonaws.com
        4547  +
X-Amz-Date:20150830T123600Z
        4548  +
X-Amz-Region-Set:us-east-1
        4549  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221008cb5fa4d42bdd0c293d58ce748128be3a41693d25cfd701e281bf0c0bc28f41a022100b863217c8f05146ff1b4282706bc78781b1425c2d36a09127116e852e31fc974
        4550  +
 3546   4551   
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
 3547   4552   
similarity index 99%
 3548   4553   
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
 3549   4554   
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
 3550   4555   
index cd30e8b..2ffe879 100644
 3551   4556   
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
 3552   4557   
new file mode 100644
 3553   4558   
index 0000000..379dcb2
 3554         -
-- /dev/null
        4559  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 3555   4560   
@@ -0,0 +1,4 @@
        4561  +
{
        4562  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4563  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4564  +
}
 3556   4565   
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
 3557   4566   
similarity index 99%
 3558   4567   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3559   4568   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3560   4569   
index 77cf28d..45151ea 100644
 3561   4570   
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
 3562   4571   
new file mode 100644
 3563   4572   
index 0000000..11ad7bf
 3564         -
-- /dev/null
        4573  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 3565   4574   
@@ -0,0 +1 @@
        4575  +
3045022004b3d54ffdc33558a93c158a156ef1b50963d051e58ecb88b6809629d6b93860022100d88f70cb68de54e8abc628cb2325bcb32fab1a207d482010955f844812ad5174
              \
 No newline at end of file
 3566   4576   
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
 3567   4577   
new file mode 100644
 3568   4578   
index 0000000..a7537b1
 3569         -
-- /dev/null
        4579  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 3570   4580   
@@ -0,0 +1,3 @@
        4581  +
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
        4582  +
Host:example.amazonaws.com
        4583  +
 3571   4584   
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
 3572   4585   
similarity index 99%
 3573   4586   
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
 3574   4587   
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
 3575   4588   
index 49d9b24..b486672 100644
 3576   4589   
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
 3577   4590   
similarity index 65%
 3578   4591   
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
 3579   4592   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3580   4593   
index 3c91071..5d919c9 100644
 3581         -
-- 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
        4594  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3582   4595   
@@ -1,3 +1,2 @@
 3583   4596   
GET /./example HTTP/1.1
 3584   4597   
Host:example.amazonaws.com
 3585         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3586   4598   
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
 3587   4599   
new file mode 100644
 3588   4600   
index 0000000..7bee5c7
 3589         -
-- /dev/null
        4601  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 3590   4602   
@@ -0,0 +1,12 @@
        4603  +
{
        4604  +
    "credentials": {
        4605  +
        "access_key_id": "AKIDEXAMPLE",
        4606  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4607  +
    },
        4608  +
    "expiration_in_seconds": 3600,
        4609  +
    "normalize": false,
        4610  +
    "region": "us-east-1",
        4611  +
    "service": "service",
        4612  +
    "sign_body": false,
        4613  +
    "timestamp": "2015-08-30T12:36:00Z"
        4614  +
}
              \
 No newline at end of file
 3591   4615   
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
 3592   4616   
similarity index 99%
 3593   4617   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3594   4618   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3595   4619   
index 4444842..2355a69 100644
 3596   4620   
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
 3597   4621   
new file mode 100644
 3598   4622   
index 0000000..9c8f737
 3599         -
-- /dev/null
        4623  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 3600   4624   
@@ -0,0 +1 @@
        4625  +
3044022056618e95bf64058b8174e9e52790352380946d9a0a4ab332b530a63f497a80800220105ebcd6c6ee9b034157d21e7c81fdfb72ca640961cee9b49de82e5c1f80ac5e
              \
 No newline at end of file
 3601   4626   
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
 3602   4627   
new file mode 100644
 3603   4628   
index 0000000..aa5980d
 3604         -
-- /dev/null
        4629  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 3605   4630   
@@ -0,0 +1,6 @@
        4631  +
GET /./example HTTP/1.1
        4632  +
Host:example.amazonaws.com
        4633  +
X-Amz-Date:20150830T123600Z
        4634  +
X-Amz-Region-Set:us-east-1
        4635  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221009e2c768ae9904c3d04eba53cfbb7460034029fb1f169b51f82623cc53ae25dc7022100bfe47ecde858ad9ae3311bba5a4fd45fcacdb1795cc6825f0939e5d929a464bf
        4636  +
 3606   4637   
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
 3607   4638   
similarity index 99%
 3608   4639   
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
 3609   4640   
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
 3610   4641   
index cc63510..d056816 100644
 3611   4642   
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
 3612   4643   
new file mode 100644
 3613   4644   
index 0000000..379dcb2
 3614         -
-- /dev/null
        4645  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 3615   4646   
@@ -0,0 +1,4 @@
        4647  +
{
        4648  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4649  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4650  +
}
 3616   4651   
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
 3617   4652   
similarity index 99%
 3618   4653   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3619   4654   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3620   4655   
index ed2cb2d..df9928e 100644
 3621   4656   
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
 3622   4657   
new file mode 100644
 3623   4658   
index 0000000..bb4d86b
 3624         -
-- /dev/null
        4659  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 3625   4660   
@@ -0,0 +1 @@
        4661  +
304502202c31415712324143f4f20aebbd0f8a2fd4fcdd49d68ac95cd6815db3c0e6407b022100cb46cb62bbd024da2e29445c3378a32057b68b272fb2a08c79bfdcbc398505f3
              \
 No newline at end of file
 3626   4662   
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
 3627   4663   
new file mode 100644
 3628   4664   
index 0000000..0061136
 3629         -
-- /dev/null
        4665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 3630   4666   
@@ -0,0 +1,3 @@
        4667  +
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
        4668  +
Host:example.amazonaws.com
        4669  +
 3631   4670   
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
 3632   4671   
similarity index 99%
 3633   4672   
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
 3634   4673   
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
 3635   4674   
index c9f3b6d..418f2d6 100644
 3636   4675   
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
 3637   4676   
new file mode 100644
 3638   4677   
index 0000000..5d919c9
 3639         -
-- /dev/null
        4678  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 3640   4679   
@@ -0,0 +1,2 @@
        4680  +
GET /./example HTTP/1.1
        4681  +
Host:example.amazonaws.com
 3641   4682   
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
 3642   4683   
new file mode 100644
 3643   4684   
index 0000000..7bee5c7
 3644         -
-- /dev/null
        4685  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 3645   4686   
@@ -0,0 +1,12 @@
        4687  +
{
        4688  +
    "credentials": {
        4689  +
        "access_key_id": "AKIDEXAMPLE",
        4690  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4691  +
    },
        4692  +
    "expiration_in_seconds": 3600,
        4693  +
    "normalize": false,
        4694  +
    "region": "us-east-1",
        4695  +
    "service": "service",
        4696  +
    "sign_body": false,
        4697  +
    "timestamp": "2015-08-30T12:36:00Z"
        4698  +
}
              \
 No newline at end of file
 3646   4699   
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
 3647   4700   
similarity index 99%
 3648   4701   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
 3649   4702   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 3650   4703   
index 8a4d33b..5f809da 100644
 3651   4704   
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
 3652   4705   
new file mode 100644
 3653   4706   
index 0000000..60179e9
 3654         -
-- /dev/null
        4707  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 3655   4708   
@@ -0,0 +1 @@
        4709  +
3046022100fee7e772befdf85d3f9871798d5e08e93ad3f5d5d408b41387ba55714244809b0221008268d33835753dcdbd0a4d149d902eed071c41b70c230ecf56e0120a0f7d72a1
              \
 No newline at end of file
 3656   4710   
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
 3657   4711   
new file mode 100644
 3658   4712   
index 0000000..72bf1b7
 3659         -
-- /dev/null
        4713  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 3660   4714   
@@ -0,0 +1,6 @@
        4715  +
GET // HTTP/1.1
        4716  +
Host:example.amazonaws.com
        4717  +
X-Amz-Date:20150830T123600Z
        4718  +
X-Amz-Region-Set:us-east-1
        4719  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022061f03990d40a274470a1621b6e12b64452083a61218be77e48132a965da27377022100cdff18369b7361b1e33bd6cb5b216cdf88d390121447d442f59ccf84eb6489f7
        4720  +
 3661   4721   
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
 3662   4722   
similarity index 99%
 3663   4723   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
 3664   4724   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 3665   4725   
index 874c01c..2b3bf67 100644
 3666   4726   
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
 3667   4727   
new file mode 100644
 3668   4728   
index 0000000..379dcb2
 3669         -
-- /dev/null
        4729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 3670   4730   
@@ -0,0 +1,4 @@
        4731  +
{
        4732  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4733  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4734  +
}
 3671   4735   
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
 3672   4736   
similarity index 99%
 3673   4737   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
 3674   4738   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 3675   4739   
index 81d7b0b..d10ad29 100644
 3676   4740   
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
 3677   4741   
new file mode 100644
 3678   4742   
index 0000000..d9bd824
 3679         -
-- /dev/null
        4743  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 3680   4744   
@@ -0,0 +1 @@
        4745  +
3045022100abcadf84ed6f4bf5c19df3220b13e370ef093e5e7a5a5093c1a796a3de7804710220568ec0dafd60aa764002ce2ac7c89f403b47142dc7e0e48ded1691929488c88e
              \
 No newline at end of file
 3681   4746   
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
 3682   4747   
new file mode 100644
 3683   4748   
index 0000000..19d1d46
 3684         -
-- /dev/null
        4749  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 3685   4750   
@@ -0,0 +1,3 @@
        4751  +
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
        4752  +
Host:example.amazonaws.com
        4753  +
 3686   4754   
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
 3687   4755   
similarity index 99%
 3688   4756   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
 3689   4757   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 3690   4758   
index 17e5279..24c8a5e 100644
 3691   4759   
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
 3692   4760   
new file mode 100644
 3693   4761   
index 0000000..25bc21e
 3694         -
-- /dev/null
        4762  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 3695   4763   
@@ -0,0 +1,2 @@
        4764  +
GET // HTTP/1.1
        4765  +
Host:example.amazonaws.com
 3696   4766   
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
 3697   4767   
new file mode 100644
 3698   4768   
index 0000000..0468d80
 3699         -
-- /dev/null
        4769  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 3700   4770   
@@ -0,0 +1,12 @@
        4771  +
{
        4772  +
    "credentials": {
        4773  +
        "access_key_id": "AKIDEXAMPLE",
        4774  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4775  +
    },
        4776  +
    "expiration_in_seconds": 3600,
        4777  +
    "normalize": true,
        4778  +
    "region": "us-east-1",
        4779  +
    "service": "service",
        4780  +
    "sign_body": false,
        4781  +
    "timestamp": "2015-08-30T12:36:00Z"
        4782  +
}
              \
 No newline at end of file
 3701   4783   
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
 3702   4784   
similarity index 99%
 3703   4785   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
 3704   4786   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 3705   4787   
index fdf9c48..a8e9e02 100644
 3706   4788   
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
 3707   4789   
new file mode 100644
 3708   4790   
index 0000000..ffe1b60
 3709         -
-- /dev/null
        4791  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 3710   4792   
@@ -0,0 +1 @@
        4793  +
304402205dd203fd6b973e5fb088569ec27db1e267ef4a728f177e88fcc65f299255c0ab02206da878f40c64094595aa4e808849b69025f1c9b9f4be0f0e6ab8cd7a04e81d77
              \
 No newline at end of file
 3711   4794   
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
 3712   4795   
new file mode 100644
 3713   4796   
index 0000000..3189f55
 3714         -
-- /dev/null
        4797  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 3715   4798   
@@ -0,0 +1,6 @@
        4799  +
GET //example// HTTP/1.1
        4800  +
Host:example.amazonaws.com
        4801  +
X-Amz-Date:20150830T123600Z
        4802  +
X-Amz-Region-Set:us-east-1
        4803  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203d34870fcc77b0f5a3f6d440cd1cecb75c7e534cfbcc68f60743d308ae92fef602200f9fbaacc5010b9a7e046b1b5ae58764bd32c24c47ef65b63ad9ff756c478e4d
        4804  +
 3716   4805   
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
 3717   4806   
similarity index 99%
 3718   4807   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
 3719   4808   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 3720   4809   
index 8f9c95e..430020e 100644
 3721   4810   
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
 3722   4811   
new file mode 100644
 3723   4812   
index 0000000..379dcb2
 3724         -
-- /dev/null
        4813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 3725   4814   
@@ -0,0 +1,4 @@
        4815  +
{
        4816  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4817  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4818  +
}
 3726   4819   
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
 3727   4820   
similarity index 99%
 3728   4821   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
 3729   4822   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 3730   4823   
index 1046735..8d41e37 100644
 3731   4824   
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
 3732   4825   
new file mode 100644
 3733   4826   
index 0000000..93a0fa4
 3734         -
-- /dev/null
        4827  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 3735   4828   
@@ -0,0 +1 @@
        4829  +
3045022100dfd2281b396d138207f0e58889bd6cc4d95ffd8d64e6f37ef2a9f2a15cab6944022060d05a747cd4e3c49cb50bf58d834ae917cd1ebd1524a352fb64f4d54f9ba279
              \
 No newline at end of file
 3736   4830   
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
 3737   4831   
new file mode 100644
 3738   4832   
index 0000000..65c8cb6
 3739         -
-- /dev/null
        4833  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 3740   4834   
@@ -0,0 +1,3 @@
        4835  +
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
        4836  +
Host:example.amazonaws.com
        4837  +
 3741   4838   
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
 3742   4839   
similarity index 99%
 3743   4840   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
 3744   4841   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 3745   4842   
index b293cc2..0f4c4c5 100644
 3746   4843   
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
 3747   4844   
similarity index 65%
 3748   4845   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
 3749   4846   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3750   4847   
index a4307ce..12e0931 100644
 3751         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
        4848  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3752   4849   
@@ -1,3 +1,2 @@
 3753   4850   
GET //example// HTTP/1.1
 3754   4851   
Host:example.amazonaws.com
 3755         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3756   4852   
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
 3757   4853   
new file mode 100644
 3758   4854   
index 0000000..7bee5c7
 3759         -
-- /dev/null
        4855  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 3760   4856   
@@ -0,0 +1,12 @@
        4857  +
{
        4858  +
    "credentials": {
        4859  +
        "access_key_id": "AKIDEXAMPLE",
        4860  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4861  +
    },
        4862  +
    "expiration_in_seconds": 3600,
        4863  +
    "normalize": false,
        4864  +
    "region": "us-east-1",
        4865  +
    "service": "service",
        4866  +
    "sign_body": false,
        4867  +
    "timestamp": "2015-08-30T12:36:00Z"
        4868  +
}
              \
 No newline at end of file
 3761   4869   
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
 3762   4870   
similarity index 99%
 3763   4871   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
 3764   4872   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 3765   4873   
index a9c55f6..76f55ed 100644
 3766   4874   
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
 3767   4875   
new file mode 100644
 3768   4876   
index 0000000..de333b2
 3769         -
-- /dev/null
        4877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 3770   4878   
@@ -0,0 +1 @@
        4879  +
3044022039ccb6afb5f0b574cfc8fec2e9158269bbe28f9e5747acc032d1ea17617f8b2002204933ee3e4ad4ec425c90593a68db99fcece29ae45906dec40c2204290cedf8bd
              \
 No newline at end of file
 3771   4880   
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
 3772   4881   
new file mode 100644
 3773   4882   
index 0000000..773ce63
 3774         -
-- /dev/null
        4883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 3775   4884   
@@ -0,0 +1,6 @@
        4885  +
GET //example// HTTP/1.1
        4886  +
Host:example.amazonaws.com
        4887  +
X-Amz-Date:20150830T123600Z
        4888  +
X-Amz-Region-Set:us-east-1
        4889  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502202450e5abfccb424d5a0e2d5d1a084e76abc5290ae567a97f5174bfed575fd519022100a5e743040a2bdd3cd7889070e1d190d5782e7591a715370f9bea04dc2702dbab
        4890  +
 3776   4891   
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
 3777   4892   
similarity index 99%
 3778   4893   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
 3779   4894   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 3780   4895   
index 5c4c2cd..46c3265 100644
 3781   4896   
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
 3782   4897   
new file mode 100644
 3783   4898   
index 0000000..379dcb2
 3784         -
-- /dev/null
        4899  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 3785   4900   
@@ -0,0 +1,4 @@
        4901  +
{
        4902  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4903  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4904  +
}
 3786   4905   
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
 3787   4906   
similarity index 99%
 3788   4907   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
 3789   4908   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 3790   4909   
index c878ab4..6047ccf 100644
 3791   4910   
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
 3792   4911   
new file mode 100644
 3793   4912   
index 0000000..d61fcd0
 3794         -
-- /dev/null
        4913  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 3795   4914   
@@ -0,0 +1 @@
        4915  +
3045022100fa1d3e99997a184d59e23fb8bfeca08a5f94f2e7b89b0320d11deacab3593f0f022009c0785ec02c5dda370a3eb714feb51e3b0d56df674571bf7146bf8277897e65
              \
 No newline at end of file
 3796   4916   
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
 3797   4917   
new file mode 100644
 3798   4918   
index 0000000..3e37b5b
 3799         -
-- /dev/null
        4919  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 3800   4920   
@@ -0,0 +1,3 @@
        4921  +
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
        4922  +
Host:example.amazonaws.com
        4923  +
 3801   4924   
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
 3802   4925   
similarity index 99%
 3803   4926   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
 3804   4927   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 3805   4928   
index 5f59645..2537d28 100644
 3806   4929   
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
 3807   4930   
new file mode 100644
 3808   4931   
index 0000000..12e0931
 3809         -
-- /dev/null
        4932  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 3810   4933   
@@ -0,0 +1,2 @@
        4934  +
GET //example// HTTP/1.1
        4935  +
Host:example.amazonaws.com
 3811   4936   
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
 3812   4937   
new file mode 100644
 3813   4938   
index 0000000..0468d80
 3814         -
-- /dev/null
        4939  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 3815   4940   
@@ -0,0 +1,12 @@
        4941  +
{
        4942  +
    "credentials": {
        4943  +
        "access_key_id": "AKIDEXAMPLE",
        4944  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4945  +
    },
        4946  +
    "expiration_in_seconds": 3600,
        4947  +
    "normalize": true,
        4948  +
    "region": "us-east-1",
        4949  +
    "service": "service",
        4950  +
    "sign_body": false,
        4951  +
    "timestamp": "2015-08-30T12:36:00Z"
        4952  +
}
              \
 No newline at end of file
 3816   4953   
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
 3817   4954   
new file mode 100644
 3818   4955   
index 0000000..0b2b616
 3819         -
-- /dev/null
        4956  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 3820   4957   
@@ -0,0 +1,9 @@
        4958  +
GET
        4959  +
/example%20space/
        4960  +
        4961  +
host:example.amazonaws.com
        4962  +
x-amz-date:20150830T123600Z
        4963  +
x-amz-region-set:us-east-1
        4964  +
        4965  +
host;x-amz-date;x-amz-region-set
        4966  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3821   4967   
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
 3822   4968   
new file mode 100644
 3823   4969   
index 0000000..6e7841d
 3824         -
-- /dev/null
        4970  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 3825   4971   
@@ -0,0 +1 @@
        4972  +
304502202292b4f0e4f1495b9ceb3b77349efeffdce42cb5461f810db3983005c1e772ca022100b4b6175661196a82f5b59968315517e1ffdde58d2e3eba10d3bfe171cde625c4
              \
 No newline at end of file
 3826   4973   
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
 3827   4974   
new file mode 100644
 3828   4975   
index 0000000..0969cd3
 3829         -
-- /dev/null
        4976  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 3830   4977   
@@ -0,0 +1,6 @@
        4978  +
GET /example space/ HTTP/1.1
        4979  +
Host:example.amazonaws.com
        4980  +
X-Amz-Date:20150830T123600Z
        4981  +
X-Amz-Region-Set:us-east-1
        4982  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100e8e0ec99a8d287073e078543fdbdeba108cdef097a52c7556874076072350200022100e59d9e0f48209bea00faa47d485d850eb72747db83927a2a43b5ebab5ca2b545
        4983  +
 3831   4984   
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
 3832   4985   
new file mode 100644
 3833   4986   
index 0000000..ddae6e2
 3834         -
-- /dev/null
        4987  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 3835   4988   
@@ -0,0 +1,4 @@
        4989  +
AWS4-ECDSA-P256-SHA256
        4990  +
20150830T123600Z
        4991  +
20150830/service/aws4_request
        4992  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3836   4993   
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
 3837   4994   
new file mode 100644
 3838   4995   
index 0000000..379dcb2
 3839         -
-- /dev/null
        4996  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 3840   4997   
@@ -0,0 +1,4 @@
        4998  +
{
        4999  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5000  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5001  +
}
 3841   5002   
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
 3842   5003   
new file mode 100644
 3843   5004   
index 0000000..a66b3cb
 3844         -
-- /dev/null
        5005  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 3845   5006   
@@ -0,0 +1,7 @@
        5007  +
GET
        5008  +
/example%20space/
        5009  +
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
        5010  +
host:example.amazonaws.com
        5011  +
        5012  +
host
        5013  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3846   5014   
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
 3847   5015   
new file mode 100644
 3848   5016   
index 0000000..b3253ae
 3849         -
-- /dev/null
        5017  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 3850   5018   
@@ -0,0 +1 @@
        5019  +
3045022100fc068fdda7586bec9ac9ed341e7a81bf1e1f8c60fee6e22165868ecac62e404d02200620b5d68b9be75210336618fc0a884439ce1ae93085adb03e27f1ce7ca4912e
              \
 No newline at end of file
 3851   5020   
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
 3852   5021   
new file mode 100644
 3853   5022   
index 0000000..9e335b2
 3854         -
-- /dev/null
        5023  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 3855   5024   
@@ -0,0 +1,3 @@
        5025  +
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
        5026  +
Host:example.amazonaws.com
        5027  +
 3856   5028   
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
 3857   5029   
new file mode 100644
 3858   5030   
index 0000000..b6ff6fb
 3859         -
-- /dev/null
        5031  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 3860   5032   
@@ -0,0 +1,4 @@
        5033  +
AWS4-ECDSA-P256-SHA256
        5034  +
20150830T123600Z
        5035  +
20150830/service/aws4_request
        5036  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3861   5037   
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
 3862   5038   
new file mode 100644
 3863   5039   
index 0000000..ab509ab
 3864         -
-- /dev/null
        5040  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 3865   5041   
@@ -0,0 +1,2 @@
        5042  +
GET /example space/ HTTP/1.1
        5043  +
Host:example.amazonaws.com
 3866   5044   
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
 3867   5045   
new file mode 100644
 3868   5046   
index 0000000..7bee5c7
 3869         -
-- /dev/null
        5047  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 3870   5048   
@@ -0,0 +1,12 @@
        5049  +
{
        5050  +
    "credentials": {
        5051  +
        "access_key_id": "AKIDEXAMPLE",
        5052  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5053  +
    },
        5054  +
    "expiration_in_seconds": 3600,
        5055  +
    "normalize": false,
        5056  +
    "region": "us-east-1",
        5057  +
    "service": "service",
        5058  +
    "sign_body": false,
        5059  +
    "timestamp": "2015-08-30T12:36:00Z"
        5060  +
}
              \
 No newline at end of file
 3871   5061   
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
 3872   5062   
new file mode 100644
 3873   5063   
index 0000000..0b2b616
 3874         -
-- /dev/null
        5064  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 3875   5065   
@@ -0,0 +1,9 @@
        5066  +
GET
        5067  +
/example%20space/
        5068  +
        5069  +
host:example.amazonaws.com
        5070  +
x-amz-date:20150830T123600Z
        5071  +
x-amz-region-set:us-east-1
        5072  +
        5073  +
host;x-amz-date;x-amz-region-set
        5074  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3876   5075   
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
 3877   5076   
new file mode 100644
 3878   5077   
index 0000000..e75ae08
 3879         -
-- /dev/null
        5078  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 3880   5079   
@@ -0,0 +1 @@
        5080  +
3046022100881d1dce37131cd3248fa4cfb63f050e8985c3de5a58f654a8b263d52ad576180221009316e13742504474cf33631bb5f2fa89f4990c911ad317be831a6de015cf4054
              \
 No newline at end of file
 3881   5081   
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
 3882   5082   
new file mode 100644
 3883   5083   
index 0000000..cb089db
 3884         -
-- /dev/null
        5084  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 3885   5085   
@@ -0,0 +1,6 @@
        5086  +
GET /example space/ HTTP/1.1
        5087  +
Host:example.amazonaws.com
        5088  +
X-Amz-Date:20150830T123600Z
        5089  +
X-Amz-Region-Set:us-east-1
        5090  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100a26695d793a8e7d2ed2a3495402e9b4bf8e5b05e767d303f57d9515f617ebae5022100c4b89f5648567c08b6d173b6d733f5c012bb615cd38039109f64db56efecc851
        5091  +
 3886   5092   
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
 3887   5093   
new file mode 100644
 3888   5094   
index 0000000..ddae6e2
 3889         -
-- /dev/null
        5095  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 3890   5096   
@@ -0,0 +1,4 @@
        5097  +
AWS4-ECDSA-P256-SHA256
        5098  +
20150830T123600Z
        5099  +
20150830/service/aws4_request
        5100  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3891   5101   
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
 3892   5102   
new file mode 100644
 3893   5103   
index 0000000..379dcb2
 3894         -
-- /dev/null
        5104  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 3895   5105   
@@ -0,0 +1,4 @@
        5106  +
{
        5107  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5108  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5109  +
}
 3896   5110   
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
 3897   5111   
new file mode 100644
 3898   5112   
index 0000000..a66b3cb
 3899         -
-- /dev/null
        5113  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 3900   5114   
@@ -0,0 +1,7 @@
        5115  +
GET
        5116  +
/example%20space/
        5117  +
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
        5118  +
host:example.amazonaws.com
        5119  +
        5120  +
host
        5121  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3901   5122   
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
 3902   5123   
new file mode 100644
 3903   5124   
index 0000000..66a80c3
 3904         -
-- /dev/null
        5125  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 3905   5126   
@@ -0,0 +1 @@
        5127  +
304502201825fe5d62f321a740cbe590ce0c0c17045eed9acbbbd574d3cefbec349d06c5022100bcd482f85374b24d9f1f5000d2de7e12a4e0c8f5277e73d29c41ecc45390e731
              \
 No newline at end of file
 3906   5128   
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
 3907   5129   
new file mode 100644
 3908   5130   
index 0000000..7d1b9d9
 3909         -
-- /dev/null
        5131  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 3910   5132   
@@ -0,0 +1,3 @@
        5133  +
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
        5134  +
Host:example.amazonaws.com
        5135  +
 3911   5136   
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
 3912   5137   
new file mode 100644
 3913   5138   
index 0000000..b6ff6fb
 3914         -
-- /dev/null
        5139  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 3915   5140   
@@ -0,0 +1,4 @@
        5141  +
AWS4-ECDSA-P256-SHA256
        5142  +
20150830T123600Z
        5143  +
20150830/service/aws4_request
        5144  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3916   5145   
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
 3917   5146   
new file mode 100644
 3918   5147   
index 0000000..ab509ab
 3919         -
-- /dev/null
        5148  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 3920   5149   
@@ -0,0 +1,2 @@
        5150  +
GET /example space/ HTTP/1.1
        5151  +
Host:example.amazonaws.com
 3921   5152   
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
 3922   5153   
new file mode 100644
 3923   5154   
index 0000000..0468d80
 3924         -
-- /dev/null
        5155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 3925   5156   
@@ -0,0 +1,12 @@
        5157  +
{
        5158  +
    "credentials": {
        5159  +
        "access_key_id": "AKIDEXAMPLE",
        5160  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5161  +
    },
        5162  +
    "expiration_in_seconds": 3600,
        5163  +
    "normalize": true,
        5164  +
    "region": "us-east-1",
        5165  +
    "service": "service",
        5166  +
    "sign_body": false,
        5167  +
    "timestamp": "2015-08-30T12:36:00Z"
        5168  +
}
              \
 No newline at end of file
 3926   5169   
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
 3927   5170   
similarity index 99%
 3928   5171   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
 3929   5172   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 3930   5173   
index b0db648..46d76bb 100644
 3931   5174   
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
 3932   5175   
new file mode 100644
 3933   5176   
index 0000000..53c0cb6
 3934         -
-- /dev/null
        5177  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 3935   5178   
@@ -0,0 +1 @@
        5179  +
304502204303d34750ced762f4e5af2c61ba70c9f5830d8a5c7fc418a02823d61673ca32022100c26cf8f38007155cb8bd3e684697063ad8f421a91be796d78b14b126e25d3680
              \
 No newline at end of file
 3936   5180   
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
 3937   5181   
new file mode 100644
 3938   5182   
index 0000000..3bdb653
 3939         -
-- /dev/null
        5183  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 3940   5184   
@@ -0,0 +1,6 @@
        5185  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5186  +
Host:example.amazonaws.com
        5187  +
X-Amz-Date:20150830T123600Z
        5188  +
X-Amz-Region-Set:us-east-1
        5189  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206a228bcbe26141c2c5065525b98ea00b793470e04e655006269f740e320215930220160015e35502fa89a96f5fed59981af0896b60ecea6a68606a0be368bca73f2c
        5190  +
 3941   5191   
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
 3942   5192   
similarity index 99%
 3943   5193   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
 3944   5194   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 3945   5195   
index 20c7cd6..3b30173 100644
 3946   5196   
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
 3947   5197   
new file mode 100644
 3948   5198   
index 0000000..379dcb2
 3949         -
-- /dev/null
        5199  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 3950   5200   
@@ -0,0 +1,4 @@
        5201  +
{
        5202  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5203  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5204  +
}
 3951   5205   
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
 3952   5206   
similarity index 99%
 3953   5207   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
 3954   5208   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 3955   5209   
index f9fb726..7e93f58 100644
 3956   5210   
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
 3957   5211   
new file mode 100644
 3958   5212   
index 0000000..48311a8
 3959         -
-- /dev/null
        5213  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 3960   5214   
@@ -0,0 +1 @@
        5215  +
3045022100a8e6e2918ceb211f77810150d828be217af238ca95db6f88264d668ffacefb8b02204122d651c775a3ed8f40f3bfe37a2c8fec28cd53027b599eddd7115e06ca4bb0
              \
 No newline at end of file
 3961   5216   
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
 3962   5217   
new file mode 100644
 3963   5218   
index 0000000..82da9be
 3964         -
-- /dev/null
        5219  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 3965   5220   
@@ -0,0 +1,3 @@
        5221  +
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
        5222  +
Host:example.amazonaws.com
        5223  +
 3966   5224   
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
 3967   5225   
similarity index 99%
 3968   5226   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
 3969   5227   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 3970   5228   
index ef06e89..4aab9a2 100644
 3971   5229   
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
 3972   5230   
similarity index 80%
 3973   5231   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
 3974   5232   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 3975   5233   
index da760cd..a149694 100644
 3976         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
        5234  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 3977   5235   
@@ -1,3 +1,2 @@
 3978   5236   
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 3979   5237   
Host:example.amazonaws.com
 3980         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3981   5238   
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
 3982   5239   
new file mode 100644
 3983   5240   
index 0000000..0468d80
 3984         -
-- /dev/null
        5241  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 3985   5242   
@@ -0,0 +1,12 @@
        5243  +
{
        5244  +
    "credentials": {
        5245  +
        "access_key_id": "AKIDEXAMPLE",
        5246  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5247  +
    },
        5248  +
    "expiration_in_seconds": 3600,
        5249  +
    "normalize": true,
        5250  +
    "region": "us-east-1",
        5251  +
    "service": "service",
        5252  +
    "sign_body": false,
        5253  +
    "timestamp": "2015-08-30T12:36:00Z"
        5254  +
}
              \
 No newline at end of file
 3986   5255   
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
 3987   5256   
new file mode 100644
 3988   5257   
index 0000000..0f1afe7
 3989         -
-- /dev/null
        5258  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 3990   5259   
@@ -0,0 +1,9 @@
        5260  +
GET
        5261  +
/%E1%88%B4
        5262  +
        5263  +
host:example.amazonaws.com
        5264  +
x-amz-date:20150830T123600Z
        5265  +
x-amz-region-set:us-east-1
        5266  +
        5267  +
host;x-amz-date;x-amz-region-set
        5268  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3991   5269   
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
 3992   5270   
new file mode 100644
 3993   5271   
index 0000000..4b9af6c
 3994         -
-- /dev/null
        5272  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 3995   5273   
@@ -0,0 +1 @@
        5274  +
3044022009b73628ce2929e224b781c591bdc93fc3381cef5f63992eefb82a286276fa0902203cbc6071d1be7b8c91ec0a04b921881c48cbea2a0a86481f6fa7a983e36190c0
              \
 No newline at end of file
 3996   5275   
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
 3997   5276   
new file mode 100644
 3998   5277   
index 0000000..d42d7b3
 3999         -
-- /dev/null
        5278  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 4000   5279   
@@ -0,0 +1,6 @@
        5280  +
GET /ሴ HTTP/1.1
        5281  +
Host:example.amazonaws.com
        5282  +
X-Amz-Date:20150830T123600Z
        5283  +
X-Amz-Region-Set:us-east-1
        5284  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210082c462efc22f340d7d20b19e0c9b38400e9395bedd9269e01e959ef915ca2846022050d38df1572786ef8befe01d888335c15b0f17fb1d795858fa3cb79e060ba375
        5285  +
 4001   5286   
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
 4002   5287   
new file mode 100644
 4003   5288   
index 0000000..0827f62
 4004         -
-- /dev/null
        5289  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 4005   5290   
@@ -0,0 +1,4 @@
        5291  +
AWS4-ECDSA-P256-SHA256
        5292  +
20150830T123600Z
        5293  +
20150830/service/aws4_request
        5294  +
7c8a7084825e715f0e217a7470ce3611bcfedb5b70329d9b36bba5cefd39c11a
              \
 No newline at end of file
 4006   5295   
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
 4007   5296   
new file mode 100644
 4008   5297   
index 0000000..379dcb2
 4009         -
-- /dev/null
        5298  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 4010   5299   
@@ -0,0 +1,4 @@
        5300  +
{
        5301  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5302  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5303  +
}
 4011   5304   
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
 4012   5305   
new file mode 100644
 4013   5306   
index 0000000..a41a2f8
 4014         -
-- /dev/null
        5307  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 4015   5308   
@@ -0,0 +1,7 @@
        5309  +
GET
        5310  +
/%E1%88%B4
        5311  +
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
        5312  +
host:example.amazonaws.com
        5313  +
        5314  +
host
        5315  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4016   5316   
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
 4017   5317   
new file mode 100644
 4018   5318   
index 0000000..a5c7f4f
 4019         -
-- /dev/null
        5319  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 4020   5320   
@@ -0,0 +1 @@
        5321  +
30460221008cf2ac3d46b7529fe7b73add56626a546fc9372b458e197dbd355198465e0918022100c059b86e01bd11d31c5fe19ee7c73fe3b8058ad2cebe2fe74c779c4a6a95684a
              \
 No newline at end of file
 4021   5322   
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
 4022   5323   
new file mode 100644
 4023   5324   
index 0000000..492ed33
 4024         -
-- /dev/null
        5325  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 4025   5326   
@@ -0,0 +1,3 @@
        5327  +
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
        5328  +
Host:example.amazonaws.com
        5329  +
 4026   5330   
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
 4027   5331   
new file mode 100644
 4028   5332   
index 0000000..a93108f
 4029         -
-- /dev/null
        5333  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 4030   5334   
@@ -0,0 +1,4 @@
        5335  +
AWS4-ECDSA-P256-SHA256
        5336  +
20150830T123600Z
        5337  +
20150830/service/aws4_request
        5338  +
b77c78c8276c5eac930db70b21b69b34d0c2560e1a963ab28e28481ef6a4ff66
              \
 No newline at end of file
 4031   5339   
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
 4032   5340   
new file mode 100644
 4033   5341   
index 0000000..9e273f6
 4034         -
-- /dev/null
        5342  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 4035   5343   
@@ -0,0 +1,2 @@
        5344  +
GET /ሴ HTTP/1.1
        5345  +
Host:example.amazonaws.com
 4036   5346   
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
 4037   5347   
new file mode 100644
 4038   5348   
index 0000000..0468d80
 4039         -
-- /dev/null
        5349  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 4040   5350   
@@ -0,0 +1,12 @@
        5351  +
{
        5352  +
    "credentials": {
        5353  +
        "access_key_id": "AKIDEXAMPLE",
        5354  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5355  +
    },
        5356  +
    "expiration_in_seconds": 3600,
        5357  +
    "normalize": true,
        5358  +
    "region": "us-east-1",
        5359  +
    "service": "service",
        5360  +
    "sign_body": false,
        5361  +
    "timestamp": "2015-08-30T12:36:00Z"
        5362  +
}
              \
 No newline at end of file
 4041   5363   
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
 4042   5364   
similarity index 99%
 4043   5365   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
 4044   5366   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4045   5367   
index bb9d4bf..edc0bb4 100644
 4046   5368   
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
 4047   5369   
new file mode 100644
 4048   5370   
index 0000000..ee9a272
 4049         -
-- /dev/null
        5371  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 4050   5372   
@@ -0,0 +1 @@
        5373  +
3044022075e5fe54105695e4af6f5b59ff39f4f1d84de3bfdd546a6b9212936a78e743ac02204f25f3b9826688eb9743088f426eabd6b306432fd2c4c5c5aa2bbb9058267542
              \
 No newline at end of file
 4051   5374   
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
 4052   5375   
new file mode 100644
 4053   5376   
index 0000000..2090343
 4054         -
-- /dev/null
        5377  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 4055   5378   
@@ -0,0 +1,6 @@
        5379  +
GET /?Param1=value1 HTTP/1.1
        5380  +
Host:example.amazonaws.com
        5381  +
X-Amz-Date:20150830T123600Z
        5382  +
X-Amz-Region-Set:us-east-1
        5383  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210093d40fe05684ddadfadfafc4b8565d18ca94d590fc897577224bf09696bbde6102206f12bb5e2503781303cf6880c0a2136d4b820221eb9d6ac5ad61378b16b8ea5d
        5384  +
 4056   5385   
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
 4057   5386   
similarity index 99%
 4058   5387   
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
 4059   5388   
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
 4060   5389   
index a176f1d..06ed74f 100644
 4061   5390   
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
 4062   5391   
new file mode 100644
 4063   5392   
index 0000000..379dcb2
 4064         -
-- /dev/null
        5393  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 4065   5394   
@@ -0,0 +1,4 @@
        5395  +
{
        5396  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5397  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5398  +
}
 4066   5399   
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
 4067   5400   
similarity index 99%
 4068   5401   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
 4069   5402   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4070   5403   
index 344384b..a875d70 100644
 4071   5404   
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
 4072   5405   
new file mode 100644
 4073   5406   
index 0000000..ef93624
 4074         -
-- /dev/null
        5407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 4075   5408   
@@ -0,0 +1 @@
        5409  +
30460221009a9e99aefe8effed47320e6e9f54cb943e2f72ce638ed7aae2a6711240304b82022100a90e99f053dd51912a6993299229e19aebbd81e68d4d24a1bdedcc6717c9f456
              \
 No newline at end of file
 4076   5410   
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
 4077   5411   
new file mode 100644
 4078   5412   
index 0000000..92829f7
 4079         -
-- /dev/null
        5413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 4080   5414   
@@ -0,0 +1,3 @@
        5415  +
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
        5416  +
Host:example.amazonaws.com
        5417  +
 4081   5418   
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
 4082   5419   
similarity index 99%
 4083   5420   
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
 4084   5421   
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
 4085   5422   
index b625052..4ff9191 100644
 4086   5423   
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
 4087   5424   
similarity index 67%
 4088   5425   
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
 4089   5426   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4090   5427   
index 970d0a0..f4a03bb 100644
 4091         -
-- 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
        5428  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4092   5429   
@@ -1,3 +1,2 @@
 4093   5430   
GET /?Param1=value1 HTTP/1.1
 4094   5431   
Host:example.amazonaws.com
 4095         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4096   5432   
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
 4097   5433   
new file mode 100644
 4098   5434   
index 0000000..0468d80
 4099         -
-- /dev/null
        5435  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 4100   5436   
@@ -0,0 +1,12 @@
        5437  +
{
        5438  +
    "credentials": {
        5439  +
        "access_key_id": "AKIDEXAMPLE",
        5440  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5441  +
    },
        5442  +
    "expiration_in_seconds": 3600,
        5443  +
    "normalize": true,
        5444  +
    "region": "us-east-1",
        5445  +
    "service": "service",
        5446  +
    "sign_body": false,
        5447  +
    "timestamp": "2015-08-30T12:36:00Z"
        5448  +
}
              \
 No newline at end of file
 4101   5449   
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
 4102   5450   
new file mode 100644
 4103   5451   
index 0000000..da07537
 4104         -
-- /dev/null
        5452  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 4105   5453   
@@ -0,0 +1,9 @@
        5454  +
GET
        5455  +
/
        5456  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        5457  +
host:example.amazonaws.com
        5458  +
x-amz-date:20150830T123600Z
        5459  +
x-amz-region-set:us-east-1
        5460  +
        5461  +
host;x-amz-date;x-amz-region-set
        5462  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4106   5463   
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
 4107   5464   
new file mode 100644
 4108   5465   
index 0000000..edb21e5
 4109         -
-- /dev/null
        5466  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 4110   5467   
@@ -0,0 +1 @@
        5468  +
304402201c9d8aa856d87542e2fc29ccb3841bf604d7582a8ab2ca8e6c9e21c98693f35502207052f84ecd1dc8b6468a536e9d1bdc990cf14bae8142c1cc945f15bcf0e87613
              \
 No newline at end of file
 4111   5469   
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
 4112   5470   
new file mode 100644
 4113   5471   
index 0000000..e60394c
 4114         -
-- /dev/null
        5472  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 4115   5473   
@@ -0,0 +1,6 @@
        5474  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5475  +
Host:example.amazonaws.com
        5476  +
X-Amz-Date:20150830T123600Z
        5477  +
X-Amz-Region-Set:us-east-1
        5478  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100cef3137947f52af13fe5591d4ddcff0260176e7b2a668b43ac8f0cba2e489fe502203b4fe53c9fe3e8925643fe0e4c3ec0b3ea6262917bf7300d2e2abb399078e6de
        5479  +
 4116   5480   
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
 4117   5481   
new file mode 100644
 4118   5482   
index 0000000..1dfc886
 4119         -
-- /dev/null
        5483  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 4120   5484   
@@ -0,0 +1,4 @@
        5485  +
AWS4-ECDSA-P256-SHA256
        5486  +
20150830T123600Z
        5487  +
20150830/service/aws4_request
        5488  +
55568a29040b287c72015a5ab482d9aaceeb1e9881f3bc946378bc3d6079f6a5
              \
 No newline at end of file
 4121   5489   
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
 4122   5490   
new file mode 100644
 4123   5491   
index 0000000..379dcb2
 4124         -
-- /dev/null
        5492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 4125   5493   
@@ -0,0 +1,4 @@
        5494  +
{
        5495  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5496  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5497  +
}
 4126   5498   
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
 4127   5499   
new file mode 100644
 4128   5500   
index 0000000..e94dc0c
 4129         -
-- /dev/null
        5501  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 4130   5502   
@@ -0,0 +1,7 @@
        5503  +
GET
        5504  +
/
        5505  +
%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
        5506  +
host:example.amazonaws.com
        5507  +
        5508  +
host
        5509  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4131   5510   
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
 4132   5511   
new file mode 100644
 4133   5512   
index 0000000..7489437
 4134         -
-- /dev/null
        5513  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4135   5514   
@@ -0,0 +1 @@
        5515  +
3046022100dcc853d7fbd59ceebd1ac57d404b979a7252cf88c79dcc6d58167902750235fd022100ffa98128e35b03aa434287165980f78533e9e6dfc80373cea82b047f4f0554ee
              \
 No newline at end of file
 4136   5516   
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
 4137   5517   
new file mode 100644
 4138   5518   
index 0000000..90c0e73
 4139         -
-- /dev/null
        5519  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4140   5520   
@@ -0,0 +1,3 @@
        5521  +
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
        5522  +
Host:example.amazonaws.com
        5523  +
 4141   5524   
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
 4142   5525   
new file mode 100644
 4143   5526   
index 0000000..ab8a711
 4144         -
-- /dev/null
        5527  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4145   5528   
@@ -0,0 +1,4 @@
        5529  +
AWS4-ECDSA-P256-SHA256
        5530  +
20150830T123600Z
        5531  +
20150830/service/aws4_request
        5532  +
56d9ab07692614338f2aa44f1018ad4102b19305fba8b83383d2d7c6ca816614
              \
 No newline at end of file
 4146   5533   
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
 4147   5534   
new file mode 100644
 4148   5535   
index 0000000..368c6e3
 4149         -
-- /dev/null
        5536  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4150   5537   
@@ -0,0 +1,2 @@
        5538  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5539  +
Host:example.amazonaws.com
 4151   5540   
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
 4152   5541   
new file mode 100644
 4153   5542   
index 0000000..0468d80
 4154         -
-- /dev/null
        5543  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4155   5544   
@@ -0,0 +1,12 @@
        5545  +
{
        5546  +
    "credentials": {
        5547  +
        "access_key_id": "AKIDEXAMPLE",
        5548  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5549  +
    },
        5550  +
    "expiration_in_seconds": 3600,
        5551  +
    "normalize": true,
        5552  +
    "region": "us-east-1",
        5553  +
    "service": "service",
        5554  +
    "sign_body": false,
        5555  +
    "timestamp": "2015-08-30T12:36:00Z"
        5556  +
}
              \
 No newline at end of file
 4156   5557   
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
 4157   5558   
similarity index 99%
 4158   5559   
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
 4159   5560   
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
 4160   5561   
index 74f625a..3db56f7 100644
 4161   5562   
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
 4162   5563   
new file mode 100644
 4163   5564   
index 0000000..e6042bc
 4164         -
-- /dev/null
        5565  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4165   5566   
@@ -0,0 +1 @@
        5567  +
3045022100b342b0d62487d235a5baf82e970102670a8d7af34c61f086125d204a90724d9e022070304e846de3de228c57e528b61f4addfdb5fa788a8a452e483c6a286d8803f5
              \
 No newline at end of file
 4166   5568   
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
 4167   5569   
new file mode 100644
 4168   5570   
index 0000000..5505969
 4169         -
-- /dev/null
        5571  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4170   5572   
@@ -0,0 +1,6 @@
        5573  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        5574  +
Host:example.amazonaws.com
        5575  +
X-Amz-Date:20150830T123600Z
        5576  +
X-Amz-Region-Set:us-east-1
        5577  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220394fa0699225f403514cb4db03b7c479f64c5f9864bf520b871bb23a054d6517022100d4445c909fc62a43c6c485a8582621e0e14c6ef1e4218072bc2dcaffc1188f18
        5578  +
 4171   5579   
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
 4172   5580   
similarity index 99%
 4173   5581   
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
 4174   5582   
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
 4175   5583   
index 44873b7..e8f5e31 100644
 4176   5584   
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
 4177   5585   
new file mode 100644
 4178   5586   
index 0000000..379dcb2
 4179         -
-- /dev/null
        5587  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4180   5588   
@@ -0,0 +1,4 @@
        5589  +
{
        5590  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5591  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5592  +
}
 4181   5593   
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
 4182   5594   
similarity index 99%
 4183   5595   
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
 4184   5596   
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
 4185   5597   
index 6d30727..3fe6a9f 100644
 4186   5598   
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
 4187   5599   
new file mode 100644
 4188   5600   
index 0000000..3f35de8
 4189         -
-- /dev/null
        5601  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4190   5602   
@@ -0,0 +1 @@
        5603  +
304402207c976c47b1bcf7333ad10fcf78498bb14a368a6cd8f58703d47c9e91c4468c13022059a3715bafae9410271bf3355ccd0bbc622fe90f3c0168203d83323297789de5
              \
 No newline at end of file
 4191   5604   
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
 4192   5605   
new file mode 100644
 4193   5606   
index 0000000..30b336b
 4194         -
-- /dev/null
        5607  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4195   5608   
@@ -0,0 +1,3 @@
        5609  +
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
        5610  +
Host:example.amazonaws.com
        5611  +
 4196   5612   
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
 4197   5613   
similarity index 99%
 4198   5614   
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
 4199   5615   
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
 4200   5616   
index 99d0510..7f0565f 100644
 4201   5617   
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
 4202   5618   
similarity index 100%
 4203   5619   
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
 4204   5620   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 4205   5621   
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
 4206   5622   
new file mode 100644
 4207   5623   
index 0000000..0468d80
 4208         -
-- /dev/null
        5624  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 4209   5625   
@@ -0,0 +1,12 @@
        5626  +
{
        5627  +
    "credentials": {
        5628  +
        "access_key_id": "AKIDEXAMPLE",
        5629  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5630  +
    },
        5631  +
    "expiration_in_seconds": 3600,
        5632  +
    "normalize": true,
        5633  +
    "region": "us-east-1",
        5634  +
    "service": "service",
        5635  +
    "sign_body": false,
        5636  +
    "timestamp": "2015-08-30T12:36:00Z"
        5637  +
}
              \
 No newline at end of file
 4210   5638   
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
 4211   5639   
similarity index 99%
 4212   5640   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
 4213   5641   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4214   5642   
index 816c862..cc4537a 100644
 4215   5643   
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
 4216   5644   
new file mode 100644
 4217   5645   
index 0000000..70d38c1
 4218         -
-- /dev/null
        5646  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 4219   5647   
@@ -0,0 +1 @@
        5648  +
3045022100ce7ae9d07bea650598803710644006d47de14a884d0777abd71ccf76164a36c70220256f34ad94c5cb1291a05f7680c2a0068c51d2a31a4e2fe2100d4a58197565ed
              \
 No newline at end of file
 4220   5649   
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
 4221   5650   
new file mode 100644
 4222   5651   
index 0000000..0647eea
 4223         -
-- /dev/null
        5652  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 4224   5653   
@@ -0,0 +1,6 @@
        5654  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5655  +
Host:example.amazonaws.com
        5656  +
X-Amz-Date:20150830T123600Z
        5657  +
X-Amz-Region-Set:us-east-1
        5658  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220023b0ce37b4e3f7fe6b6e155dab72846b461d22ff4820f019a07afef476f61ee022100f985e993037270cc48ac905b360046d077770a2b28aa829ea909430b1b3ed8aa
        5659  +
 4225   5660   
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
 4226   5661   
similarity index 99%
 4227   5662   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
 4228   5663   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 4229   5664   
index 6129fc5..cc19d14 100644
 4230   5665   
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
 4231   5666   
new file mode 100644
 4232   5667   
index 0000000..379dcb2
 4233         -
-- /dev/null
        5668  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 4234   5669   
@@ -0,0 +1,4 @@
        5670  +
{
        5671  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5672  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5673  +
}
 4235   5674   
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
 4236   5675   
similarity index 99%
 4237   5676   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
 4238   5677   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 4239   5678   
index b77ee9f..ed6a10e 100644
 4240   5679   
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
 4241   5680   
new file mode 100644
 4242   5681   
index 0000000..2ceba7b
 4243         -
-- /dev/null
        5682  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 4244   5683   
@@ -0,0 +1 @@
        5684  +
30450220720698c40b04f1a2e1f94e91ed9a59f8b2a2e70cb55e6dd245d0aec039cad6ea022100b2076666b780735e1ddabf773f141ff49f8df3686ffb6c4c7798ba22470e3819
              \
 No newline at end of file
 4245   5685   
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
 4246   5686   
new file mode 100644
 4247   5687   
index 0000000..0cd6d0a
 4248         -
-- /dev/null
        5688  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 4249   5689   
@@ -0,0 +1,3 @@
        5690  +
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
        5691  +
Host:example.amazonaws.com
        5692  +
 4250   5693   
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
 4251   5694   
similarity index 99%
 4252   5695   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
 4253   5696   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 4254   5697   
index 1cfed7a..aad1421 100644
 4255   5698   
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
 4256   5699   
similarity index 86%
 4257   5700   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
 4258   5701   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4259   5702   
index d2833b3..36b2fe3 100644
 4260         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
        5703  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4261   5704   
@@ -1,3 +1,2 @@
 4262   5705   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4263   5706   
Host:example.amazonaws.com
 4264         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4265   5707   
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
 4266   5708   
new file mode 100644
 4267   5709   
index 0000000..0468d80
 4268         -
-- /dev/null
        5710  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 4269   5711   
@@ -0,0 +1,12 @@
        5712  +
{
        5713  +
    "credentials": {
        5714  +
        "access_key_id": "AKIDEXAMPLE",
        5715  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5716  +
    },
        5717  +
    "expiration_in_seconds": 3600,
        5718  +
    "normalize": true,
        5719  +
    "region": "us-east-1",
        5720  +
    "service": "service",
        5721  +
    "sign_body": false,
        5722  +
    "timestamp": "2015-08-30T12:36:00Z"
        5723  +
}
              \
 No newline at end of file
 4270   5724   
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
 4271   5725   
new file mode 100644
 4272   5726   
index 0000000..76db73d
 4273         -
-- /dev/null
        5727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 4274   5728   
@@ -0,0 +1,9 @@
        5729  +
GET
        5730  +
/
        5731  +
        5732  +
host:example.amazonaws.com
        5733  +
x-amz-date:20150830T123600Z
        5734  +
x-amz-region-set:us-east-1
        5735  +
        5736  +
host;x-amz-date;x-amz-region-set
        5737  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4275   5738   
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
 4276   5739   
new file mode 100644
 4277   5740   
index 0000000..281cc62
 4278         -
-- /dev/null
        5741  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 4279   5742   
@@ -0,0 +1 @@
        5743  +
304402202f36c5363f01990fac07fb18efd255fb82fa3807a8a84946f0b5ac2b71ac96f5022068a86869075a8ca0fe4f875f6a07af6df16538f156dba648c9a96b7c3d687924
              \
 No newline at end of file
 4280   5744   
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
 4281   5745   
new file mode 100644
 4282   5746   
index 0000000..cce9925
 4283         -
-- /dev/null
        5747  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 4284   5748   
@@ -0,0 +1,6 @@
        5749  +
GET / HTTP/1.1
        5750  +
Host:example.amazonaws.com
        5751  +
X-Amz-Date:20150830T123600Z
        5752  +
X-Amz-Region-Set:us-east-1
        5753  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502201f8540fba7741deef60d162a2cf5a8abece28db296174e82420ae6790d93b8af022100d3109ac9ec7995b9e976efa2c54b278d3fab0737e3c73483771773d2061d8f3f
        5754  +
 4285   5755   
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
 4286   5756   
new file mode 100644
 4287   5757   
index 0000000..600f1d8
 4288         -
-- /dev/null
        5758  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 4289   5759   
@@ -0,0 +1,4 @@
        5760  +
AWS4-ECDSA-P256-SHA256
        5761  +
20150830T123600Z
        5762  +
20150830/service/aws4_request
        5763  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4290   5764   
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
 4291   5765   
new file mode 100644
 4292   5766   
index 0000000..379dcb2
 4293         -
-- /dev/null
        5767  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 4294   5768   
@@ -0,0 +1,4 @@
        5769  +
{
        5770  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5771  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5772  +
}
 4295   5773   
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
 4296   5774   
new file mode 100644
 4297   5775   
index 0000000..779c51c
 4298         -
-- /dev/null
        5776  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 4299   5777   
@@ -0,0 +1,7 @@
        5778  +
GET
        5779  +
/
        5780  +
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
        5781  +
host:example.amazonaws.com
        5782  +
        5783  +
host
        5784  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4300   5785   
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
 4301   5786   
new file mode 100644
 4302   5787   
index 0000000..2979e5e
 4303         -
-- /dev/null
        5788  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 4304   5789   
@@ -0,0 +1 @@
        5790  +
304402203840161a4739cd19b33c2186657554e140b84ce1fe9021074f154410b97ffad002200606f4430d72826616b2cd47590fcee42bbf23cb0287458389a43f9e6edd897d
              \
 No newline at end of file
 4305   5791   
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
 4306   5792   
new file mode 100644
 4307   5793   
index 0000000..1b3179c
 4308         -
-- /dev/null
        5794  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 4309   5795   
@@ -0,0 +1,3 @@
        5796  +
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
        5797  +
Host:example.amazonaws.com
        5798  +
 4310   5799   
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
 4311   5800   
new file mode 100644
 4312   5801   
index 0000000..6e29a7e
 4313         -
-- /dev/null
        5802  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 4314   5803   
@@ -0,0 +1,4 @@
        5804  +
AWS4-ECDSA-P256-SHA256
        5805  +
20150830T123600Z
        5806  +
20150830/service/aws4_request
        5807  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4315   5808   
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
 4316   5809   
similarity index 60%
 4317   5810   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
 4318   5811   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4319   5812   
index 0f7a9bf..e659c3b 100644
 4320         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
        5813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4321   5814   
@@ -1,3 +1,2 @@
 4322   5815   
GET / HTTP/1.1
 4323   5816   
Host:example.amazonaws.com
 4324         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4325   5817   
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
 4326   5818   
new file mode 100644
 4327   5819   
index 0000000..0468d80
 4328         -
-- /dev/null
        5820  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 4329   5821   
@@ -0,0 +1,12 @@
        5822  +
{
        5823  +
    "credentials": {
        5824  +
        "access_key_id": "AKIDEXAMPLE",
        5825  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5826  +
    },
        5827  +
    "expiration_in_seconds": 3600,
        5828  +
    "normalize": true,
        5829  +
    "region": "us-east-1",
        5830  +
    "service": "service",
        5831  +
    "sign_body": false,
        5832  +
    "timestamp": "2015-08-30T12:36:00Z"
        5833  +
}
              \
 No newline at end of file
 4330   5834   
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
 4331   5835   
new file mode 100644
 4332   5836   
index 0000000..8841ddf
 4333         -
-- /dev/null
        5837  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 4334   5838   
@@ -0,0 +1,9 @@
        5839  +
GET
        5840  +
/
        5841  +
%E1%88%B4=bar
        5842  +
host:example.amazonaws.com
        5843  +
x-amz-date:20150830T123600Z
        5844  +
x-amz-region-set:us-east-1
        5845  +
        5846  +
host;x-amz-date;x-amz-region-set
        5847  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4335   5848   
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
 4336   5849   
new file mode 100644
 4337   5850   
index 0000000..1497add
 4338         -
-- /dev/null
        5851  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 4339   5852   
@@ -0,0 +1 @@
        5853  +
3046022100b47fe24b090d857f34597a58a4e8acd0ea9639462e606af7e1fa1e2c3fae1d630221008ce7f870adf7d2c06f299da0c9870402b027c6a50ff027881655a664ff294cc3
              \
 No newline at end of file
 4340   5854   
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
 4341   5855   
new file mode 100644
 4342   5856   
index 0000000..961bc10
 4343         -
-- /dev/null
        5857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 4344   5858   
@@ -0,0 +1,6 @@
        5859  +
GET /?ሴ=bar HTTP/1.1
        5860  +
Host:example.amazonaws.com
        5861  +
X-Amz-Date:20150830T123600Z
        5862  +
X-Amz-Region-Set:us-east-1
        5863  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502206e0b9d70bb0413a557946314e04739d721c9f301d452c072590edfdcb9320572022100846f242fb0346c8c56c76a6f0e70c521d7ac02742f09c2e7b5253f1e9afe5a44
        5864  +
 4345   5865   
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
 4346   5866   
new file mode 100644
 4347   5867   
index 0000000..e78ed70
 4348         -
-- /dev/null
        5868  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 4349   5869   
@@ -0,0 +1,4 @@
        5870  +
AWS4-ECDSA-P256-SHA256
        5871  +
20150830T123600Z
        5872  +
20150830/service/aws4_request
        5873  +
b27131d754045e85823698b1fe3fc9694c17b16d97f4c43cef2359a1233c7b76
              \
 No newline at end of file
 4350   5874   
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
 4351   5875   
new file mode 100644
 4352   5876   
index 0000000..379dcb2
 4353         -
-- /dev/null
        5877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 4354   5878   
@@ -0,0 +1,4 @@
        5879  +
{
        5880  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5881  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5882  +
}
 4355   5883   
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
 4356   5884   
new file mode 100644
 4357   5885   
index 0000000..6d5ae93
 4358         -
-- /dev/null
        5886  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 4359   5887   
@@ -0,0 +1,7 @@
        5888  +
GET
        5889  +
/
        5890  +
%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
        5891  +
host:example.amazonaws.com
        5892  +
        5893  +
host
        5894  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4360   5895   
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
 4361   5896   
new file mode 100644
 4362   5897   
index 0000000..92107f2
 4363         -
-- /dev/null
        5898  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 4364   5899   
@@ -0,0 +1 @@
        5900  +
3044022076d8b03a19db63abc106c50f13487d5363f1eac2c77bc4eda764eadba8f84c6502205c0aa76554ba223a97958be9ff34aca35d84cb7b8c7ba698793ead9e6788e241
              \
 No newline at end of file
 4365   5901   
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
 4366   5902   
new file mode 100644
 4367   5903   
index 0000000..bb8a75b
 4368         -
-- /dev/null
        5904  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 4369   5905   
@@ -0,0 +1,3 @@
        5906  +
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
        5907  +
Host:example.amazonaws.com
        5908  +
 4370   5909   
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
 4371   5910   
new file mode 100644
 4372   5911   
index 0000000..9fa94c7
 4373         -
-- /dev/null
        5912  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 4374   5913   
@@ -0,0 +1,4 @@
        5914  +
AWS4-ECDSA-P256-SHA256
        5915  +
20150830T123600Z
        5916  +
20150830/service/aws4_request
        5917  +
e22d57192c68232f914afff959b8aa1027756098f879c7d4d7615a2469f85c1f
              \
 No newline at end of file
 4375   5918   
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
 4376   5919   
new file mode 100644
 4377   5920   
index 0000000..aff333a
 4378         -
-- /dev/null
        5921  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 4379   5922   
@@ -0,0 +1,2 @@
        5923  +
GET /?ሴ=bar HTTP/1.1
        5924  +
Host:example.amazonaws.com
 4380   5925   
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
 4381   5926   
new file mode 100644
 4382   5927   
index 0000000..a334e18
 4383         -
-- /dev/null
        5928  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 4384   5929   
@@ -0,0 +1,13 @@
        5930  +
{
        5931  +
    "credentials": {
        5932  +
        "access_key_id": "AKIDEXAMPLE",
        5933  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        5934  +
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
        5935  +
    },
        5936  +
    "expiration_in_seconds": 3600,
        5937  +
    "normalize": true,
        5938  +
    "region": "us-east-1",
        5939  +
    "service": "service",
        5940  +
    "sign_body": false,
        5941  +
    "timestamp": "2015-08-30T12:36:00Z"
        5942  +
}
              \
 No newline at end of file
 4385   5943   
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
 4386   5944   
similarity index 99%
 4387   5945   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
 4388   5946   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 4389   5947   
index f14defd..0e9ad42 100644
 4390   5948   
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
 4391   5949   
new file mode 100644
 4392   5950   
index 0000000..a7673b5
 4393         -
-- /dev/null
        5951  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 4394   5952   
@@ -0,0 +1 @@
        5953  +
3044022035c6bc9a8cab8a434bd8bd1cc3b6f1401842f530f1537722ad10d72a1577f8c80220101352fe0720715efbab80f82edb133175f0b61cad85daf943ad615852f9ae10
              \
 No newline at end of file
 4395   5954   
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
 4396   5955   
new file mode 100644
 4397   5956   
index 0000000..ed16e76
 4398         -
-- /dev/null
        5957  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 4399   5958   
@@ -0,0 +1,7 @@
        5959  +
GET / HTTP/1.1
        5960  +
Host:example.amazonaws.com
        5961  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        5962  +
X-Amz-Date:20150830T123600Z
        5963  +
X-Amz-Region-Set:us-east-1
        5964  +
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
        5965  +
 4400   5966   
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
 4401   5967   
similarity index 99%
 4402   5968   
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
 4403   5969   
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
 4404   5970   
index 4edece5..6c1ec65 100644
 4405   5971   
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
 4406   5972   
new file mode 100644
 4407   5973   
index 0000000..379dcb2
 4408         -
-- /dev/null
        5974  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 4409   5975   
@@ -0,0 +1,4 @@
        5976  +
{
        5977  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5978  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5979  +
}
 4410   5980   
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
 4411   5981   
similarity index 99%
 4412   5982   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
 4413   5983   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 4414   5984   
index 7c042af..1876b42 100644
 4415   5985   
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
 4416   5986   
new file mode 100644
 4417   5987   
index 0000000..903dfb4
 4418         -
-- /dev/null
        5988  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 4419   5989   
@@ -0,0 +1 @@
        5990  +
3046022100d51f7ae1ac1b6b3db6c40f69aafb4306f81cdd2d87a85f69b2c4cb8fd057cf21022100cdb787a698c3f53d961f5b6279a0ff246097f50c874bcbf7a249bf4c0f118fb3
              \
 No newline at end of file
 4420   5991   
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
 4421   5992   
new file mode 100644
 4422   5993   
index 0000000..bf1d246
 4423         -
-- /dev/null
        5994  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 4424   5995   
@@ -0,0 +1,3 @@
        5996  +
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
        5997  +
Host:example.amazonaws.com
        5998  +
 4425   5999   
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
 4426   6000   
similarity index 99%
 4427   6001   
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
 4428   6002   
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
 4429   6003   
index 0fd066a..f1b1790 100644
 4430   6004   
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
 4431   6005   
similarity index 60%
 4432   6006   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
 4433   6007   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4434   6008   
index 0f7a9bf..e659c3b 100644
 4435         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
        6009  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4436   6010   
@@ -1,3 +1,2 @@
 4437   6011   
GET / HTTP/1.1
 4438   6012   
Host:example.amazonaws.com
 4439         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4440   6013   
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
 4441   6014   
new file mode 100644
 4442   6015   
index 0000000..76db73d
 4443         -
-- /dev/null
        6016  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 4444   6017   
@@ -0,0 +1,9 @@
        6018  +
GET
        6019  +
/
        6020  +
        6021  +
host:example.amazonaws.com
        6022  +
x-amz-date:20150830T123600Z
        6023  +
x-amz-region-set:us-east-1
        6024  +
        6025  +
host;x-amz-date;x-amz-region-set
        6026  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4445   6027   
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
 4446   6028   
new file mode 100644
 4447   6029   
index 0000000..0468d80
 4448         -
-- /dev/null
        6030  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 4449   6031   
@@ -0,0 +1,12 @@
        6032  +
{
        6033  +
    "credentials": {
        6034  +
        "access_key_id": "AKIDEXAMPLE",
        6035  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6036  +
    },
        6037  +
    "expiration_in_seconds": 3600,
        6038  +
    "normalize": true,
        6039  +
    "region": "us-east-1",
        6040  +
    "service": "service",
        6041  +
    "sign_body": false,
        6042  +
    "timestamp": "2015-08-30T12:36:00Z"
        6043  +
}
              \
 No newline at end of file
 4450   6044   
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
 4451   6045   
new file mode 100644
 4452   6046   
index 0000000..76db73d
 4453         -
-- /dev/null
        6047  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 4454   6048   
@@ -0,0 +1,9 @@
        6049  +
GET
        6050  +
/
        6051  +
        6052  +
host:example.amazonaws.com
        6053  +
x-amz-date:20150830T123600Z
        6054  +
x-amz-region-set:us-east-1
        6055  +
        6056  +
host;x-amz-date;x-amz-region-set
        6057  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4455   6058   
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
 4456   6059   
new file mode 100644
 4457   6060   
index 0000000..a96ff24
 4458         -
-- /dev/null
        6061  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 4459   6062   
@@ -0,0 +1 @@
        6063  +
3045022018b4e277d0281864beb51d3600e23f88510ea5031d68ddfbb68614b82a5eb7d2022100effb9c5f22ed9ef3ae0ab243d21f06bce82365bbb79529a07b6888c343ae5f8c
              \
 No newline at end of file
 4460   6064   
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
 4461   6065   
new file mode 100644
 4462   6066   
index 0000000..689078b
 4463         -
-- /dev/null
        6067  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 4464   6068   
@@ -0,0 +1,6 @@
        6069  +
GET / HTTP/1.1
        6070  +
Host:example.amazonaws.com
        6071  +
X-Amz-Date:20150830T123600Z
        6072  +
X-Amz-Region-Set:us-east-1
        6073  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100fddaaf816a31e30d04973875b13bc27b98da10907a3a1872fd5819a221334abc022100de2ee81d83b54f31efc82834de07e6cd4d5c6f25bfa08e0f29a15bb0977c343e
        6074  +
 4465   6075   
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
 4466   6076   
new file mode 100644
 4467   6077   
index 0000000..600f1d8
 4468         -
-- /dev/null
        6078  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 4469   6079   
@@ -0,0 +1,4 @@
        6080  +
AWS4-ECDSA-P256-SHA256
        6081  +
20150830T123600Z
        6082  +
20150830/service/aws4_request
        6083  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4470   6084   
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
 4471   6085   
new file mode 100644
 4472   6086   
index 0000000..379dcb2
 4473         -
-- /dev/null
        6087  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 4474   6088   
@@ -0,0 +1,4 @@
        6089  +
{
        6090  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6091  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6092  +
}
 4475   6093   
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
 4476   6094   
new file mode 100644
 4477   6095   
index 0000000..779c51c
 4478         -
-- /dev/null
        6096  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 4479   6097   
@@ -0,0 +1,7 @@
        6098  +
GET
        6099  +
/
        6100  +
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
        6101  +
host:example.amazonaws.com
        6102  +
        6103  +
host
        6104  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4480   6105   
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
 4481   6106   
new file mode 100644
 4482   6107   
index 0000000..cc42158
 4483         -
-- /dev/null
        6108  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 4484   6109   
@@ -0,0 +1 @@
        6110  +
3045022100b3246f8e1442dd58e73292ae1294720c3256ee58f6cea50f3a3f83b4a4b0331a0220329693f7745c9008a5887c0529ceccb0fae4e16d707b712ea66acdbaf963769a
              \
 No newline at end of file
 4485   6111   
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
 4486   6112   
new file mode 100644
 4487   6113   
index 0000000..dc6d01d
 4488         -
-- /dev/null
        6114  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 4489   6115   
@@ -0,0 +1,3 @@
        6116  +
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
        6117  +
Host:example.amazonaws.com
        6118  +
 4490   6119   
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
 4491   6120   
new file mode 100644
 4492   6121   
index 0000000..6e29a7e
 4493         -
-- /dev/null
        6122  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 4494   6123   
@@ -0,0 +1,4 @@
        6124  +
AWS4-ECDSA-P256-SHA256
        6125  +
20150830T123600Z
        6126  +
20150830/service/aws4_request
        6127  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4495   6128   
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
 4496   6129   
new file mode 100644
 4497   6130   
index 0000000..e659c3b
 4498         -
-- /dev/null
        6131  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 4499   6132   
@@ -0,0 +1,2 @@
        6133  +
GET / HTTP/1.1
        6134  +
Host:example.amazonaws.com
 4500   6135   
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
 4501   6136   
new file mode 100644
 4502   6137   
index 0000000..600f1d8
 4503         -
-- /dev/null
        6138  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 4504   6139   
@@ -0,0 +1,4 @@
        6140  +
AWS4-ECDSA-P256-SHA256
        6141  +
20150830T123600Z
        6142  +
20150830/service/aws4_request
        6143  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4505   6144   
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
 4506   6145   
new file mode 100644
 4507   6146   
index 0000000..0468d80
 4508         -
-- /dev/null
        6147  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 4509   6148   
@@ -0,0 +1,12 @@
        6149  +
{
        6150  +
    "credentials": {
        6151  +
        "access_key_id": "AKIDEXAMPLE",
        6152  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6153  +
    },
        6154  +
    "expiration_in_seconds": 3600,
        6155  +
    "normalize": true,
        6156  +
    "region": "us-east-1",
        6157  +
    "service": "service",
        6158  +
    "sign_body": false,
        6159  +
    "timestamp": "2015-08-30T12:36:00Z"
        6160  +
}
              \
 No newline at end of file
 4510   6161   
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
 4511   6162   
similarity index 99%
 4512   6163   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
 4513   6164   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 4514   6165   
index a6942c1..e881ac7 100644
 4515   6166   
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
 4516   6167   
new file mode 100644
 4517   6168   
index 0000000..4210210
 4518         -
-- /dev/null
        6169  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 4519   6170   
@@ -0,0 +1 @@
        6171  +
3044022025397839d55c2147eead39170f5b1758c9f9fb4ccbcda4c8612a23df8e90c13d022079f5fc1377201691a11be43def8be12fe882e998589317508ff67b8dbe982722
              \
 No newline at end of file
 4520   6172   
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
 4521   6173   
new file mode 100644
 4522   6174   
index 0000000..257b110
 4523         -
-- /dev/null
        6175  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 4524   6176   
@@ -0,0 +1,6 @@
        6177  +
POST / HTTP/1.1
        6178  +
Host:example.amazonaws.com
        6179  +
X-Amz-Date:20150830T123600Z
        6180  +
X-Amz-Region-Set:us-east-1
        6181  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304602210081bb2a93eae5cce843abe0e7cac2f0e4cecdd0a79cb8d60e5b9dc4c8e8906b61022100e18c8119f50b8218da995ada62080d88ff75d2f02309c3685a02dfb9a83b103f
        6182  +
 4525   6183   
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
 4526   6184   
similarity index 99%
 4527   6185   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
 4528   6186   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 4529   6187   
index d5650cb..f8adf13 100644
 4530   6188   
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
 4531   6189   
new file mode 100644
 4532   6190   
index 0000000..379dcb2
 4533         -
-- /dev/null
        6191  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 4534   6192   
@@ -0,0 +1,4 @@
        6193  +
{
        6194  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6195  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6196  +
}
 4535   6197   
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
 4536   6198   
similarity index 99%
 4537   6199   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
 4538   6200   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 4539   6201   
index e48ce07..5ea8e3c 100644
 4540   6202   
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
 4541   6203   
new file mode 100644
 4542   6204   
index 0000000..9e2069e
 4543         -
-- /dev/null
        6205  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 4544   6206   
@@ -0,0 +1 @@
        6207  +
304402204afe4ce8de62e37853d0cb8a00f9601532fdeca89d6d8591c72d5bbf728bee2f02202feb0d8e680cab063e0c3c9090c0483f400511678ce83169ddce3e6d040f9ed8
              \
 No newline at end of file
 4545   6208   
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
 4546   6209   
new file mode 100644
 4547   6210   
index 0000000..67f5d29
 4548         -
-- /dev/null
        6211  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 4549   6212   
@@ -0,0 +1,3 @@
        6213  +
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
        6214  +
Host:example.amazonaws.com
        6215  +
 4550   6216   
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
 4551   6217   
similarity index 99%
 4552   6218   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
 4553   6219   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 4554   6220   
index 34e3382..711c162 100644
 4555   6221   
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
 4556   6222   
similarity index 61%
 4557   6223   
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
 4558   6224   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4559   6225   
index 3dc4179..3f0a82a 100644
 4560         -
-- 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
        6226  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4561   6227   
@@ -1,3 +1,2 @@
 4562   6228   
POST / HTTP/1.1
 4563   6229   
Host:example.amazonaws.com
 4564         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4565   6230   
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
 4566   6231   
new file mode 100644
 4567   6232   
index 0000000..0468d80
 4568         -
-- /dev/null
        6233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 4569   6234   
@@ -0,0 +1,12 @@
        6235  +
{
        6236  +
    "credentials": {
        6237  +
        "access_key_id": "AKIDEXAMPLE",
        6238  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6239  +
    },
        6240  +
    "expiration_in_seconds": 3600,
        6241  +
    "normalize": true,
        6242  +
    "region": "us-east-1",
        6243  +
    "service": "service",
        6244  +
    "sign_body": false,
        6245  +
    "timestamp": "2015-08-30T12:36:00Z"
        6246  +
}
              \
 No newline at end of file
 4570   6247   
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
 4571   6248   
similarity index 99%
 4572   6249   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
 4573   6250   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 4574   6251   
index a8e1727..2883822 100644
 4575   6252   
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
 4576   6253   
new file mode 100644
 4577   6254   
index 0000000..e3c2e6e
 4578         -
-- /dev/null
        6255  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 4579   6256   
@@ -0,0 +1 @@
        6257  +
304502210097752f8c9953078cbb6b370471cb7029aea9517d59fb835d8befce66a91e6c4a022043a8c62681ff76e6cbaaeaed2fff2fcfee8efceebb7bd9e562ecd5a08b2c563f
              \
 No newline at end of file
 4580   6258   
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
 4581   6259   
new file mode 100644
 4582   6260   
index 0000000..1d6e288
 4583         -
-- /dev/null
        6261  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 4584   6262   
@@ -0,0 +1,7 @@
        6263  +
POST / HTTP/1.1
        6264  +
Host:example.amazonaws.com
        6265  +
My-Header1:value1
        6266  +
X-Amz-Date:20150830T123600Z
        6267  +
X-Amz-Region-Set:us-east-1
        6268  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3046022100a5dc03771b33997d8eeb15d639cb7bdef2aff78a4a59c7996070e5f94fe149780221009a732061539208209ba0ae6755bef956c258a0c0ac6a6916489486efde21cfeb
        6269  +
 4585   6270   
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
 4586   6271   
similarity index 99%
 4587   6272   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
 4588   6273   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 4589   6274   
index f6e3e9b..7c5236a 100644
 4590   6275   
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
 4591   6276   
new file mode 100644
 4592   6277   
index 0000000..379dcb2
 4593         -
-- /dev/null
        6278  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 4594   6279   
@@ -0,0 +1,4 @@
        6280  +
{
        6281  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6282  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6283  +
}
 4595   6284   
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
 4596   6285   
similarity index 99%
 4597   6286   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
 4598   6287   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 4599   6288   
index 0ae73e1..2cf3f29 100644
 4600   6289   
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
 4601   6290   
new file mode 100644
 4602   6291   
index 0000000..2a08401
 4603         -
-- /dev/null
        6292  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 4604   6293   
@@ -0,0 +1 @@
        6294  +
304502204f2a31513c9bea5c92dd8045e226dc1db150f768e60b538cacce157c623873dc022100ab5d654ce3c7b917656cec2cf58a3689159e89deed5241ca21e19a40173674c4
              \
 No newline at end of file
 4605   6295   
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
 4606   6296   
new file mode 100644
 4607   6297   
index 0000000..8d2343f
 4608         -
-- /dev/null
        6298  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 4609   6299   
@@ -0,0 +1,4 @@
        6300  +
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
        6301  +
Host:example.amazonaws.com
        6302  +
My-Header1:value1
        6303  +
 4610   6304   
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
 4611   6305   
similarity index 99%
 4612   6306   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
 4613   6307   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 4614   6308   
index 8cb96bf..2c4db7a 100644
 4615   6309   
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
 4616   6310   
similarity index 69%
 4617   6311   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
 4618   6312   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4619   6313   
index 0253f19..917720e 100644
 4620         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
        6314  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4621   6315   
@@ -1,4 +1,3 @@
 4622   6316   
POST / HTTP/1.1
 4623   6317   
Host:example.amazonaws.com
 4624   6318   
My-Header1:value1
 4625         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4626   6319   
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
 4627   6320   
new file mode 100644
 4628   6321   
index 0000000..0468d80
 4629         -
-- /dev/null
        6322  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 4630   6323   
@@ -0,0 +1,12 @@
        6324  +
{
        6325  +
    "credentials": {
        6326  +
        "access_key_id": "AKIDEXAMPLE",
        6327  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6328  +
    },
        6329  +
    "expiration_in_seconds": 3600,
        6330  +
    "normalize": true,
        6331  +
    "region": "us-east-1",
        6332  +
    "service": "service",
        6333  +
    "sign_body": false,
        6334  +
    "timestamp": "2015-08-30T12:36:00Z"
        6335  +
}
              \
 No newline at end of file
 4631   6336   
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
 4632   6337   
similarity index 99%
 4633   6338   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
 4634   6339   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 4635   6340   
index 1dc3ef8..164e65c 100644
 4636   6341   
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
 4637   6342   
new file mode 100644
 4638   6343   
index 0000000..7072b0e
 4639         -
-- /dev/null
        6344  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 4640   6345   
@@ -0,0 +1 @@
        6346  +
304402207b3baf259f5d29f13511eb4c9b236045c43168ca70369ed639611f4bff9eb6490220465e922e8b19146de9c70147440f4ee80a3318f0c756c8050dbfd641e6ff0456
              \
 No newline at end of file
 4641   6347   
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
 4642   6348   
new file mode 100644
 4643   6349   
index 0000000..17f5e3e
 4644         -
-- /dev/null
        6350  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 4645   6351   
@@ -0,0 +1,7 @@
        6352  +
POST / HTTP/1.1
        6353  +
Host:example.amazonaws.com
        6354  +
My-Header1:VALUE1
        6355  +
X-Amz-Date:20150830T123600Z
        6356  +
X-Amz-Region-Set:us-east-1
        6357  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022100c72dd4d54c45d3eb30858c6227e9512f41b7379b7c685e39e0cd39a793d7ee3102205c900d330270e31d2f7b5138fb3d791b6743f6f3b9ffbc34a4adcc8307591b11
        6358  +
 4646   6359   
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
 4647   6360   
similarity index 99%
 4648   6361   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
 4649   6362   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 4650   6363   
index 59c7e45..620f54e 100644
 4651   6364   
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
 4652   6365   
new file mode 100644
 4653   6366   
index 0000000..379dcb2
 4654         -
-- /dev/null
        6367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 4655   6368   
@@ -0,0 +1,4 @@
        6369  +
{
        6370  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6371  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6372  +
}
 4656   6373   
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
 4657   6374   
similarity index 99%
 4658   6375   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
 4659   6376   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 4660   6377   
index 377e6f3..23e0da3 100644
 4661   6378   
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
 4662   6379   
new file mode 100644
 4663   6380   
index 0000000..a18acb8
 4664         -
-- /dev/null
        6381  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 4665   6382   
@@ -0,0 +1 @@
        6383  +
30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
              \
 No newline at end of file
 4666   6384   
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
 4667   6385   
new file mode 100644
 4668   6386   
index 0000000..7cbdcfa
 4669         -
-- /dev/null
        6387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 4670   6388   
@@ -0,0 +1,4 @@
        6389  +
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
        6390  +
Host:example.amazonaws.com
        6391  +
My-Header1:VALUE1
        6392  +
 4671   6393   
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
 4672   6394   
similarity index 99%
 4673   6395   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
 4674   6396   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 4675   6397   
index 84a7afd..0c90627 100644
 4676   6398   
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
 4677   6399   
similarity index 69%
 4678   6400   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
 4679   6401   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4680   6402   
index 3f9987a..5f14c91 100644
 4681         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
        6403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4682   6404   
@@ -1,4 +1,3 @@
 4683   6405   
POST / HTTP/1.1
 4684   6406   
Host:example.amazonaws.com
 4685   6407   
My-Header1:VALUE1
 4686         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4687   6408   
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
 4688   6409   
new file mode 100644
 4689   6410   
index 0000000..8f1d5ce
 4690         -
-- /dev/null
        6411  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 4691   6412   
@@ -0,0 +1,14 @@
        6413  +
{
        6414  +
    "credentials": {
        6415  +
        "access_key_id": "AKIDEXAMPLE",
        6416  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6417  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6418  +
    },
        6419  +
    "expiration_in_seconds": 3600,
        6420  +
    "normalize": true,
        6421  +
    "region": "us-east-1",
        6422  +
    "service": "service",
        6423  +
    "sign_body": false,
        6424  +
    "timestamp": "2015-08-30T12:36:00Z",
        6425  +
    "omit_session_token": true
        6426  +
}
 4692   6427   
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
 4693   6428   
similarity index 99%
 4694   6429   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
 4695   6430   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 4696   6431   
index a6942c1..e881ac7 100644
 4697   6432   
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
 4698   6433   
new file mode 100644
 4699   6434   
index 0000000..9c5ecb9
 4700         -
-- /dev/null
        6435  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 4701   6436   
@@ -0,0 +1 @@
        6437  +
3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
              \
 No newline at end of file
 4702   6438   
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
 4703   6439   
similarity index 52%
 4704   6440   
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
 4705   6441   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4706   6442   
index 9d91775..61b6527 100644
 4707         -
-- 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
        6443  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4708   6444   
@@ -1,4 +1,7 @@
 4709   6445   
POST / HTTP/1.1
 4710   6446   
Host:example.amazonaws.com
 4711         -
X-Amz-Date:20150830T123600Z
 4712   6447   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6448  +
X-Amz-Date:20150830T123600Z
        6449  +
X-Amz-Region-Set:us-east-1
        6450  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
        6451  +
 4713   6452   
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
 4714   6453   
similarity index 99%
 4715   6454   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
 4716   6455   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 4717   6456   
index d5650cb..f8adf13 100644
 4718   6457   
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
 4719   6458   
new file mode 100644
 4720   6459   
index 0000000..379dcb2
 4721         -
-- /dev/null
        6460  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 4722   6461   
@@ -0,0 +1,4 @@
        6462  +
{
        6463  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6464  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6465  +
}
 4723   6466   
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
 4724   6467   
similarity index 99%
 4725   6468   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
 4726   6469   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 4727   6470   
index e48ce07..5ea8e3c 100644
 4728   6471   
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
 4729   6472   
new file mode 100644
 4730   6473   
index 0000000..ff8823a
 4731         -
-- /dev/null
        6474  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 4732   6475   
@@ -0,0 +1 @@
        6476  +
3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
              \
 No newline at end of file
 4733   6477   
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
 4734   6478   
new file mode 100644
 4735   6479   
index 0000000..cfac41b
 4736         -
-- /dev/null
        6480  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 4737   6481   
@@ -0,0 +1,3 @@
        6482  +
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
        6483  +
Host:example.amazonaws.com
        6484  +
 4738   6485   
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
 4739   6486   
similarity index 99%
 4740   6487   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
 4741   6488   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 4742   6489   
index 34e3382..711c162 100644
 4743   6490   
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
 4744   6491   
similarity index 61%
 4745   6492   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
 4746   6493   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4747   6494   
index 3dc4179..3f0a82a 100644
 4748         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
        6495  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4749   6496   
@@ -1,3 +1,2 @@
 4750   6497   
POST / HTTP/1.1
 4751   6498   
Host:example.amazonaws.com
 4752         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4753   6499   
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
 4754   6500   
new file mode 100644
 4755   6501   
index 0000000..5187392
 4756         -
-- /dev/null
        6502  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 4757   6503   
@@ -0,0 +1,14 @@
        6504  +
{
        6505  +
    "credentials": {
        6506  +
        "access_key_id": "AKIDEXAMPLE",
        6507  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6508  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6509  +
    },
        6510  +
    "expiration_in_seconds": 3600,
        6511  +
    "normalize": true,
        6512  +
    "region": "us-east-1",
        6513  +
    "service": "service",
        6514  +
    "sign_body": false,
        6515  +
    "timestamp": "2015-08-30T12:36:00Z",
        6516  +
    "omit_session_token": false
        6517  +
}
 4758   6518   
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
 4759   6519   
similarity index 99%
 4760   6520   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
 4761   6521   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 4762   6522   
index dd408c8..e95924e 100644
 4763   6523   
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
 4764   6524   
new file mode 100644
 4765   6525   
index 0000000..1573f07
 4766         -
-- /dev/null
        6526  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 4767   6527   
@@ -0,0 +1 @@
        6528  +
30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
              \
 No newline at end of file
 4768   6529   
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
 4769   6530   
new file mode 100644
 4770   6531   
index 0000000..6ef9a08
 4771         -
-- /dev/null
        6532  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 4772   6533   
@@ -0,0 +1,7 @@
        6534  +
POST / HTTP/1.1
        6535  +
Host:example.amazonaws.com
        6536  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6537  +
X-Amz-Date:20150830T123600Z
        6538  +
X-Amz-Region-Set:us-east-1
        6539  +
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
        6540  +
 4773   6541   
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
 4774   6542   
similarity index 99%
 4775   6543   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
 4776   6544   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 4777   6545   
index f352b54..3c3235f 100644
 4778   6546   
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
 4779   6547   
new file mode 100644
 4780   6548   
index 0000000..379dcb2
 4781         -
-- /dev/null
        6549  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 4782   6550   
@@ -0,0 +1,4 @@
        6551  +
{
        6552  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6553  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6554  +
}
 4783   6555   
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
 4784   6556   
similarity index 99%
 4785   6557   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
 4786   6558   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 4787   6559   
index 832cdc0..63b7de5 100644
 4788   6560   
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
 4789   6561   
new file mode 100644
 4790   6562   
index 0000000..713f57c
 4791         -
-- /dev/null
        6563  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 4792   6564   
@@ -0,0 +1 @@
        6565  +
304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
              \
 No newline at end of file
 4793   6566   
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
 4794   6567   
new file mode 100644
 4795   6568   
index 0000000..32c3bb3
 4796         -
-- /dev/null
        6569  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 4797   6570   
@@ -0,0 +1,3 @@
        6571  +
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
        6572  +
Host:example.amazonaws.com
        6573  +
 4798   6574   
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
 4799   6575   
similarity index 99%
 4800   6576   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
 4801   6577   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 4802   6578   
index d7f3668..b46cd8c 100644
 4803   6579   
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
 4804   6580   
similarity index 60%
 4805   6581   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
 4806   6582   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4807   6583   
index 8b5efc8..3f0a82a 100644
 4808         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
        6584  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4809   6585   
@@ -1,3 +1,2 @@
 4810   6586   
POST / HTTP/1.1
 4811   6587   
Host:example.amazonaws.com
 4812         -
X-Amz-Date:20150830T123600Z
 4813   6588   
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
 4814   6589   
new file mode 100644
 4815   6590   
index 0000000..0468d80
 4816         -
-- /dev/null
        6591  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 4817   6592   
@@ -0,0 +1,12 @@
        6593  +
{
        6594  +
    "credentials": {
        6595  +
        "access_key_id": "AKIDEXAMPLE",
        6596  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6597  +
    },
        6598  +
    "expiration_in_seconds": 3600,
        6599  +
    "normalize": true,
        6600  +
    "region": "us-east-1",
        6601  +
    "service": "service",
        6602  +
    "sign_body": false,
        6603  +
    "timestamp": "2015-08-30T12:36:00Z"
        6604  +
}
              \
 No newline at end of file
 4818   6605   
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
 4819   6606   
similarity index 99%
 4820   6607   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
 4821   6608   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 4822   6609   
index 02af60f..34b8c11 100644
 4823   6610   
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
 4824   6611   
new file mode 100644
 4825   6612   
index 0000000..aac6427
 4826         -
-- /dev/null
        6613  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 4827   6614   
@@ -0,0 +1 @@
        6615  +
3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
              \
 No newline at end of file
 4828   6616   
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
 4829   6617   
new file mode 100644
 4830   6618   
index 0000000..a611436
 4831         -
-- /dev/null
        6619  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 4832   6620   
@@ -0,0 +1,6 @@
        6621  +
POST /?Param1=value1 HTTP/1.1
        6622  +
Host:example.amazonaws.com
        6623  +
X-Amz-Date:20150830T123600Z
        6624  +
X-Amz-Region-Set:us-east-1
        6625  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
        6626  +
 4833   6627   
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
 4834   6628   
similarity index 99%
 4835   6629   
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
 4836   6630   
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
 4837   6631   
index 4256b4f..ad88dff 100644
 4838   6632   
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
 4839   6633   
new file mode 100644
 4840   6634   
index 0000000..379dcb2
 4841         -
-- /dev/null
        6635  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 4842   6636   
@@ -0,0 +1,4 @@
        6637  +
{
        6638  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6639  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6640  +
}
 4843   6641   
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
 4844   6642   
similarity index 99%
 4845   6643   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
 4846   6644   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 4847   6645   
index fa84bbd..76d5ad6 100644
 4848   6646   
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
 4849   6647   
new file mode 100644
 4850   6648   
index 0000000..4cb1c94
 4851         -
-- /dev/null
        6649  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 4852   6650   
@@ -0,0 +1 @@
        6651  +
3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
              \
 No newline at end of file
 4853   6652   
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
 4854   6653   
new file mode 100644
 4855   6654   
index 0000000..bd22b97
 4856         -
-- /dev/null
        6655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 4857   6656   
@@ -0,0 +1,3 @@
        6657  +
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
        6658  +
Host:example.amazonaws.com
        6659  +
 4858   6660   
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
 4859   6661   
similarity index 99%
 4860   6662   
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
 4861   6663   
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
 4862   6664   
index de270ef..8c9d319 100644
 4863   6665   
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
 4864   6666   
similarity index 67%
 4865   6667   
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
 4866   6668   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4867   6669   
index 9157bc7..c9d6e5d 100644
 4868         -
-- 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
        6670  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4869   6671   
@@ -1,3 +1,2 @@
 4870   6672   
POST /?Param1=value1 HTTP/1.1
 4871   6673   
Host:example.amazonaws.com
 4872         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4873   6674   
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
 4874   6675   
new file mode 100644
 4875   6676   
index 0000000..0468d80
 4876         -
-- /dev/null
        6677  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 4877   6678   
@@ -0,0 +1,12 @@
        6679  +
{
        6680  +
    "credentials": {
        6681  +
        "access_key_id": "AKIDEXAMPLE",
        6682  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6683  +
    },
        6684  +
    "expiration_in_seconds": 3600,
        6685  +
    "normalize": true,
        6686  +
    "region": "us-east-1",
        6687  +
    "service": "service",
        6688  +
    "sign_body": false,
        6689  +
    "timestamp": "2015-08-30T12:36:00Z"
        6690  +
}
              \
 No newline at end of file
 4878   6691   
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
 4879   6692   
similarity index 99%
 4880   6693   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
 4881   6694   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 4882   6695   
index 02af60f..34b8c11 100644
 4883   6696   
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
 4884   6697   
new file mode 100644
 4885   6698   
index 0000000..34f75c8
 4886         -
-- /dev/null
        6699  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 4887   6700   
@@ -0,0 +1 @@
        6701  +
3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
              \
 No newline at end of file
 4888   6702   
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
 4889   6703   
new file mode 100644
 4890   6704   
index 0000000..c731408
 4891         -
-- /dev/null
        6705  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 4892   6706   
@@ -0,0 +1,6 @@
        6707  +
POST /?Param1=value1 HTTP/1.1
        6708  +
Host:example.amazonaws.com
        6709  +
X-Amz-Date:20150830T123600Z
        6710  +
X-Amz-Region-Set:us-east-1
        6711  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
        6712  +
 4893   6713   
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
 4894   6714   
similarity index 99%
 4895   6715   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
 4896   6716   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 4897   6717   
index 4256b4f..ad88dff 100644
 4898   6718   
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
 4899   6719   
new file mode 100644
 4900   6720   
index 0000000..379dcb2
 4901         -
-- /dev/null
        6721  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 4902   6722   
@@ -0,0 +1,4 @@
        6723  +
{
        6724  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6725  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6726  +
}
 4903   6727   
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
 4904   6728   
similarity index 99%
 4905   6729   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
 4906   6730   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 4907   6731   
index fa84bbd..76d5ad6 100644
 4908   6732   
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
 4909   6733   
new file mode 100644
 4910   6734   
index 0000000..ae000d6
 4911         -
-- /dev/null
        6735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 4912   6736   
@@ -0,0 +1 @@
        6737  +
304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
              \
 No newline at end of file
 4913   6738   
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
 4914   6739   
new file mode 100644
 4915   6740   
index 0000000..a868f7d
 4916         -
-- /dev/null
        6741  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 4917   6742   
@@ -0,0 +1,3 @@
        6743  +
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
        6744  +
Host:example.amazonaws.com
        6745  +
 4918   6746   
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
 4919   6747   
similarity index 99%
 4920   6748   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
 4921   6749   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 4922   6750   
index de270ef..8c9d319 100644
 4923   6751   
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
 4924   6752   
similarity index 67%
 4925   6753   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
 4926   6754   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 4927   6755   
index 9157bc7..c9d6e5d 100644
 4928         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
        6756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 4929   6757   
@@ -1,3 +1,2 @@
 4930   6758   
POST /?Param1=value1 HTTP/1.1
 4931   6759   
Host:example.amazonaws.com
 4932         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4933   6760   
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
 4934   6761   
new file mode 100644
 4935   6762   
index 0000000..0468d80
 4936         -
-- /dev/null
        6763  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 4937   6764   
@@ -0,0 +1,12 @@
        6765  +
{
        6766  +
    "credentials": {
        6767  +
        "access_key_id": "AKIDEXAMPLE",
        6768  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6769  +
    },
        6770  +
    "expiration_in_seconds": 3600,
        6771  +
    "normalize": true,
        6772  +
    "region": "us-east-1",
        6773  +
    "service": "service",
        6774  +
    "sign_body": false,
        6775  +
    "timestamp": "2015-08-30T12:36:00Z"
        6776  +
}
              \
 No newline at end of file
 4938   6777   
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
 4939   6778   
similarity index 99%
 4940   6779   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
 4941   6780   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 4942   6781   
index a6942c1..e881ac7 100644
 4943   6782   
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
 4944   6783   
new file mode 100644
 4945   6784   
index 0000000..7c5e47b
 4946         -
-- /dev/null
        6785  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 4947   6786   
@@ -0,0 +1 @@
        6787  +
3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
              \
 No newline at end of file
 4948   6788   
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
 4949   6789   
new file mode 100644
 4950   6790   
index 0000000..c0e50a0
 4951         -
-- /dev/null
        6791  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 4952   6792   
@@ -0,0 +1,6 @@
        6793  +
POST / HTTP/1.1
        6794  +
Host:example.amazonaws.com
        6795  +
X-Amz-Date:20150830T123600Z
        6796  +
X-Amz-Region-Set:us-east-1
        6797  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
        6798  +
 4953   6799   
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
 4954   6800   
similarity index 99%
 4955   6801   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
 4956   6802   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 4957   6803   
index d5650cb..f8adf13 100644
 4958   6804   
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
 4959   6805   
new file mode 100644
 4960   6806   
index 0000000..379dcb2
 4961         -
-- /dev/null
        6807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 4962   6808   
@@ -0,0 +1,4 @@
        6809  +
{
        6810  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6811  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6812  +
}
 4963   6813   
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
 4964   6814   
similarity index 99%
 4965   6815   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
 4966   6816   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 4967   6817   
index e48ce07..5ea8e3c 100644
 4968   6818   
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
 4969   6819   
new file mode 100644
 4970   6820   
index 0000000..ea8e3b4
 4971         -
-- /dev/null
        6821  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 4972   6822   
@@ -0,0 +1 @@
        6823  +
30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
              \
 No newline at end of file
 4973   6824   
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
 4974   6825   
new file mode 100644
 4975   6826   
index 0000000..616973f
 4976         -
-- /dev/null
        6827  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 4977   6828   
@@ -0,0 +1,3 @@
        6829  +
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
        6830  +
Host:example.amazonaws.com
        6831  +
 4978   6832   
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
 4979   6833   
similarity index 99%
 4980   6834   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
 4981   6835   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 4982   6836   
index 34e3382..711c162 100644
 4983   6837   
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
 4984   6838   
new file mode 100644
 4985   6839   
index 0000000..3f0a82a
 4986         -
-- /dev/null
        6840  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 4987   6841   
@@ -0,0 +1,2 @@
        6842  +
POST / HTTP/1.1
        6843  +
Host:example.amazonaws.com
 4988   6844   
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
 4989   6845   
new file mode 100644
 4990   6846   
index 0000000..0db1df1
 4991         -
-- /dev/null
        6847  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 4992   6848   
@@ -0,0 +1,12 @@
        6849  +
{
        6850  +
    "credentials": {
        6851  +
        "access_key_id": "AKIDEXAMPLE",
        6852  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6853  +
    },
        6854  +
    "expiration_in_seconds": 3600,
        6855  +
    "normalize": true,
        6856  +
    "region": "us-east-1",
        6857  +
    "service": "service",
        6858  +
    "sign_body": true,
        6859  +
    "timestamp": "2015-08-30T12:36:00Z"
        6860  +
}
              \
 No newline at end of file
 4993   6861   
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
 4994   6862   
similarity index 62%
 4995   6863   
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
 4996   6864   
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
 4997   6865   
index 05ab787..62639b2 100644
 4998         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
        6866  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 4999   6867   
@@ -1,12 +1,12 @@
 5000   6868   
POST
 5001   6869   
/
 5002   6870   
 5003   6871   
content-length:13
 5004   6872   
content-type:application/x-www-form-urlencoded; charset=utf-8
 5005   6873   
host:example.amazonaws.com
 5006         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6874  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 5007   6875   
x-amz-date:20150830T123600Z
 5008   6876   
x-amz-region-set:us-east-1
 5009   6877   
 5010   6878   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 5011         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6879  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5012   6880   
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
 5013   6881   
new file mode 100644
 5014   6882   
index 0000000..006ec2e
 5015         -
-- /dev/null
        6883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 5016   6884   
@@ -0,0 +1 @@
        6885  +
3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
              \
 No newline at end of file
 5017   6886   
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
 5018   6887   
new file mode 100644
 5019   6888   
index 0000000..87a11f2
 5020         -
-- /dev/null
        6889  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 5021   6890   
@@ -0,0 +1,10 @@
        6891  +
POST / HTTP/1.1
        6892  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6893  +
Host:example.amazonaws.com
        6894  +
Content-Length:13
        6895  +
X-Amz-Date:20150830T123600Z
        6896  +
X-Amz-Region-Set:us-east-1
        6897  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        6898  +
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
        6899  +
        6900  +
Param1=value1
              \
 No newline at end of file
 5022   6901   
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
 5023   6902   
new file mode 100644
 5024   6903   
index 0000000..c047afb
 5025         -
-- /dev/null
        6904  +
++ 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
 5026   6905   
@@ -0,0 +1,4 @@
        6906  +
AWS4-ECDSA-P256-SHA256
        6907  +
20150830T123600Z
        6908  +
20150830/service/aws4_request
        6909  +
bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
              \
 No newline at end of file
 5027   6910   
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
 5028   6911   
new file mode 100644
 5029   6912   
index 0000000..379dcb2
 5030         -
-- /dev/null
        6913  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 5031   6914   
@@ -0,0 +1,4 @@
        6915  +
{
        6916  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6917  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6918  +
}
 5032   6919   
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
 5033   6920   
similarity index 85%
 5034   6921   
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
 5035   6922   
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
 5036   6923   
index fcc454f..6933a8c 100644
 5037         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
        6924  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 5038   6925   
@@ -1,9 +1,9 @@
 5039   6926   
POST
 5040   6927   
/
 5041   6928   
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
 5042   6929   
content-length:13
 5043   6930   
content-type:application/x-www-form-urlencoded; charset=utf-8
 5044   6931   
host:example.amazonaws.com
 5045   6932   
 5046   6933   
content-length;content-type;host
 5047         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6934  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5048   6935   
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
 5049   6936   
new file mode 100644
 5050   6937   
index 0000000..34a2e12
 5051         -
-- /dev/null
        6938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 5052   6939   
@@ -0,0 +1 @@
        6940  +
3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
              \
 No newline at end of file
 5053   6941   
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
 5054   6942   
new file mode 100644
 5055   6943   
index 0000000..197b99e
 5056         -
-- /dev/null
        6944  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 5057   6945   
@@ -0,0 +1,6 @@
        6946  +
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
        6947  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6948  +
Host:example.amazonaws.com
        6949  +
Content-Length:13
        6950  +
        6951  +
Param1=value1
              \
 No newline at end of file
 5058   6952   
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
 5059   6953   
new file mode 100644
 5060   6954   
index 0000000..9d2bc74
 5061         -
-- /dev/null
        6955  +
++ 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
 5062   6956   
@@ -0,0 +1,4 @@
        6957  +
AWS4-ECDSA-P256-SHA256
        6958  +
20150830T123600Z
        6959  +
20150830/service/aws4_request
        6960  +
d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
              \
 No newline at end of file
 5063   6961   
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
 5064   6962   
similarity index 80%
 5065   6963   
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
 5066   6964   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5067   6965   
index 36015f1..8289eaa 100644
 5068         -
-- 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
        6966  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5069   6967   
@@ -1,6 +1,6 @@
 5070   6968   
POST / HTTP/1.1
 5071   6969   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 5072   6970   
Host:example.amazonaws.com
 5073         -
X-Amz-Date:20150830T123600Z
        6971  +
Content-Length:13
 5074   6972   
 5075   6973   
Param1=value1
              \
 No newline at end of file
 5076   6974   
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
 5077   6975   
new file mode 100644
 5078   6976   
index 0000000..0db1df1
 5079         -
-- /dev/null
        6977  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 5080   6978   
@@ -0,0 +1,12 @@
        6979  +
{
        6980  +
    "credentials": {
        6981  +
        "access_key_id": "AKIDEXAMPLE",
        6982  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6983  +
    },
        6984  +
    "expiration_in_seconds": 3600,
        6985  +
    "normalize": true,
        6986  +
    "region": "us-east-1",
        6987  +
    "service": "service",
        6988  +
    "sign_body": true,
        6989  +
    "timestamp": "2015-08-30T12:36:00Z"
        6990  +
}
              \
 No newline at end of file
 5081   6991   
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
 5082   6992   
similarity index 61%
 5083   6993   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
 5084   6994   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5085   6995   
index 69009dc..797632b 100644
 5086         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
        6996  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5087   6997   
@@ -1,12 +1,12 @@
 5088   6998   
POST
 5089   6999   
/
 5090   7000   
 5091   7001   
content-length:13
 5092   7002   
content-type:application/x-www-form-urlencoded
 5093   7003   
host:example.amazonaws.com
 5094         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7004  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 5095   7005   
x-amz-date:20150830T123600Z
 5096   7006   
x-amz-region-set:us-east-1
 5097   7007   
 5098   7008   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 5099         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7009  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5100   7010   
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
 5101   7011   
new file mode 100644
 5102   7012   
index 0000000..f5a641c
 5103         -
-- /dev/null
        7013  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 5104   7014   
@@ -0,0 +1 @@
        7015  +
304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
              \
 No newline at end of file
 5105   7016   
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
 5106   7017   
new file mode 100644
 5107   7018   
index 0000000..7bd94a7
 5108         -
-- /dev/null
        7019  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 5109   7020   
@@ -0,0 +1,10 @@
        7021  +
POST / HTTP/1.1
        7022  +
Content-Type:application/x-www-form-urlencoded
        7023  +
Host:example.amazonaws.com
        7024  +
Content-Length:13
        7025  +
X-Amz-Date:20150830T123600Z
        7026  +
X-Amz-Region-Set:us-east-1
        7027  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        7028  +
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
        7029  +
        7030  +
Param1=value1
              \
 No newline at end of file
 5110   7031   
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
 5111   7032   
new file mode 100644
 5112   7033   
index 0000000..8d25ba9
 5113         -
-- /dev/null
        7034  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 5114   7035   
@@ -0,0 +1,4 @@
        7036  +
AWS4-ECDSA-P256-SHA256
        7037  +
20150830T123600Z
        7038  +
20150830/service/aws4_request
        7039  +
ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
              \
 No newline at end of file
 5115   7040   
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
 5116   7041   
new file mode 100644
 5117   7042   
index 0000000..379dcb2
 5118         -
-- /dev/null
        7043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 5119   7044   
@@ -0,0 +1,4 @@
        7045  +
{
        7046  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7047  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7048  +
}
 5120   7049   
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
 5121   7050   
similarity index 99%
 5122   7051   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
 5123   7052   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 5124   7053   
index 9ed065b..563ff58 100644
 5125   7054   
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
 5126   7055   
new file mode 100644
 5127   7056   
index 0000000..0c77daf
 5128         -
-- /dev/null
        7057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 5129   7058   
@@ -0,0 +1 @@
        7059  +
304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
              \
 No newline at end of file
 5130   7060   
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
 5131   7061   
new file mode 100644
 5132   7062   
index 0000000..71d6de9
 5133         -
-- /dev/null
        7063  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 5134   7064   
@@ -0,0 +1,6 @@
        7065  +
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
        7066  +
Content-Type:application/x-www-form-urlencoded
        7067  +
Host:example.amazonaws.com
        7068  +
Content-Length:13
        7069  +
        7070  +
Param1=value1
              \
 No newline at end of file
 5135   7071   
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
 5136   7072   
similarity index 99%
 5137   7073   
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
 5138   7074   
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
 5139   7075   
index bef3143..cc7a224 100644
 5140   7076   
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
 5141   7077   
new file mode 100644
 5142   7078   
index 0000000..760b2d3
 5143         -
-- /dev/null
        7079  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 5144   7080   
@@ -0,0 +1,6 @@
        7081  +
POST / HTTP/1.1
        7082  +
Content-Type:application/x-www-form-urlencoded
        7083  +
Host:example.amazonaws.com
        7084  +
Content-Length:13
        7085  +
        7086  +
Param1=value1
              \
 No newline at end of file
 5145   7087   
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
 5146   7088   
index 9bd636f..b53f33f 100644
 5147         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
        7089  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 5148   7090   
@@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
 5149   7091   
            params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
 5150   7092   
        }
 5151   7093   
 5152   7094   
        if let SignatureValues::QueryParams(values) = values {
 5153   7095   
            add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
 5154   7096   
            add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
 5155   7097   
 5156   7098   
            #[cfg(feature = "sigv4a")]
 5157   7099   
            if let Some(regions) = values.region_set {
 5158   7100   
                add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
 5159   7101   
            }
 5160   7102   
 5161   7103   
            add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
 5162   7104   
            add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
 5163   7105   
            add_param(
 5164   7106   
                &mut params,
 5165   7107   
                param::X_AMZ_SIGNED_HEADERS,
 5166   7108   
                values.signed_headers.as_str(),
 5167   7109   
            );
 5168   7110   
 5169   7111   
            if let Some(security_token) = values.security_token {
 5170   7112   
                add_param(
 5171   7113   
                    &mut params,
 5172   7114   
                    settings
 5173   7115   
                        .session_token_name_override
 5174   7116   
                        .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
 5175   7117   
                    security_token,
 5176   7118   
                );
 5177   7119   
            }
 5178   7120   
        }
 5179         -
        // Sort by param name, and then by param value
        7121  +
        7122  +
        // Sort on the _encoded_ key/value pairs
        7123  +
        let mut params: Vec<(String, String)> = params
        7124  +
            .into_iter()
        7125  +
            .map(|x| {
        7126  +
                use aws_smithy_http::query::fmt_string;
        7127  +
                let enc_k = fmt_string(&x.0);
        7128  +
                let enc_v = fmt_string(&x.1);
        7129  +
                (enc_k, enc_v)
        7130  +
            })
        7131  +
            .collect();
        7132  +
 5180   7133   
        params.sort();
 5181   7134   
 5182   7135   
        let mut query = QueryWriter::new(uri);
 5183   7136   
        query.clear_params();
 5184   7137   
        for (key, value) in params {
 5185         -
            query.insert(&key, &value);
        7138  +
            query.insert_encoded(&key, &value);
 5186   7139   
        }
 5187   7140   
 5188   7141   
        let query = query.build_query();
 5189   7142   
        if query.is_empty() {
 5190   7143   
            None
 5191   7144   
        } else {
 5192   7145   
            Some(query)
 5193   7146   
        }
 5194   7147   
    }
 5195   7148   
 5196   7149   
    fn insert_host_header(
 5197   7150   
        canonical_headers: &mut HeaderMap<HeaderValue>,
 5198   7151   
        uri: &Uri,
 5199   7152   
    ) -> HeaderValue {
 5200   7153   
        match canonical_headers.get(&HOST) {
 5201   7154   
            Some(header) => header.clone(),
 5202   7155   
            None => {
 5203   7156   
                let port = uri.port();
 5204   7157   
                let scheme = uri.scheme();
 5205   7158   
                let authority = uri
 5206   7159   
                    .authority()
 5207   7160   
                    .expect("request uri authority must be set for signing")
 5208   7161   
                    .as_str();
 5209   7162   
                let host = uri
 5210   7163   
                    .host()
 5211   7164   
                    .expect("request uri host must be set for signing");
 5212   7165   
 5213   7166   
                // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
 5214   7167   
                // Host header when signing since RFC 2616 indicates that the default port should not be
 5215   7168   
                // sent in the Host header (and Hyper strips default ports if they are present)
 5216   7169   
@@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
 5217   7170   
            service,
 5218   7171   
            hashed_creq,
 5219   7172   
            signature_version: SignatureVersion::V4a,
 5220   7173   
        }
 5221   7174   
    }
 5222   7175   
}
 5223   7176   
 5224   7177   
impl fmt::Display for StringToSign<'_> {
 5225   7178   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 5226   7179   
        write!(
 5227   7180   
            f,
 5228   7181   
            "{}\n{}\n{}\n{}",
 5229   7182   
            self.algorithm,
 5230   7183   
            format_date_time(self.time),
 5231   7184   
            match self.signature_version {
 5232   7185   
                SignatureVersion::V4 => self.scope.to_string(),
 5233   7186   
                SignatureVersion::V4a => self.scope.v4a_display(),
 5234   7187   
            },
 5235   7188   
            self.hashed_creq
 5236   7189   
        )
 5237   7190   
    }
 5238   7191   
}
 5239   7192   
 5240   7193   
#[cfg(test)]
 5241   7194   
mod tests {
 5242   7195   
    use crate::date_time::test_parsers::parse_date_time;
 5243   7196   
    use crate::http_request::canonical_request::{
 5244   7197   
        normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
 5245   7198   
    };
 5246   7199   
    use crate::http_request::test;
        7200  +
    use crate::http_request::test::SigningSuiteTest;
 5247   7201   
    use crate::http_request::{
 5248   7202   
        PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
 5249   7203   
        SigningParams, SigningSettings,
 5250   7204   
    };
 5251   7205   
    use crate::sign::v4;
 5252   7206   
    use crate::sign::v4::sha256_hex_string;
 5253   7207   
    use aws_credential_types::Credentials;
 5254   7208   
    use aws_smithy_http::query_writer::QueryWriter;
 5255   7209   
    use aws_smithy_runtime_api::client::identity::Identity;
 5256   7210   
    use http0::{HeaderValue, Uri};
 5257   7211   
    use pretty_assertions::assert_eq;
 5258   7212   
    use proptest::{prelude::*, proptest};
 5259   7213   
    use std::borrow::Cow;
 5260   7214   
    use std::time::Duration;
 5261   7215   
 5262   7216   
    fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
 5263   7217   
        v4::signing_params::Builder::default()
 5264   7218   
            .identity(identity)
 5265   7219   
            .region("test-region")
 5266   7220   
            .name("testservicename")
 5267   7221   
            .time(parse_date_time("20210511T154045Z").unwrap())
 5268   7222   
            .settings(settings)
 5269   7223   
            .build()
 5270   7224   
            .unwrap()
 5271   7225   
            .into()
 5272   7226   
    }
 5273   7227   
 5274   7228   
    #[test]
 5275   7229   
    fn test_repeated_header() {
 5276         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7230  +
        let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7231  +
        let mut req = test.request();
 5277   7232   
        req.headers.push((
 5278   7233   
            "x-amz-object-attributes".to_string(),
 5279   7234   
            "Checksum".to_string(),
 5280   7235   
        ));
 5281   7236   
        req.headers.push((
 5282   7237   
            "x-amz-object-attributes".to_string(),
 5283   7238   
            "ObjectSize".to_string(),
 5284   7239   
        ));
 5285   7240   
        let req = SignableRequest::from(&req);
 5286   7241   
        let settings = SigningSettings {
 5287   7242   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5288   7243   
            session_token_mode: SessionTokenMode::Exclude,
 5289   7244   
            ..Default::default()
 5290   7245   
        };
 5291   7246   
        let identity = Credentials::for_tests().into();
 5292   7247   
        let signing_params = signing_params(&identity, settings);
 5293   7248   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5294   7249   
 5295   7250   
        assert_eq!(
 5296   7251   
            creq.values.signed_headers().to_string(),
 5297   7252   
            "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
 5298   7253   
        );
 5299   7254   
        assert_eq!(
 5300   7255   
            creq.header_values_for("x-amz-object-attributes"),
 5301   7256   
            "Checksum,ObjectSize",
 5302   7257   
        );
 5303   7258   
    }
 5304   7259   
 5305   7260   
    #[test]
 5306   7261   
    fn test_host_header_properly_handles_ports() {
 5307   7262   
        fn host_header_test_setup(endpoint: String) -> String {
 5308         -
            let mut req = test::v4::test_request("get-vanilla");
        7263  +
            let test = SigningSuiteTest::v4("get-vanilla");
        7264  +
            let mut req = test.request();
 5309   7265   
            req.uri = endpoint;
 5310   7266   
            let req = SignableRequest::from(&req);
 5311   7267   
            let settings = SigningSettings {
 5312   7268   
                payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5313   7269   
                session_token_mode: SessionTokenMode::Exclude,
 5314   7270   
                ..Default::default()
 5315   7271   
            };
 5316   7272   
            let identity = Credentials::for_tests().into();
 5317   7273   
            let signing_params = signing_params(&identity, settings);
 5318   7274   
            let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5319   7275   
            creq.header_values_for("host")
 5320   7276   
        }
 5321   7277   
 5322   7278   
        // HTTP request with 80 port should not be signed with that port
 5323   7279   
        let http_80_host_header = host_header_test_setup("http://localhost:80".into());
 5324   7280   
        assert_eq!(http_80_host_header, "localhost",);
 5325   7281   
 5326   7282   
        // HTTP request with non-80 port should be signed with that port
 5327   7283   
        let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
 5328   7284   
        assert_eq!(http_1234_host_header, "localhost:1234",);
 5329   7285   
 5330   7286   
        // HTTPS request with 443 port should not be signed with that port
 5331   7287   
        let https_443_host_header = host_header_test_setup("https://localhost:443".into());
 5332   7288   
        assert_eq!(https_443_host_header, "localhost",);
 5333   7289   
 5334   7290   
        // HTTPS request with non-443 port should be signed with that port
 5335   7291   
        let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
 5336   7292   
        assert_eq!(https_1234_host_header, "localhost:1234",);
 5337   7293   
    }
 5338   7294   
 5339   7295   
    #[test]
 5340   7296   
    fn test_set_xamz_sha_256() {
 5341         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7297  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7298  +
        let req = test.request();
 5342   7299   
        let req = SignableRequest::from(&req);
 5343   7300   
        let settings = SigningSettings {
 5344   7301   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5345   7302   
            session_token_mode: SessionTokenMode::Exclude,
 5346   7303   
            ..Default::default()
 5347   7304   
        };
 5348   7305   
        let identity = Credentials::for_tests().into();
 5349   7306   
        let mut signing_params = signing_params(&identity, settings);
 5350   7307   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5351   7308   
        assert_eq!(
 5352   7309   
            creq.values.content_sha256(),
 5353   7310   
            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 5354   7311   
        );
 5355   7312   
        // assert that the sha256 header was added
 5356   7313   
        assert_eq!(
 5357   7314   
            creq.values.signed_headers().as_str(),
 5358   7315   
            "host;x-amz-content-sha256;x-amz-date"
 5359   7316   
        );
 5360   7317   
 5361   7318   
        signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
 5362   7319   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5363   7320   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5364   7321   
    }
 5365   7322   
 5366   7323   
    #[test]
 5367   7324   
    fn test_unsigned_payload() {
 5368         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7325  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7326  +
        let mut req = test.request();
 5369   7327   
        req.set_body(SignableBody::UnsignedPayload);
 5370   7328   
        let req: SignableRequest<'_> = SignableRequest::from(&req);
 5371   7329   
 5372   7330   
        let settings = SigningSettings {
 5373   7331   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5374   7332   
            ..Default::default()
 5375   7333   
        };
 5376   7334   
        let identity = Credentials::for_tests().into();
 5377   7335   
        let signing_params = signing_params(&identity, settings);
 5378   7336   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5379   7337   
        assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
 5380   7338   
        assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
 5381   7339   
    }
 5382   7340   
 5383   7341   
    #[test]
 5384   7342   
    fn test_precomputed_payload() {
 5385   7343   
        let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
 5386         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7344  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7345  +
        let mut req = test.request();
 5387   7346   
        req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
 5388   7347   
        let req = SignableRequest::from(&req);
 5389   7348   
        let settings = SigningSettings {
 5390   7349   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5391   7350   
            ..Default::default()
 5392   7351   
        };
 5393   7352   
        let identity = Credentials::for_tests().into();
 5394   7353   
        let signing_params = signing_params(&identity, settings);
 5395   7354   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5396   7355   
        assert_eq!(creq.values.content_sha256(), payload_hash);
 5397   7356   
        assert!(creq.to_string().ends_with(payload_hash));
 5398   7357   
    }
 5399   7358   
 5400   7359   
    #[test]
 5401   7360   
    fn test_generate_scope() {
 5402   7361   
        let expected = "20150830/us-east-1/iam/aws4_request\n";
 5403   7362   
        let scope = SigningScope {
 5404   7363   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5405   7364   
            region: "us-east-1",
 5406   7365   
            service: "iam",
 5407   7366   
        };
 5408   7367   
        assert_eq!(format!("{}\n", scope), expected);
 5409   7368   
    }
 5410   7369   
 5411   7370   
    #[test]
 5412   7371   
    fn test_string_to_sign() {
 5413   7372   
        let time = parse_date_time("20150830T123600Z").unwrap();
 5414         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
 5415         -
        let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
        7373  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7374  +
        let creq = test.canonical_request(SignatureLocation::Headers);
        7375  +
        let expected_sts = test.string_to_sign(SignatureLocation::Headers);
 5416   7376   
        let encoded = sha256_hex_string(creq.as_bytes());
 5417   7377   
 5418   7378   
        let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
 5419   7379   
        assert_eq!(expected_sts, actual.to_string());
 5420   7380   
    }
 5421   7381   
 5422   7382   
    #[test]
 5423   7383   
    fn test_digest_of_canonical_request() {
 5424         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
        7384  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7385  +
        let creq = test.canonical_request(SignatureLocation::Headers);
 5425   7386   
        let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
 5426   7387   
        let actual = sha256_hex_string(creq.as_bytes());
 5427   7388   
        assert_eq!(expected, actual);
 5428   7389   
    }
 5429   7390   
 5430   7391   
    #[test]
 5431   7392   
    fn test_double_url_encode_path() {
 5432         -
        let req = test::v4::test_request("double-encode-path");
        7393  +
        let test = SigningSuiteTest::v4("double-encode-path");
        7394  +
        let req = test.request();
 5433   7395   
        let req = SignableRequest::from(&req);
 5434   7396   
        let identity = Credentials::for_tests().into();
 5435   7397   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5436   7398   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5437   7399   
 5438         -
        let expected = test::v4::test_canonical_request("double-encode-path");
        7400  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5439   7401   
        let actual = format!("{}", creq);
 5440   7402   
        assert_eq!(actual, expected);
 5441   7403   
    }
 5442   7404   
 5443   7405   
    #[test]
 5444   7406   
    fn test_double_url_encode() {
 5445         -
        let req = test::v4::test_request("double-url-encode");
        7407  +
        let test = SigningSuiteTest::v4("double-url-encode");
        7408  +
        let req = test.request();
 5446   7409   
        let req = SignableRequest::from(&req);
 5447   7410   
        let identity = Credentials::for_tests().into();
 5448   7411   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5449   7412   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5450         -
 5451         -
        let expected = test::v4::test_canonical_request("double-url-encode");
        7413  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5452   7414   
        let actual = format!("{}", creq);
 5453   7415   
        assert_eq!(actual, expected);
 5454   7416   
    }
 5455   7417   
 5456   7418   
    #[test]
 5457   7419   
    fn test_tilde_in_uri() {
 5458   7420   
        let req = http0::Request::builder()
 5459   7421   
            .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
 5460   7422   
        let req = SignableRequest::from(&req);
 5461   7423   
        let identity = Credentials::for_tests().into();
 5462   7424   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5463   7425   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5464   7426   
        assert_eq!(
 5465   7427   
            Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
 5466   7428   
            creq.params.as_deref(),
 5467   7429   
        );
 5468   7430   
    }
 5469   7431   
 5470   7432   
    #[test]
 5471   7433   
    fn test_signing_urls_with_percent_encoded_query_strings() {
 5472   7434   
        let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
 5473   7435   
        let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
 5474   7436   
 5475   7437   
        let mut query_writer = QueryWriter::new(&uri);
 5476   7438   
        query_writer.insert("list-type", "2");
 5477   7439   
        query_writer.insert("prefix", &all_printable_ascii_chars);
 5478   7440   
 5479   7441   
        let req = http0::Request::builder()
 5480   7442   
            .uri(query_writer.build_uri())
 5481   7443   
            .body("")
 5482   7444   
            .unwrap()
 5483   7445   
            .into();
 5484   7446   
        let req = SignableRequest::from(&req);
 5485   7447   
        let identity = Credentials::for_tests().into();
 5486   7448   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5487   7449   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5488   7450   
 5489   7451   
        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~";
 5490   7452   
        let actual = creq.params.unwrap();
 5491   7453   
        assert_eq!(expected, actual);
 5492   7454   
    }
 5493   7455   
 5494   7456   
    #[test]
 5495   7457   
    fn test_omit_session_token() {
 5496         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7458  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7459  +
        let req = test.request();
 5497   7460   
        let req = SignableRequest::from(&req);
 5498   7461   
        let settings = SigningSettings {
 5499   7462   
            session_token_mode: SessionTokenMode::Include,
 5500   7463   
            ..Default::default()
 5501   7464   
        };
 5502   7465   
        let identity = Credentials::for_tests_with_session_token().into();
 5503   7466   
        let mut signing_params = signing_params(&identity, settings);
 5504   7467   
 5505   7468   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5506   7469   
        assert_eq!(
 5507   7470   
            creq.values.signed_headers().as_str(),
 5508   7471   
            "host;x-amz-date;x-amz-security-token"
 5509   7472   
        );
 5510   7473   
        assert_eq!(
 5511   7474   
            creq.headers.get("x-amz-security-token").unwrap(),
 5512   7475   
            "notarealsessiontoken"
 5513   7476   
        );
 5514   7477   
 5515   7478   
        signing_params.set_session_token_mode(SessionTokenMode::Exclude);
 5516   7479   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5517   7480   
        assert_eq!(
 5518   7481   
            creq.headers.get("x-amz-security-token").unwrap(),
 5519   7482   
            "notarealsessiontoken"
 5520   7483   
        );
 5521   7484   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5522   7485   
    }
 5523   7486   
 5524   7487   
    // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
 5525   7488   
    #[test]
 5526   7489   
    fn non_presigning_header_exclusion() {
 5527   7490   
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
 5528   7491   
index c4bbbee..30b4743 100644
 5529         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
        7492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 5530   7493   
@@ -478,436 +478,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 5531   7494   
        sensitive,
 5532   7495   
    });
 5533   7496   
}
 5534   7497   
 5535   7498   
// add signature to authorization header
 5536   7499   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 5537   7500   
fn build_authorization_header(
 5538   7501   
    access_key: &str,
 5539   7502   
    creq: &CanonicalRequest<'_>,
 5540   7503   
    sts: StringToSign<'_>,
 5541   7504   
    signature: &str,
 5542   7505   
    signature_version: SignatureVersion,
 5543   7506   
) -> String {
 5544   7507   
    let scope = match signature_version {
 5545   7508   
        SignatureVersion::V4 => sts.scope.to_string(),
 5546   7509   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 5547   7510   
    };
 5548   7511   
    format!(
 5549   7512   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 5550   7513   
        sts.algorithm,
 5551   7514   
        access_key,
 5552   7515   
        scope,
 5553   7516   
        creq.values.signed_headers().as_str(),
 5554   7517   
        signature
 5555   7518   
    )
 5556   7519   
}
 5557   7520   
#[cfg(test)]
 5558   7521   
mod tests {
 5559   7522   
    use crate::date_time::test_parsers::parse_date_time;
 5560   7523   
    use crate::http_request::sign::{add_header, SignableRequest};
        7524  +
    use crate::http_request::test::SigningSuiteTest;
 5561   7525   
    use crate::http_request::{
 5562         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        7526  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 5563   7527   
        SigningSettings,
 5564   7528   
    };
 5565   7529   
    use crate::sign::v4;
 5566   7530   
    use aws_credential_types::Credentials;
 5567   7531   
    use http0::{HeaderValue, Request};
 5568   7532   
    use pretty_assertions::assert_eq;
 5569   7533   
    use proptest::proptest;
 5570   7534   
    use std::borrow::Cow;
 5571   7535   
    use std::iter;
 5572         -
    use std::time::Duration;
 5573   7536   
 5574   7537   
    macro_rules! assert_req_eq {
 5575   7538   
        (http: $expected:expr, $actual:expr) => {
 5576   7539   
            let mut expected = ($expected).map(|_b|"body");
 5577   7540   
            let mut actual = ($actual).map(|_b|"body");
 5578   7541   
            make_headers_comparable(&mut expected);
 5579   7542   
            make_headers_comparable(&mut actual);
 5580   7543   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 5581   7544   
        };
 5582   7545   
        ($expected:tt, $actual:tt) => {
 5583   7546   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 5584   7547   
        };
 5585   7548   
    }
 5586   7549   
 5587   7550   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 5588   7551   
        for (_name, value) in request.headers_mut() {
 5589   7552   
            value.set_sensitive(false);
 5590   7553   
        }
 5591   7554   
    }
 5592   7555   
 5593         -
    #[test]
 5594         -
    fn test_sign_vanilla_with_headers() {
 5595         -
        let settings = SigningSettings::default();
 5596         -
        let identity = &Credentials::for_tests().into();
 5597         -
        let params = v4::SigningParams {
 5598         -
            identity,
 5599         -
            region: "us-east-1",
 5600         -
            name: "service",
 5601         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5602         -
            settings,
 5603         -
        }
 5604         -
        .into();
 5605         -
 5606         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5607         -
        let signable = SignableRequest::from(&original);
 5608         -
        let out = sign(signable, &params).unwrap();
 5609         -
        assert_eq!(
 5610         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 5611         -
            out.signature
 5612         -
        );
 5613         -
 5614         -
        let mut signed = original.as_http_request();
 5615         -
        out.output.apply_to_request_http0x(&mut signed);
 5616         -
 5617         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 5618         -
        assert_req_eq!(expected, signed);
 5619         -
    }
 5620         -
        7556  +
    // Sigv4A suite tests
 5621   7557   
    #[cfg(feature = "sigv4a")]
 5622         -
    mod sigv4a_tests {
 5623         -
        use super::*;
 5624         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5625         -
        use crate::http_request::{sign, test, SigningParams};
 5626         -
        use crate::sign::v4a;
 5627         -
        use p256::ecdsa::signature::{Signature, Verifier};
 5628         -
        use p256::ecdsa::{DerSignature, SigningKey};
 5629         -
        use pretty_assertions::assert_eq;
 5630         -
 5631         -
        fn new_v4a_signing_params_from_context(
 5632         -
            test_context: &'_ test::v4a::TestContext,
 5633         -
            signature_location: SignatureLocation,
 5634         -
        ) -> SigningParams<'_> {
 5635         -
            let mut params = v4a::SigningParams::from(test_context);
 5636         -
            params.settings.signature_location = signature_location;
 5637         -
 5638         -
            params.into()
 5639         -
        }
 5640         -
 5641         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 5642         -
            let tc = test::v4a::test_context(test_name);
 5643         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 5644         -
 5645         -
            let req = test::v4a::test_request(test_name);
 5646         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 5647         -
            let signable_req = SignableRequest::from(&req);
 5648         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
 5649         -
 5650         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
        7558  +
    mod v4a_suite {
        7559  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 5651   7560   
 5652         -
            let expected_string_to_sign =
 5653         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 5654         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 5655         -
            let actual_string_to_sign = StringToSign::new_v4a(
 5656         -
                *params.time(),
 5657         -
                params.region_set().unwrap(),
 5658         -
                params.name(),
 5659         -
                hashed_creq,
 5660         -
            )
 5661         -
            .to_string();
 5662         -
 5663         -
            assert_eq!(
 5664         -
                expected_string_to_sign, actual_string_to_sign,
 5665         -
                "'string to sign' didn't match"
 5666         -
            );
 5667         -
 5668         -
            let out = sign(signable_req, &params).unwrap();
 5669         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 5670         -
            out.output
 5671         -
                .apply_to_request_http0x(&mut req.as_http_request());
 5672         -
 5673         -
            let creds = params.credentials().unwrap();
 5674         -
            let signing_key =
 5675         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 5676         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 5677         -
            let sig = sig
 5678         -
                .try_into()
 5679         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 5680         -
 5681         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 5682         -
            let peer_public_key = signing_key.verifying_key();
 5683         -
            let sts = actual_string_to_sign.as_bytes();
 5684         -
            peer_public_key.verify(sts, &sig).unwrap();
        7561  +
        #[test]
        7562  +
        fn test_get_header_key_duplicate() {
        7563  +
            run_test_suite_v4a("get-header-key-duplicate")
 5685   7564   
        }
 5686   7565   
 5687   7566   
        #[test]
 5688         -
        fn test_get_header_key_duplicate() {
 5689         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        7567  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7568  +
        fn test_get_header_value_multiline() {
        7569  +
            run_test_suite_v4a("get-header-value-multiline")
 5690   7570   
        }
 5691   7571   
 5692   7572   
        #[test]
 5693   7573   
        fn test_get_header_value_order() {
 5694         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        7574  +
            run_test_suite_v4a("get-header-value-order")
 5695   7575   
        }
 5696   7576   
 5697   7577   
        #[test]
 5698   7578   
        fn test_get_header_value_trim() {
 5699         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        7579  +
            run_test_suite_v4a("get-header-value-trim");
 5700   7580   
        }
 5701   7581   
 5702   7582   
        #[test]
 5703   7583   
        fn test_get_relative_normalized() {
 5704         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        7584  +
            run_test_suite_v4a("get-relative-normalized");
 5705   7585   
        }
 5706   7586   
 5707   7587   
        #[test]
 5708   7588   
        fn test_get_relative_relative_normalized() {
 5709         -
            run_v4a_test_suite(
 5710         -
                "get-relative-relative-normalized",
 5711         -
                SignatureLocation::Headers,
 5712         -
            );
        7589  +
            run_test_suite_v4a("get-relative-relative-normalized");
 5713   7590   
        }
 5714   7591   
 5715   7592   
        #[test]
 5716   7593   
        fn test_get_relative_relative_unnormalized() {
 5717         -
            run_v4a_test_suite(
 5718         -
                "get-relative-relative-unnormalized",
 5719         -
                SignatureLocation::Headers,
 5720         -
            );
        7594  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 5721   7595   
        }
 5722   7596   
 5723   7597   
        #[test]
 5724   7598   
        fn test_get_relative_unnormalized() {
 5725         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        7599  +
            run_test_suite_v4a("get-relative-unnormalized");
 5726   7600   
        }
 5727   7601   
 5728   7602   
        #[test]
 5729   7603   
        fn test_get_slash_dot_slash_normalized() {
 5730         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        7604  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 5731   7605   
        }
 5732   7606   
 5733   7607   
        #[test]
 5734   7608   
        fn test_get_slash_dot_slash_unnormalized() {
 5735         -
            run_v4a_test_suite(
 5736         -
                "get-slash-dot-slash-unnormalized",
 5737         -
                SignatureLocation::Headers,
 5738         -
            );
        7609  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 5739   7610   
        }
 5740   7611   
 5741   7612   
        #[test]
 5742   7613   
        fn test_get_slash_normalized() {
 5743         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        7614  +
            run_test_suite_v4a("get-slash-normalized");
 5744   7615   
        }
 5745   7616   
 5746   7617   
        #[test]
 5747   7618   
        fn test_get_slash_pointless_dot_normalized() {
 5748         -
            run_v4a_test_suite(
 5749         -
                "get-slash-pointless-dot-normalized",
 5750         -
                SignatureLocation::Headers,
 5751         -
            );
        7619  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 5752   7620   
        }
 5753   7621   
 5754   7622   
        #[test]
 5755   7623   
        fn test_get_slash_pointless_dot_unnormalized() {
 5756         -
            run_v4a_test_suite(
 5757         -
                "get-slash-pointless-dot-unnormalized",
 5758         -
                SignatureLocation::Headers,
 5759         -
            );
        7624  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 5760   7625   
        }
 5761   7626   
 5762   7627   
        #[test]
 5763   7628   
        fn test_get_slash_unnormalized() {
 5764         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        7629  +
            run_test_suite_v4a("get-slash-unnormalized");
 5765   7630   
        }
 5766   7631   
 5767   7632   
        #[test]
 5768   7633   
        fn test_get_slashes_normalized() {
 5769         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        7634  +
            run_test_suite_v4a("get-slashes-normalized");
 5770   7635   
        }
 5771   7636   
 5772   7637   
        #[test]
 5773   7638   
        fn test_get_slashes_unnormalized() {
 5774         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        7639  +
            run_test_suite_v4a("get-slashes-unnormalized");
        7640  +
        }
        7641  +
        7642  +
        #[test]
        7643  +
        #[ignore = "relies on single encode of path segments"]
        7644  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7645  +
        // skipped until we add control over double_uri_encode in context.json
        7646  +
        fn test_get_space_normalized() {
        7647  +
            run_test_suite_v4a("get-space-normalized");
        7648  +
        }
        7649  +
        7650  +
        #[test]
        7651  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7652  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7653  +
        fn test_get_space_unnormalized() {
        7654  +
            run_test_suite_v4a("get-space-unnormalized");
 5775   7655   
        }
 5776   7656   
 5777   7657   
        #[test]
 5778   7658   
        fn test_get_unreserved() {
 5779         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        7659  +
            run_test_suite_v4a("get-unreserved");
        7660  +
        }
        7661  +
        7662  +
        #[test]
        7663  +
        #[ignore = "httparse fails on invalid uri character"]
        7664  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7665  +
        fn test_get_utf8() {
        7666  +
            run_test_suite_v4a("get-utf8");
 5780   7667   
        }
 5781   7668   
 5782   7669   
        #[test]
 5783   7670   
        fn test_get_vanilla() {
 5784         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        7671  +
            run_test_suite_v4a("get-vanilla");
 5785   7672   
        }
 5786   7673   
 5787   7674   
        #[test]
 5788   7675   
        fn test_get_vanilla_empty_query_key() {
 5789         -
            run_v4a_test_suite(
 5790         -
                "get-vanilla-empty-query-key",
 5791         -
                SignatureLocation::QueryParams,
 5792         -
            );
        7676  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 5793   7677   
        }
 5794   7678   
 5795   7679   
        #[test]
 5796   7680   
        fn test_get_vanilla_query() {
 5797         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        7681  +
            run_test_suite_v4a("get-vanilla-query");
        7682  +
        }
        7683  +
        7684  +
        #[test]
        7685  +
        fn test_get_vanilla_query_order_encoded() {
        7686  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 5798   7687   
        }
 5799   7688   
 5800   7689   
        #[test]
 5801   7690   
        fn test_get_vanilla_query_order_key_case() {
 5802         -
            run_v4a_test_suite(
 5803         -
                "get-vanilla-query-order-key-case",
 5804         -
                SignatureLocation::QueryParams,
 5805         -
            );
        7691  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 5806   7692   
        }
 5807   7693   
 5808   7694   
        #[test]
 5809   7695   
        fn test_get_vanilla_query_unreserved() {
 5810         -
            run_v4a_test_suite(
 5811         -
                "get-vanilla-query-unreserved",
 5812         -
                SignatureLocation::QueryParams,
 5813         -
            );
        7696  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        7697  +
        }
        7698  +
        7699  +
        #[test]
        7700  +
        #[ignore = "httparse fails on invalid uri character"]
        7701  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7702  +
        fn test_get_vanilla_utf8_query() {
        7703  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 5814   7704   
        }
 5815   7705   
 5816   7706   
        #[test]
 5817   7707   
        fn test_get_vanilla_with_session_token() {
 5818         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        7708  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 5819   7709   
        }
 5820   7710   
 5821   7711   
        #[test]
 5822   7712   
        fn test_post_header_key_case() {
 5823         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        7713  +
            run_test_suite_v4a("post-header-key-case");
 5824   7714   
        }
 5825   7715   
 5826   7716   
        #[test]
 5827   7717   
        fn test_post_header_key_sort() {
 5828         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        7718  +
            run_test_suite_v4a("post-header-key-sort");
 5829   7719   
        }
 5830   7720   
 5831   7721   
        #[test]
 5832   7722   
        fn test_post_header_value_case() {
 5833         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        7723  +
            run_test_suite_v4a("post-header-value-case");
 5834   7724   
        }
 5835   7725   
 5836   7726   
        #[test]
 5837   7727   
        fn test_post_sts_header_after() {
 5838         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        7728  +
            run_test_suite_v4a("post-sts-header-after");
 5839   7729   
        }
 5840   7730   
 5841   7731   
        #[test]
 5842   7732   
        fn test_post_sts_header_before() {
 5843         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        7733  +
            run_test_suite_v4a("post-sts-header-before");
 5844   7734   
        }
 5845   7735   
 5846   7736   
        #[test]
 5847   7737   
        fn test_post_vanilla() {
 5848         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        7738  +
            run_test_suite_v4a("post-vanilla");
 5849   7739   
        }
 5850   7740   
 5851   7741   
        #[test]
 5852   7742   
        fn test_post_vanilla_empty_query_value() {
 5853         -
            run_v4a_test_suite(
 5854         -
                "post-vanilla-empty-query-value",
 5855         -
                SignatureLocation::QueryParams,
 5856         -
            );
        7743  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 5857   7744   
        }
 5858   7745   
 5859   7746   
        #[test]
 5860   7747   
        fn test_post_vanilla_query() {
 5861         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        7748  +
            run_test_suite_v4a("post-vanilla-query");
 5862   7749   
        }
 5863   7750   
 5864   7751   
        #[test]
 5865   7752   
        fn test_post_x_www_form_urlencoded() {
 5866         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        7753  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 5867   7754   
        }
 5868   7755   
 5869   7756   
        #[test]
 5870   7757   
        fn test_post_x_www_form_urlencoded_parameters() {
 5871         -
            run_v4a_test_suite(
 5872         -
                "post-x-www-form-urlencoded-parameters",
 5873         -
                SignatureLocation::QueryParams,
 5874         -
            );
        7758  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 5875   7759   
        }
 5876   7760   
    }
 5877   7761   
 5878   7762   
    #[test]
 5879   7763   
    fn test_sign_url_escape() {
 5880         -
        let test = "double-encode-path";
        7764  +
        let test = SigningSuiteTest::v4("double-encode-path");
 5881   7765   
        let settings = SigningSettings::default();
 5882   7766   
        let identity = &Credentials::for_tests().into();
 5883   7767   
        let params = v4::SigningParams {
 5884   7768   
            identity,
 5885   7769   
            region: "us-east-1",
 5886   7770   
            name: "service",
 5887   7771   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5888   7772   
            settings,
 5889   7773   
        }
 5890   7774   
        .into();
 5891   7775   
 5892         -
        let original = test::v4::test_request(test);
        7776  +
        let original = test.request();
 5893   7777   
        let signable = SignableRequest::from(&original);
 5894   7778   
        let out = sign(signable, &params).unwrap();
 5895   7779   
        assert_eq!(
 5896   7780   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 5897   7781   
            out.signature
 5898   7782   
        );
 5899   7783   
 5900   7784   
        let mut signed = original.as_http_request();
 5901   7785   
        out.output.apply_to_request_http0x(&mut signed);
 5902   7786   
 5903         -
        let expected = test::v4::test_signed_request(test);
 5904         -
        assert_req_eq!(expected, signed);
 5905         -
    }
 5906         -
 5907         -
    #[test]
 5908         -
    fn test_sign_vanilla_with_query_params() {
 5909         -
        let settings = SigningSettings {
 5910         -
            signature_location: SignatureLocation::QueryParams,
 5911         -
            expires_in: Some(Duration::from_secs(35)),
 5912         -
            ..Default::default()
 5913         -
        };
 5914         -
        let identity = &Credentials::for_tests().into();
 5915         -
        let params = v4::SigningParams {
 5916         -
            identity,
 5917         -
            region: "us-east-1",
 5918         -
            name: "service",
 5919         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5920         -
            settings,
 5921         -
        }
 5922         -
        .into();
 5923         -
 5924         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5925         -
        let signable = SignableRequest::from(&original);
 5926         -
        let out = sign(signable, &params).unwrap();
 5927         -
        assert_eq!(
 5928         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 5929         -
            out.signature
 5930         -
        );
 5931         -
 5932         -
        let mut signed = original.as_http_request();
 5933         -
        out.output.apply_to_request_http0x(&mut signed);
 5934         -
 5935         -
        let expected =
 5936         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        7787  +
        let expected = test.signed_request(SignatureLocation::Headers);
 5937   7788   
        assert_req_eq!(expected, signed);
 5938   7789   
    }
 5939   7790   
 5940   7791   
    #[test]
 5941   7792   
    fn test_sign_headers_utf8() {
 5942   7793   
        let settings = SigningSettings::default();
 5943   7794   
        let identity = &Credentials::for_tests().into();
 5944   7795   
        let params = v4::SigningParams {
 5945   7796   
            identity,
 5946   7797   
            region: "us-east-1",
 5947   7798   
            name: "service",
 5948   7799   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5949   7800   
            settings,
 5950   7801   
        }
 5951   7802   
        .into();
 5952   7803   
 5953   7804   
        let original = http0::Request::builder()
 5954   7805   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 5955   7806   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 5956   7807   
            .body("")
 5957   7808   
            .unwrap()
 5958   7809   
            .into();
 5959   7810   
        let signable = SignableRequest::from(&original);
 5960   7811   
        let out = sign(signable, &params).unwrap();
 5961   7812   
        assert_eq!(
 5962   7813   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 5963   7814   
            out.signature
 5964   7815   
        );
 5965   7816   
 5966   7817   
        let mut signed = original.as_http_request();
 5967   7818   
@@ -1138,31 +1026,236 @@ mod tests {
 5968   7819   
        let mut request = http::Request::builder()
 5969   7820   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 5970   7821   
            .body("")
 5971   7822   
            .unwrap();
 5972   7823   
 5973   7824   
        instructions.apply_to_request_http1x(&mut request);
 5974   7825   
 5975   7826   
        assert_eq!(
 5976   7827   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 5977   7828   
            request.uri().path_and_query().unwrap().to_string()
 5978   7829   
        );
 5979   7830   
    }
 5980   7831   
 5981   7832   
    #[test]
 5982   7833   
    fn test_debug_signable_body() {
 5983   7834   
        let sut = SignableBody::Bytes(b"hello signable body");
 5984   7835   
        assert_eq!(
 5985   7836   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 5986   7837   
            format!("{sut:?}")
 5987   7838   
        );
 5988   7839   
 5989   7840   
        let sut = SignableBody::UnsignedPayload;
 5990   7841   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 5991   7842   
 5992   7843   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 5993   7844   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 5994   7845   
 5995   7846   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 5996   7847   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 5997   7848   
    }
        7849  +
        7850  +
    // v4 test suite
        7851  +
    mod v4_suite {
        7852  +
        use crate::http_request::test::run_test_suite_v4;
        7853  +
        7854  +
        #[test]
        7855  +
        fn test_get_header_key_duplicate() {
        7856  +
            run_test_suite_v4("get-header-key-duplicate");
        7857  +
        }
        7858  +
        7859  +
        #[test]
        7860  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7861  +
        fn test_get_header_value_multiline() {
        7862  +
            run_test_suite_v4("get-header-value-multiline");
        7863  +
        }
        7864  +
        7865  +
        #[test]
        7866  +
        fn test_get_header_value_order() {
        7867  +
            run_test_suite_v4("get-header-value-order");
        7868  +
        }
        7869  +
        7870  +
        #[test]
        7871  +
        fn test_get_header_value_trim() {
        7872  +
            run_test_suite_v4("get-header-value-trim");
        7873  +
        }
        7874  +
        7875  +
        #[test]
        7876  +
        fn test_get_relative_normalized() {
        7877  +
            run_test_suite_v4("get-relative-normalized");
        7878  +
        }
        7879  +
        7880  +
        #[test]
        7881  +
        fn test_get_relative_relative_normalized() {
        7882  +
            run_test_suite_v4("get-relative-relative-normalized");
        7883  +
        }
        7884  +
        7885  +
        #[test]
        7886  +
        fn test_get_relative_relative_unnormalized() {
        7887  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        7888  +
        }
        7889  +
        7890  +
        #[test]
        7891  +
        fn test_get_relative_unnormalized() {
        7892  +
            run_test_suite_v4("get-relative-unnormalized");
        7893  +
        }
        7894  +
        7895  +
        #[test]
        7896  +
        fn test_get_slash_dot_slash_normalized() {
        7897  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        7898  +
        }
        7899  +
        7900  +
        #[test]
        7901  +
        fn test_get_slash_dot_slash_unnormalized() {
        7902  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        7903  +
        }
        7904  +
        7905  +
        #[test]
        7906  +
        fn test_get_slash_normalized() {
        7907  +
            run_test_suite_v4("get-slash-normalized");
        7908  +
        }
        7909  +
        7910  +
        #[test]
        7911  +
        fn test_get_slash_pointless_dot_normalized() {
        7912  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        7913  +
        }
        7914  +
        7915  +
        #[test]
        7916  +
        fn test_get_slash_pointless_dot_unnormalized() {
        7917  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        7918  +
        }
        7919  +
        7920  +
        #[test]
        7921  +
        fn test_get_slash_unnormalized() {
        7922  +
            run_test_suite_v4("get-slash-unnormalized");
        7923  +
        }
        7924  +
        7925  +
        #[test]
        7926  +
        fn test_get_slashes_normalized() {
        7927  +
            run_test_suite_v4("get-slashes-normalized");
        7928  +
        }
        7929  +
        7930  +
        #[test]
        7931  +
        fn test_get_slashes_unnormalized() {
        7932  +
            run_test_suite_v4("get-slashes-unnormalized");
        7933  +
        }
        7934  +
        7935  +
        #[test]
        7936  +
        #[ignore = "relies on single encode of path segments"]
        7937  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7938  +
        // skipped until we add control over double_uri_encode in context.json
        7939  +
        fn test_get_space_normalized() {
        7940  +
            run_test_suite_v4("get-space-normalized");
        7941  +
        }
        7942  +
        7943  +
        #[test]
        7944  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7945  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7946  +
        fn test_get_space_unnormalized() {
        7947  +
            run_test_suite_v4("get-space-unnormalized");
        7948  +
        }
        7949  +
        7950  +
        #[test]
        7951  +
        fn test_get_unreserved() {
        7952  +
            run_test_suite_v4("get-unreserved");
        7953  +
        }
        7954  +
        7955  +
        #[test]
        7956  +
        #[ignore = "httparse fails on invalid uri character"]
        7957  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7958  +
        fn test_get_utf8() {
        7959  +
            run_test_suite_v4("get-utf8");
        7960  +
        }
        7961  +
        7962  +
        #[test]
        7963  +
        fn test_get_vanilla() {
        7964  +
            run_test_suite_v4("get-vanilla");
        7965  +
        }
        7966  +
        7967  +
        #[test]
        7968  +
        fn test_get_vanilla_empty_query_key() {
        7969  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        7970  +
        }
        7971  +
        7972  +
        #[test]
        7973  +
        fn test_get_vanilla_query() {
        7974  +
            run_test_suite_v4("get-vanilla-query");
        7975  +
        }
        7976  +
        7977  +
        #[test]
        7978  +
        fn test_get_vanilla_query_order_encoded() {
        7979  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        7980  +
        }
        7981  +
        7982  +
        #[test]
        7983  +
        fn test_get_vanilla_query_order_key_case() {
        7984  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        7985  +
        }
        7986  +
        7987  +
        #[test]
        7988  +
        fn test_get_vanilla_query_unreserved() {
        7989  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        7990  +
        }
        7991  +
        7992  +
        #[test]
        7993  +
        #[ignore = "httparse fails on invalid uri character"]
        7994  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7995  +
        fn test_get_vanilla_utf8_query() {
        7996  +
            run_test_suite_v4("get-vanilla-utf8-query");
        7997  +
        }
        7998  +
        7999  +
        #[test]
        8000  +
        fn test_get_vanilla_with_session_token() {
        8001  +
            run_test_suite_v4("get-vanilla-with-session-token");
        8002  +
        }
        8003  +
        8004  +
        #[test]
        8005  +
        fn test_post_header_key_case() {
        8006  +
            run_test_suite_v4("post-header-key-case");
        8007  +
        }
        8008  +
        8009  +
        #[test]
        8010  +
        fn test_post_header_key_sort() {
        8011  +
            run_test_suite_v4("post-header-key-sort");
        8012  +
        }
        8013  +
        8014  +
        #[test]
        8015  +
        fn test_post_header_value_case() {
        8016  +
            run_test_suite_v4("post-header-value-case");
        8017  +
        }
        8018  +
        8019  +
        #[test]
        8020  +
        fn test_post_sts_header_after() {
        8021  +
            run_test_suite_v4("post-sts-header-after");
        8022  +
        }
        8023  +
        8024  +
        #[test]
        8025  +
        fn test_post_sts_header_before() {
        8026  +
            run_test_suite_v4("post-sts-header-before");
        8027  +
        }
        8028  +
        8029  +
        #[test]
        8030  +
        fn test_post_vanilla() {
        8031  +
            run_test_suite_v4("post-vanilla");
        8032  +
        }
        8033  +
        8034  +
        #[test]
        8035  +
        fn test_post_vanilla_empty_query_value() {
        8036  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        8037  +
        }
        8038  +
        8039  +
        #[test]
        8040  +
        fn test_post_vanilla_query() {
        8041  +
            run_test_suite_v4("post-vanilla-query");
        8042  +
        }
        8043  +
        8044  +
        #[test]
        8045  +
        fn test_post_x_www_form_urlencoded() {
        8046  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        8047  +
        }
        8048  +
        8049  +
        #[test]
        8050  +
        fn test_post_x_www_form_urlencoded_parameters() {
        8051  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        8052  +
        }
        8053  +
    }
 5998   8054   
}
 5999   8055   
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
 6000   8056   
index be6c496..86eec20 100644
 6001         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        8057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 6002   8058   
@@ -1,242 +1,453 @@
 6003   8059   
/*
 6004   8060   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 6005   8061   
 * SPDX-License-Identifier: Apache-2.0
 6006   8062   
 */
 6007   8063   
 6008   8064   
//! Functions shared between the tests of several modules.
 6009   8065   
 6010         -
use crate::http_request::{SignableBody, SignableRequest};
        8066  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        8067  +
use crate::http_request::{
        8068  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        8069  +
    SigningSettings,
        8070  +
};
        8071  +
use aws_credential_types::Credentials;
        8072  +
use aws_smithy_runtime_api::client::identity::Identity;
 6011   8073   
use http0::{Method, Uri};
        8074  +
use std::borrow::Cow;
 6012   8075   
use std::error::Error as StdError;
        8076  +
use std::time::{Duration, SystemTime};
        8077  +
use time::format_description::well_known::Rfc3339;
        8078  +
use time::OffsetDateTime;
        8079  +
        8080  +
/// Common test suite collection
        8081  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        8082  +
enum Collection {
        8083  +
    V4,
        8084  +
    V4A,
        8085  +
}
 6013   8086   
 6014         -
pub(crate) mod v4 {
 6015         -
    use super::*;
        8087  +
/// A test from the common CRT test suite
        8088  +
#[derive(Debug, Clone)]
        8089  +
pub(crate) struct SigningSuiteTest {
        8090  +
    test_name: &'static str,
        8091  +
    collection: Collection,
        8092  +
}
 6016   8093   
 6017         -
    fn path(name: &str, ext: &str) -> String {
 6018         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        8094  +
impl SigningSuiteTest {
        8095  +
    /// Create a new test from the V4 test suite
        8096  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        8097  +
        Self {
        8098  +
            test_name,
        8099  +
            collection: Collection::V4,
 6019   8100   
        }
 6020         -
 6021         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 6022         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 6023         -
        read(&path(name, "creq")).trim().to_string()
 6024   8101   
    }
 6025   8102   
 6026         -
    pub(crate) fn test_sts(name: &str) -> String {
 6027         -
        read(&path(name, "sts"))
        8103  +
    /// Create a new test from the V4a test suite
        8104  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        8105  +
        Self {
        8106  +
            test_name,
        8107  +
            collection: Collection::V4A,
 6028   8108   
        }
 6029         -
 6030         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6031         -
        test_parsed_request(name, "req")
 6032   8109   
    }
 6033   8110   
 6034         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 6035         -
        test_parsed_request(name, "sreq")
        8111  +
    /// Get the path to a file in this test suite directory
        8112  +
    fn path(&self, filename: &str) -> String {
        8113  +
        let dir = match self.collection {
        8114  +
            Collection::V4 => "v4",
        8115  +
            Collection::V4A => "v4a",
        8116  +
        };
        8117  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 6036   8118   
    }
 6037   8119   
 6038         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 6039         -
        test_parsed_request(name, "qpsreq")
        8120  +
    /// Get the HTTP request for the test
        8121  +
    pub(crate) fn request(&self) -> TestRequest {
        8122  +
        test_parsed_request(&self.path("request.txt"))
 6040   8123   
    }
 6041   8124   
 6042         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 6043         -
        let path = path(name, ext);
 6044         -
        match parse_request(read(&path).as_bytes()) {
 6045         -
            Ok(parsed) => parsed,
 6046         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        8125  +
    /// Get the signed HTTP request for the test
        8126  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        8127  +
        match signature_location {
        8128  +
            SignatureLocation::QueryParams => {
        8129  +
                test_parsed_request(&self.path("query-signed-request.txt"))
 6047   8130   
            }
        8131  +
            SignatureLocation::Headers => {
        8132  +
                test_parsed_request(&self.path("header-signed-request.txt"))
 6048   8133   
            }
 6049         -
 6050         -
    #[test]
 6051         -
    fn test_parse() {
 6052         -
        test_request("post-header-key-case");
 6053   8134   
        }
 6054         -
 6055         -
    #[test]
 6056         -
    fn test_read_query_params() {
 6057         -
        test_request("get-vanilla-query-order-key-case");
 6058   8135   
    }
 6059         -
}
 6060         -
 6061         -
#[cfg(feature = "sigv4a")]
 6062         -
pub(crate) mod v4a {
 6063         -
    use super::*;
 6064         -
    use crate::http_request::{
 6065         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 6066         -
    };
 6067         -
    use aws_credential_types::Credentials;
 6068         -
    use aws_smithy_runtime_api::client::identity::Identity;
 6069         -
    use serde_derive::Deserialize;
 6070         -
    use std::time::{Duration, SystemTime};
 6071         -
    use time::format_description::well_known::Rfc3339;
 6072         -
    use time::OffsetDateTime;
 6073   8136   
 6074         -
    fn path(test_name: &str, definition_name: &str) -> String {
 6075         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        8137  +
    /// Get the canonical request for the test
        8138  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        8139  +
        match signature_location {
        8140  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        8141  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
 6076   8142   
        }
 6077         -
 6078         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6079         -
        test_parsed_request(&path(name, "request"))
 6080   8143   
    }
 6081   8144   
 6082         -
    pub(crate) fn test_canonical_request(
 6083         -
        name: &str,
 6084         -
        signature_location: SignatureLocation,
 6085         -
    ) -> String {
        8145  +
    /// Get the string to sign for the test
        8146  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
 6086   8147   
        match signature_location {
 6087         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 6088         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        8148  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        8149  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 6089   8150   
        }
 6090   8151   
    }
 6091   8152   
 6092         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
        8153  +
    /// Get the signature for the test
        8154  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
 6093   8155   
        match signature_location {
 6094         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 6095         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        8156  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        8157  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        8158  +
        }
 6096   8159   
    }
        8160  +
        8161  +
    /// Get the test context for the test
        8162  +
    pub(crate) fn context(&self) -> TestContext {
        8163  +
        let context = read(&self.path("context.json"));
        8164  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        8165  +
        tc_builder.build()
 6097   8166   
    }
        8167  +
}
 6098   8168   
 6099         -
    fn test_parsed_request(path: &str) -> TestRequest {
        8169  +
fn test_parsed_request(path: &str) -> TestRequest {
 6100   8170   
    match parse_request(read(path).as_bytes()) {
 6101   8171   
        Ok(parsed) => parsed,
 6102   8172   
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 6103   8173   
    }
 6104         -
    }
        8174  +
}
 6105   8175   
 6106         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 6107         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 6108         -
        let context = read(&path);
 6109         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 6110         -
        tc_builder.build()
 6111         -
    }
        8176  +
fn new_v4_signing_params_from_context(
        8177  +
    test_context: &'_ TestContext,
        8178  +
    signature_location: SignatureLocation,
        8179  +
) -> crate::http_request::SigningParams<'_> {
        8180  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        8181  +
    params.settings.signature_location = signature_location;
        8182  +
    params.into()
        8183  +
}
        8184  +
        8185  +
/// Run the given test from the v4 suite for both header and query
        8186  +
/// signature locations
        8187  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        8188  +
    run_v4_test(test_name, SignatureLocation::Headers);
        8189  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        8190  +
}
        8191  +
        8192  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        8193  +
    assert_eq!(expected.scheme(), actual.scheme());
        8194  +
    assert_eq!(expected.authority(), actual.authority());
        8195  +
    assert_eq!(expected.path(), actual.path());
        8196  +
        8197  +
    // query params may be out of order
        8198  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8199  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        8200  +
    expected_params.sort();
        8201  +
        8202  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8203  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        8204  +
    actual_params.sort();
        8205  +
        8206  +
    assert_eq!(expected_params, actual_params);
        8207  +
}
 6112   8208   
 6113         -
    pub(crate) struct TestContext {
        8209  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        8210  +
    let expected = expected.as_http_request();
        8211  +
    let actual = actual;
        8212  +
    assert_eq!(expected.method(), actual.method());
        8213  +
    assert_eq!(
        8214  +
        expected.headers().len(),
        8215  +
        actual.headers().len(),
        8216  +
        "extra or missing headers"
        8217  +
    );
        8218  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        8219  +
    assert_uri_eq(expected.uri(), actual.uri());
        8220  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        8221  +
}
        8222  +
        8223  +
/// Run the given test from the v4 suite for the given signature location
        8224  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        8225  +
    let test = SigningSuiteTest::v4(test_name);
        8226  +
    let tc = test.context();
        8227  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        8228  +
        8229  +
    let req = test.request();
        8230  +
    let expected_creq = test.canonical_request(signature_location);
        8231  +
    let signable_req = SignableRequest::from(&req);
        8232  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8233  +
        8234  +
    // check canonical request
        8235  +
    assert_eq!(
        8236  +
        expected_creq,
        8237  +
        actual_creq.to_string(),
        8238  +
        "canonical request didn't match (signature location: {signature_location:?})"
        8239  +
    );
        8240  +
        8241  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        8242  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8243  +
    let actual_string_to_sign = StringToSign::new_v4(
        8244  +
        *params.time(),
        8245  +
        params.region().unwrap(),
        8246  +
        params.name(),
        8247  +
        hashed_creq,
        8248  +
    )
        8249  +
    .to_string();
        8250  +
        8251  +
    // check string to sign
        8252  +
    assert_eq!(
        8253  +
        expected_string_to_sign, actual_string_to_sign,
        8254  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        8255  +
    );
        8256  +
        8257  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        8258  +
    let mut signed = req.as_http_request();
        8259  +
    out.output.apply_to_request_http0x(&mut signed);
        8260  +
        8261  +
    // check signature
        8262  +
    assert_eq!(
        8263  +
        test.signature(signature_location),
        8264  +
        out.signature,
        8265  +
        "signature didn't match (signature location: {signature_location:?})"
        8266  +
    );
        8267  +
        8268  +
    let expected = test.signed_request(signature_location);
        8269  +
    assert_requests_eq(expected, signed);
        8270  +
}
        8271  +
        8272  +
/// Test suite context.json
        8273  +
pub(crate) struct TestContext {
 6114   8274   
    pub(crate) identity: Identity,
 6115   8275   
    pub(crate) expiration_in_seconds: u64,
 6116   8276   
    pub(crate) normalize: bool,
 6117   8277   
    pub(crate) region: String,
 6118   8278   
    pub(crate) service: String,
 6119   8279   
    pub(crate) timestamp: String,
 6120   8280   
    pub(crate) omit_session_token: bool,
 6121   8281   
    pub(crate) sign_body: bool,
 6122         -
    }
 6123         -
 6124         -
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 6125         -
        fn from(tc: &'a TestContext) -> Self {
 6126         -
            crate::sign::v4a::SigningParams {
 6127         -
                identity: &tc.identity,
 6128         -
                region_set: &tc.region,
 6129         -
                name: &tc.service,
 6130         -
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 6131         -
                    .unwrap()
 6132         -
                    .into(),
 6133         -
                settings: SigningSettings {
 6134         -
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6135         -
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 6136         -
                    uri_path_normalization_mode: tc.normalize.into(),
 6137         -
                    session_token_mode: if tc.omit_session_token {
 6138         -
                        SessionTokenMode::Exclude
 6139         -
                    } else {
 6140         -
                        SessionTokenMode::Include
 6141         -
                    },
 6142         -
                    payload_checksum_kind: if tc.sign_body {
 6143         -
                        PayloadChecksumKind::XAmzSha256
 6144         -
                    } else {
 6145         -
                        PayloadChecksumKind::NoHeader
 6146         -
                    },
 6147         -
                    ..Default::default()
 6148         -
                },
 6149         -
            }
 6150         -
        }
 6151         -
    }
        8282  +
}
 6152   8283   
 6153         -
    // Serde has limitations requiring this odd workaround.
 6154         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 6155         -
    fn return_true() -> bool {
        8284  +
// Serde has limitations requiring this odd workaround.
        8285  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        8286  +
fn return_true() -> bool {
 6156   8287   
    true
 6157         -
    }
        8288  +
}
 6158   8289   
 6159         -
    #[derive(Deserialize)]
 6160         -
    pub(crate) struct TestContextBuilder {
        8290  +
#[derive(serde_derive::Deserialize)]
        8291  +
pub(crate) struct TestContextBuilder {
 6161   8292   
    credentials: TestContextCreds,
 6162   8293   
    expiration_in_seconds: u64,
 6163   8294   
    normalize: bool,
 6164   8295   
    region: String,
 6165   8296   
    service: String,
 6166   8297   
    timestamp: String,
 6167   8298   
    #[serde(default)]
 6168   8299   
    omit_session_token: bool,
 6169   8300   
    #[serde(default = "return_true")]
 6170   8301   
    sign_body: bool,
 6171         -
    }
        8302  +
}
 6172   8303   
 6173         -
    impl TestContextBuilder {
        8304  +
impl TestContextBuilder {
 6174   8305   
    pub(crate) fn build(self) -> TestContext {
 6175   8306   
        let identity = Identity::new(
 6176   8307   
            Credentials::from_keys(
 6177   8308   
                &self.credentials.access_key_id,
 6178   8309   
                &self.credentials.secret_access_key,
 6179   8310   
                self.credentials.token.clone(),
 6180   8311   
            ),
 6181   8312   
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 6182   8313   
        );
 6183   8314   
 6184   8315   
        TestContext {
 6185   8316   
            identity,
 6186   8317   
            expiration_in_seconds: self.expiration_in_seconds,
 6187   8318   
            normalize: self.normalize,
 6188   8319   
            region: self.region,
 6189   8320   
            service: self.service,
 6190   8321   
            timestamp: self.timestamp,
 6191   8322   
            omit_session_token: self.omit_session_token,
 6192   8323   
            sign_body: self.sign_body,
 6193   8324   
        }
 6194   8325   
    }
 6195         -
    }
        8326  +
}
 6196   8327   
 6197         -
    #[derive(Deserialize)]
 6198         -
    pub(crate) struct TestContextCreds {
        8328  +
#[derive(serde_derive::Deserialize)]
        8329  +
pub(crate) struct TestContextCreds {
 6199   8330   
    access_key_id: String,
 6200   8331   
    secret_access_key: String,
 6201   8332   
    token: Option<String>,
        8333  +
}
        8334  +
        8335  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        8336  +
    fn from(tc: &'a TestContext) -> Self {
        8337  +
        crate::sign::v4::SigningParams {
        8338  +
            identity: &tc.identity,
        8339  +
            region: &tc.region,
        8340  +
            name: &tc.service,
        8341  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8342  +
                .unwrap()
        8343  +
                .into(),
        8344  +
            settings: SigningSettings {
        8345  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8346  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8347  +
                uri_path_normalization_mode: tc.normalize.into(),
        8348  +
                session_token_mode: if tc.omit_session_token {
        8349  +
                    SessionTokenMode::Exclude
        8350  +
                } else {
        8351  +
                    SessionTokenMode::Include
        8352  +
                },
        8353  +
                payload_checksum_kind: if tc.sign_body {
        8354  +
                    PayloadChecksumKind::XAmzSha256
        8355  +
                } else {
        8356  +
                    PayloadChecksumKind::NoHeader
        8357  +
                },
        8358  +
                ..Default::default()
        8359  +
            },
        8360  +
        }
        8361  +
    }
        8362  +
}
        8363  +
        8364  +
#[cfg(feature = "sigv4a")]
        8365  +
pub(crate) mod v4a {
        8366  +
    use super::*;
        8367  +
    use crate::http_request::{
        8368  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        8369  +
    };
        8370  +
    use crate::sign::v4a;
        8371  +
    use p256::ecdsa::signature::{Signature, Verifier};
        8372  +
    use p256::ecdsa::{DerSignature, SigningKey};
        8373  +
    use std::time::Duration;
        8374  +
    use time::format_description::well_known::Rfc3339;
        8375  +
    use time::OffsetDateTime;
        8376  +
        8377  +
    fn new_v4a_signing_params_from_context(
        8378  +
        test_context: &'_ TestContext,
        8379  +
        signature_location: SignatureLocation,
        8380  +
    ) -> crate::http_request::SigningParams<'_> {
        8381  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        8382  +
        params.settings.signature_location = signature_location;
        8383  +
        params.into()
        8384  +
    }
        8385  +
        8386  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        8387  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        8388  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
        8389  +
    }
        8390  +
        8391  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        8392  +
        let test = SigningSuiteTest::v4a(test_name);
        8393  +
        let tc = test.context();
        8394  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        8395  +
        8396  +
        let req = test.request();
        8397  +
        let expected_creq = test.canonical_request(signature_location);
        8398  +
        let signable_req = SignableRequest::from(&req);
        8399  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8400  +
        8401  +
        assert_eq!(
        8402  +
            expected_creq,
        8403  +
            actual_creq.to_string(),
        8404  +
            "canonical request didn't match (signature location: {signature_location:?})"
        8405  +
        );
        8406  +
        8407  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        8408  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8409  +
        let actual_string_to_sign = StringToSign::new_v4a(
        8410  +
            *params.time(),
        8411  +
            params.region_set().unwrap(),
        8412  +
            params.name(),
        8413  +
            hashed_creq,
        8414  +
        )
        8415  +
        .to_string();
        8416  +
        8417  +
        assert_eq!(
        8418  +
            expected_string_to_sign, actual_string_to_sign,
        8419  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        8420  +
        );
        8421  +
        8422  +
        let out = sign(signable_req, &params).unwrap();
        8423  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        8424  +
        out.output
        8425  +
            .apply_to_request_http0x(&mut req.as_http_request());
        8426  +
        8427  +
        let creds = params.credentials().unwrap();
        8428  +
        let signing_key =
        8429  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        8430  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        8431  +
        let sig = sig
        8432  +
            .try_into()
        8433  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        8434  +
        8435  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        8436  +
        let peer_public_key = signing_key.verifying_key();
        8437  +
        let sts = actual_string_to_sign.as_bytes();
        8438  +
        peer_public_key.verify(sts, &sig).unwrap();
        8439  +
        // TODO(sigv4a) - use public.key.json as verifying key?
        8440  +
    }
        8441  +
        8442  +
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
        8443  +
        fn from(tc: &'a TestContext) -> Self {
        8444  +
            crate::sign::v4a::SigningParams {
        8445  +
                identity: &tc.identity,
        8446  +
                region_set: &tc.region,
        8447  +
                name: &tc.service,
        8448  +
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8449  +
                    .unwrap()
        8450  +
                    .into(),
        8451  +
                settings: SigningSettings {
        8452  +
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8453  +
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8454  +
                    uri_path_normalization_mode: tc.normalize.into(),
        8455  +
                    session_token_mode: if tc.omit_session_token {
        8456  +
                        SessionTokenMode::Exclude
        8457  +
                    } else {
        8458  +
                        SessionTokenMode::Include
        8459  +
                    },
        8460  +
                    payload_checksum_kind: if tc.sign_body {
        8461  +
                        PayloadChecksumKind::XAmzSha256
        8462  +
                    } else {
        8463  +
                        PayloadChecksumKind::NoHeader
        8464  +
                    },
        8465  +
                    ..Default::default()
        8466  +
                },
        8467  +
            }
        8468  +
        }
 6202   8469   
    }
 6203   8470   
 6204   8471   
    #[test]
 6205   8472   
    fn test_parse() {
 6206         -
        let req = test_request("post-header-key-case");
        8473  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 6207   8474   
        assert_eq!(req.method, "POST");
 6208   8475   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6209   8476   
        assert!(req.headers.is_empty());
 6210   8477   
    }
 6211   8478   
 6212   8479   
    #[test]
 6213   8480   
    fn test_read_query_params() {
 6214         -
        let req = test_request("get-header-value-trim");
        8481  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 6215   8482   
        assert_eq!(req.method, "GET");
 6216   8483   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6217   8484   
        assert!(!req.headers.is_empty());
 6218   8485   
    }
 6219   8486   
}
 6220   8487   
 6221   8488   
fn read(path: &str) -> String {
 6222   8489   
    println!("Loading `{}` for test case...", path);
 6223   8490   
    let v = {
 6224   8491   
        match std::fs::read_to_string(path) {
 6225   8492   
            // This replacement is necessary for tests to pass on Windows, as reading the
 6226   8493   
            // test snapshots from the file system results in CRLF line endings being inserted.
 6227   8494   
            Ok(value) => value.replace("\r\n", "\n"),
 6228   8495   
            Err(err) => {
 6229   8496   
                panic!("failed to load test case `{}`: {}", path, err);
 6230   8497   
            }
 6231   8498   
        }
 6232   8499   
    };
 6233   8500   
 6234   8501   
    v.trim().to_string()
 6235   8502   
}
 6236   8503   
 6237   8504   
pub(crate) struct TestRequest {
 6238   8505   
    pub(crate) uri: String,
 6239   8506   
    pub(crate) method: String,
 6240   8507   
    pub(crate) headers: Vec<(String, String)>,
 6241   8508   
    pub(crate) body: TestSignedBody,
 6242   8509   
}
 6243   8510   
 6244   8511   
pub(crate) enum TestSignedBody {
 6245   8512   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 6246   8513   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 6247   8514   
                    )
 6248   8515   
                })
 6249   8516   
                .collect::<Vec<_>>(),
 6250   8517   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 6251   8518   
        }
 6252   8519   
    }
 6253   8520   
}
 6254   8521   
 6255   8522   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 6256   8523   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 6257   8524   
        SignableRequest::new(
 6258   8525   
            &request.method,
 6259   8526   
            &request.uri,
 6260   8527   
            request
 6261   8528   
                .headers
 6262   8529   
                .iter()
 6263   8530   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 6264   8531   
            request.body.as_signable_body(),
 6265   8532   
        )
 6266   8533   
        .expect("URI MUST be valid")
 6267   8534   
    }
 6268   8535   
}
 6269   8536   
 6270   8537   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 6271   8538   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 6272   8539   
    // httparse 1.5 requires two trailing newlines to head the header section.
 6273   8540   
    let mut with_newline = Vec::from(s);
 6274   8541   
    with_newline.push(b'\n');
 6275   8542   
    let mut req = httparse::Request::new(&mut headers);
 6276         -
    let _ = req.parse(&with_newline).unwrap();
        8543  +
    let status = req.parse(&with_newline).unwrap();
        8544  +
        8545  +
    let body = if status.is_complete() {
        8546  +
        let body_offset = status.unwrap();
        8547  +
        // ignore the newline we added, take from original
        8548  +
        &s[body_offset..]
        8549  +
    } else {
        8550  +
        &[]
        8551  +
    };
 6277   8552   
 6278   8553   
    let mut uri_builder = Uri::builder().scheme("https");
 6279   8554   
    if let Some(path) = req.path {
 6280   8555   
        uri_builder = uri_builder.path_and_query(path);
 6281   8556   
    }
 6282   8557   
 6283   8558   
    let mut headers = vec![];
 6284   8559   
    for header in req.headers {
 6285   8560   
        let name = header.name.to_lowercase();
 6286   8561   
        if name == "host" {
 6287   8562   
            uri_builder = uri_builder.authority(header.value);
 6288   8563   
        } else if !name.is_empty() {
 6289   8564   
            headers.push((
 6290   8565   
                header.name.to_string(),
 6291   8566   
                std::str::from_utf8(header.value)?.to_string(),
 6292   8567   
            ));
 6293   8568   
        }
 6294   8569   
    }
 6295   8570   
 6296   8571   
    Ok(TestRequest {
 6297   8572   
        uri: uri_builder.build()?.to_string(),
 6298   8573   
        method: req.method.unwrap().to_string(),
 6299   8574   
        headers,
 6300         -
        body: TestSignedBody::Bytes(vec![]),
        8575  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 6301   8576   
    })
 6302   8577   
}
 6303   8578   
 6304   8579   
#[test]
 6305   8580   
fn test_parse_headers() {
 6306   8581   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 6307   8582   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 6308   8583   
    assert_eq!(
 6309   8584   
        httparse::parse_headers(buf, &mut headers),
 6310   8585   
        Ok(httparse::Status::Complete((
 6311   8586   
            56,
 6312   8587   
            &[
 6313   8588   
                httparse::Header {
 6314   8589   
                    name: "Host",
 6315   8590   
                    value: b"example.amazonaws.com",
 6316   8591   
                },
 6317   8592   
                httparse::Header {
 6318   8593   
                    name: "X-Amz-Date",
 6319   8594   
                    value: b"20150830T123600Z",
 6320   8595   
                }
 6321   8596   
            ][..]
 6322   8597   
        )))
 6323   8598   
    );
 6324   8599   
}
 6325   8600   
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
 6326   8601   
index a208453..fc00249 100644
 6327         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        8602  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 6328   8603   
@@ -168,52 +168,54 @@ pub mod signing_params {
 6329   8604   
        );
 6330   8605   
 6331   8606   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 6332   8607   
        /// a required argument was not given.
 6333   8608   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 6334   8609   
            Ok(SigningParams {
 6335   8610   
                identity: self
 6336   8611   
                    .identity
 6337   8612   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 6338   8613   
                region: self
 6339   8614   
                    .region
 6340   8615   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 6341   8616   
                name: self
 6342   8617   
                    .name
 6343   8618   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 6344   8619   
                time: self
 6345   8620   
                    .time
 6346   8621   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 6347   8622   
                settings: self
 6348   8623   
                    .settings
 6349   8624   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 6350   8625   
            })
 6351   8626   
        }
 6352   8627   
    }
 6353   8628   
}
 6354   8629   
 6355   8630   
#[cfg(test)]
 6356   8631   
mod tests {
 6357   8632   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 6358   8633   
    use crate::date_time::test_parsers::parse_date_time;
 6359         -
    use crate::http_request::test;
 6360   8634   
 6361   8635   
    #[test]
 6362   8636   
    fn test_signature_calculation() {
 6363   8637   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 6364         -
        let creq = test::v4::test_canonical_request("iam");
        8638  +
        let creq = r#"AWS4-HMAC-SHA256
        8639  +
20150830T123600Z
        8640  +
20150830/us-east-1/iam/aws4_request
        8641  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 6365   8642   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6366   8643   
 6367   8644   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 6368   8645   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 6369   8646   
 6370   8647   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 6371   8648   
        assert_eq!(expected, &signature);
 6372   8649   
    }
 6373   8650   
 6374   8651   
    #[test]
 6375   8652   
    fn sign_payload_empty_string() {
 6376   8653   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 6377   8654   
        let actual = sha256_hex_string([]);
 6378   8655   
        assert_eq!(expected, actual);
 6379   8656   
    }
 6380   8657   
}
 6381   8658   
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
 6382   8659   
index ce78c38..8c2f591 100644
 6383         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        8660  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 6384   8661   
@@ -1,43 +1,43 @@
 6385   8662   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6386   8663   
[package]
 6387   8664   
name = "aws-smithy-checksums"
 6388   8665   
version = "0.63.5"
 6389   8666   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 6390   8667   
description = "Checksum calculation and verification callbacks"
 6391   8668   
edition = "2021"
 6392   8669   
license = "Apache-2.0"
 6393   8670   
repository = "https://github.com/smithy-lang/smithy-rs"
 6394   8671   
[package.metadata.docs.rs]
 6395   8672   
all-features = true
 6396   8673   
targets = ["x86_64-unknown-linux-gnu"]
 6397   8674   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6398   8675   
rustdoc-args = ["--cfg", "docsrs"]
 6399   8676   
 6400   8677   
[dependencies]
 6401   8678   
bytes = "1.10.0"
 6402   8679   
crc-fast = "1.3.0"
 6403   8680   
hex = "0.4.3"
 6404   8681   
http = "0.2.9"
 6405   8682   
http-body = "0.4.5"
 6406   8683   
md-5 = "0.10"
 6407   8684   
pin-project-lite = "0.2.14"
 6408   8685   
sha1 = "0.10"
 6409   8686   
sha2 = "0.10"
 6410   8687   
tracing = "0.1.40"
 6411   8688   
 6412   8689   
[dependencies.aws-smithy-http]
 6413   8690   
path = "../aws-smithy-http"
 6414         -
version = "0.62.2"
        8691  +
version = "0.62.3"
 6415   8692   
 6416   8693   
[dependencies.aws-smithy-types]
 6417   8694   
path = "../aws-smithy-types"
 6418   8695   
version = "1.3.2"
 6419   8696   
 6420   8697   
[dev-dependencies]
 6421   8698   
bytes-utils = "0.1.2"
 6422   8699   
pretty_assertions = "1.3"
 6423   8700   
tracing-test = "0.2.1"
 6424   8701   
 6425   8702   
[dev-dependencies.tokio]
 6426   8703   
version = "1.23.1"
 6427   8704   
features = ["macros", "rt"]
 6428   8705   
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
 6429   8706   
index 970c99e..d3c7a49 100644
 6430         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        8707  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 6431   8708   
@@ -1,34 +1,34 @@
 6432   8709   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6433   8710   
[package]
 6434   8711   
name = "aws-smithy-http"
 6435         -
version = "0.62.2"
        8712  +
version = "0.62.3"
 6436   8713   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6437   8714   
description = "Smithy HTTP logic for smithy-rs."
 6438   8715   
edition = "2021"
 6439   8716   
license = "Apache-2.0"
 6440   8717   
repository = "https://github.com/smithy-lang/smithy-rs"
 6441   8718   
[package.metadata.docs.rs]
 6442   8719   
all-features = true
 6443   8720   
targets = ["x86_64-unknown-linux-gnu"]
 6444   8721   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6445   8722   
rustdoc-args = ["--cfg", "docsrs"]
 6446   8723   
 6447   8724   
[features]
 6448   8725   
event-stream = ["aws-smithy-eventstream"]
 6449   8726   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 6450   8727   
 6451   8728   
[dependencies]
 6452   8729   
bytes = "1.10.0"
 6453   8730   
bytes-utils = "0.1"
 6454   8731   
percent-encoding = "2.3.1"
 6455   8732   
pin-project-lite = "0.2.14"
 6456   8733   
pin-utils = "0.1.0"
 6457   8734   
tracing = "0.1.40"
 6458   8735   
futures-core = "0.3.31"
 6459   8736   
 6460   8737   
[dependencies.aws-smithy-eventstream]
 6461   8738   
path = "../aws-smithy-eventstream"
 6462   8739   
optional = true
 6463   8740   
version = "0.60.10"
 6464   8741   
 6465   8742   
[dependencies.aws-smithy-runtime-api]
 6466   8743   
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
 6467   8744   
index 508f7a2..361545e 100644
 6468         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        8745  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 6469   8746   
@@ -1,27 +1,27 @@
 6470   8747   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6471   8748   
[[bin]]
 6472   8749   
name = "read_many_from_str"
 6473   8750   
path = "fuzz_targets/read_many_from_str.rs"
 6474   8751   
test = false
 6475   8752   
doc = false
 6476   8753   
 6477   8754   
[package]
 6478   8755   
name = "aws-smithy-http-fuzz"
 6479   8756   
version = "0.0.0"
 6480   8757   
authors = ["Automatically generated"]
 6481   8758   
publish = false
 6482   8759   
edition = "2021"
 6483   8760   
 6484   8761   
[package.metadata]
 6485   8762   
cargo-fuzz = true
 6486   8763   
 6487   8764   
[dependencies]
 6488   8765   
libfuzzer-sys = "=0.4.7"
 6489   8766   
http = "0.2.3"
 6490   8767   
 6491   8768   
[dependencies.aws-smithy-http]
 6492   8769   
path = ".."
 6493         -
version = "0.62.2"
        8770  +
version = "0.62.3"
 6494   8771   
 6495   8772   
[workspace]
 6496   8773   
members = ["."]
 6497   8774   
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
 6498   8775   
index fef41d0..2792229 100644
 6499         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        8776  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 6500   8777   
@@ -25,68 +25,74 @@ impl QueryWriter {
 6501   8778   
    pub fn new(uri: &Uri) -> Self {
 6502   8779   
        let new_path_and_query = uri
 6503   8780   
            .path_and_query()
 6504   8781   
            .map(|pq| pq.to_string())
 6505   8782   
            .unwrap_or_default();
 6506   8783   
        let prefix = if uri.query().is_none() {
 6507   8784   
            Some('?')
 6508   8785   
        } else if !uri.query().unwrap_or_default().is_empty() {
 6509   8786   
            Some('&')
 6510   8787   
        } else {
 6511   8788   
            None
 6512   8789   
        };
 6513   8790   
        QueryWriter {
 6514   8791   
            base_uri: uri.clone(),
 6515   8792   
            new_path_and_query,
 6516   8793   
            prefix,
 6517   8794   
        }
 6518   8795   
    }
 6519   8796   
 6520   8797   
    /// Clears all query parameters.
 6521   8798   
    pub fn clear_params(&mut self) {
 6522   8799   
        if let Some(index) = self.new_path_and_query.find('?') {
 6523   8800   
            self.new_path_and_query.truncate(index);
 6524   8801   
            self.prefix = Some('?');
 6525   8802   
        }
 6526   8803   
    }
 6527   8804   
 6528   8805   
    /// Inserts a new query parameter. The key and value are percent encoded
 6529   8806   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 6530   8807   
    pub fn insert(&mut self, k: &str, v: &str) {
        8808  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        8809  +
    }
        8810  +
    
        8811  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        8812  +
    /// as is.
        8813  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 6531   8814   
        if let Some(prefix) = self.prefix {
 6532   8815   
            self.new_path_and_query.push(prefix);
 6533   8816   
        }
 6534   8817   
        self.prefix = Some('&');
 6535         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        8818  +
        self.new_path_and_query.push_str(encoded_k);
 6536   8819   
        self.new_path_and_query.push('=');
        8820  +
        self.new_path_and_query.push_str(encoded_v)
 6537   8821   
        
 6538         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
 6539   8822   
    }
 6540   8823   
 6541   8824   
    /// Returns just the built query string.
 6542   8825   
    pub fn build_query(self) -> String {
 6543   8826   
        self.build_uri().query().unwrap_or_default().to_string()
 6544   8827   
    }
 6545   8828   
 6546   8829   
    /// Returns a full [`Uri`] with the query string updated.
 6547   8830   
    pub fn build_uri(self) -> Uri {
 6548   8831   
        let mut parts = self.base_uri.into_parts();
 6549   8832   
        parts.path_and_query = Some(
 6550   8833   
            self.new_path_and_query
 6551   8834   
                .parse()
 6552   8835   
                .expect("adding query should not invalidate URI"),
 6553   8836   
        );
 6554   8837   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 6555   8838   
    }
 6556   8839   
}
 6557   8840   
 6558   8841   
#[cfg(test)]
 6559   8842   
mod test {
 6560   8843   
    use super::QueryWriter;
 6561   8844   
    use http_02x::Uri;
 6562   8845   
 6563   8846   
    #[test]
 6564   8847   
    fn empty_uri() {
 6565   8848   
        let uri = Uri::from_static("http://www.example.com");
 6566   8849   
        let mut query_writer = QueryWriter::new(&uri);
 6567   8850   
        query_writer.insert("key", "val%ue");
 6568   8851   
        query_writer.insert("another", "value");
 6569   8852   
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
 6570   8853   
index f108978..df7a9fe 100644
 6571         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
        8854  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 6572   8855   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 6573   8856   
 6574   8857   
[package.metadata.smithy-rs-release-tooling]
 6575   8858   
stable = true
 6576   8859   
[package.metadata.cargo-udeps.ignore]
 6577   8860   
normal = ["aws-smithy-http"]
 6578   8861   
 6579   8862   
[features]
 6580   8863   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 6581   8864   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 6582   8865   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 6583   8866   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 6584   8867   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 6585   8868   
rt-tokio = ["tokio/rt"]
 6586   8869   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 6587   8870   
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"]
 6588   8871   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 6589   8872   
 6590   8873   
[dependencies]
 6591   8874   
bytes = "1.10.0"
 6592   8875   
fastrand = "2.3.0"
 6593   8876   
pin-project-lite = "0.2.14"
 6594   8877   
pin-utils = "0.1.0"
 6595   8878   
tracing = "0.1.40"
 6596   8879   
 6597   8880   
[dependencies.aws-smithy-async]
 6598   8881   
path = "../aws-smithy-async"
 6599   8882   
version = "1.2.5"
 6600   8883   
 6601   8884   
[dependencies.aws-smithy-http]
 6602   8885   
path = "../aws-smithy-http"
 6603         -
version = "0.62.2"
        8886  +
version = "0.62.3"
 6604   8887   
 6605   8888   
[dependencies.aws-smithy-observability]
 6606   8889   
path = "../aws-smithy-observability"
 6607   8890   
version = "0.1.3"
 6608   8891   
 6609   8892   
[dependencies.aws-smithy-runtime-api]
 6610   8893   
path = "../aws-smithy-runtime-api"
 6611   8894   
version = "1.8.5"
 6612   8895   
 6613   8896   
[dependencies.aws-smithy-types]
 6614   8897   
path = "../aws-smithy-types"
 6615   8898   
features = ["http-body-0-4-x"]
 6616   8899   
version = "1.3.2"
 6617   8900   
 6618   8901   
[dependencies.aws-smithy-http-client]
 6619   8902   
path = "../aws-smithy-http-client"
 6620   8903   
optional = true
 6621   8904   
version = "1.0.6"
 6622   8905   
 6623   8906   
[dependencies.http-02x]
 6624   8907   
package = "http"
 6625   8908   
version = "0.2.9"
 6626   8909   
 6627   8910   
[dependencies.http-1x]
 6628   8911   
package = "http"
 6629   8912   
version = "1"
 6630   8913   
 6631   8914   
[dependencies.http-body-04x]
 6632   8915   
package = "http-body"
 6633   8916   
version = "0.4.5"
 6634   8917   
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
 6635   8918   
index 4e050c6..f58eb1c 100644
 6636         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
        8919  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 6637   8920   
@@ -1,33 +1,33 @@
 6638   8921   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6639   8922   
[package]
 6640   8923   
name = "aws-smithy-wasm"
 6641   8924   
version = "0.1.4"
 6642   8925   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 6643   8926   
description = "Smithy WebAssembly configuration for smithy-rs."
 6644   8927   
edition = "2021"
 6645   8928   
license = "Apache-2.0"
 6646   8929   
repository = "https://github.com/awslabs/smithy-rs"
 6647   8930   
[package.metadata.docs.rs]
 6648   8931   
all-features = true
 6649   8932   
targets = ["x86_64-unknown-linux-gnu"]
 6650   8933   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6651   8934   
rustdoc-args = ["--cfg", "docsrs"]
 6652   8935   
 6653   8936   
[dependencies]
 6654   8937   
bytes = "1.10.0"
 6655   8938   
http = "1.0.0"
 6656   8939   
tracing = "0.1.40"
 6657   8940   
wasi = "0.12.1"
 6658   8941   
 6659   8942   
[dependencies.aws-smithy-runtime-api]
 6660   8943   
path = "../aws-smithy-runtime-api"
 6661   8944   
features = ["http-1x"]
 6662   8945   
version = "1.8.5"
 6663   8946   
 6664   8947   
[dependencies.aws-smithy-http]
 6665   8948   
path = "../aws-smithy-http"
 6666         -
version = "0.62.2"
        8949  +
version = "0.62.3"
 6667   8950   
 6668   8951   
[dependencies.aws-smithy-types]
 6669   8952   
path = "../aws-smithy-types"
 6670   8953   
version = "1.3.2"
 6671   8954   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6672   8955   
index a880648..139e808 100644
 6673         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
        8956  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6674   8957   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 6675   8958   
edition = "2021"
 6676   8959   
license = "Apache-2.0"
 6677   8960   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6678   8961   
rust-version = "1.86.0"
 6679   8962   
readme = "README.md"
 6680   8963   
[package.metadata.smithy]
 6681   8964   
codegen-version = "ci"
 6682   8965   
[package.metadata.docs.rs]
 6683   8966   
all-features = true
 6684   8967   
targets = ["x86_64-unknown-linux-gnu"]
 6685   8968   
[dependencies.aws-credential-types]
 6686   8969   
path = "../aws-credential-types"
 6687   8970   
version = "1.2.4"
 6688   8971   
 6689   8972   
[dependencies.aws-runtime]
 6690   8973   
path = "../aws-runtime"
 6691   8974   
features = ["event-stream"]
 6692   8975   
version = "1.5.9"
 6693   8976   
 6694   8977   
[dependencies.aws-smithy-async]
 6695   8978   
path = "../aws-smithy-async"
 6696   8979   
version = "1.2.5"
 6697   8980   
 6698   8981   
[dependencies.aws-smithy-eventstream]
 6699   8982   
path = "../aws-smithy-eventstream"
 6700   8983   
version = "0.60.10"
 6701   8984   
 6702   8985   
[dependencies.aws-smithy-http]
 6703   8986   
path = "../aws-smithy-http"
 6704   8987   
features = ["event-stream"]
 6705         -
version = "0.62.2"
        8988  +
version = "0.62.3"
 6706   8989   
 6707   8990   
[dependencies.aws-smithy-json]
 6708   8991   
path = "../aws-smithy-json"
 6709   8992   
version = "0.61.4"
 6710   8993   
 6711   8994   
[dependencies.aws-smithy-runtime]
 6712   8995   
path = "../aws-smithy-runtime"
 6713   8996   
features = ["client"]
 6714   8997   
version = "1.8.5"
 6715   8998   
 6716   8999   
[dependencies.aws-smithy-runtime-api]
 6717   9000   
path = "../aws-smithy-runtime-api"
 6718   9001   
features = ["client", "http-02x"]
 6719   9002   
version = "1.8.5"
 6720   9003   
 6721   9004   
[dependencies.aws-smithy-types]
 6722   9005   
path = "../aws-smithy-types"
 6723   9006   
version = "1.3.2"
 6724   9007   
 6725   9008   
[dependencies.aws-types]
 6726   9009   
path = "../aws-types"
 6727   9010   
version = "1.3.8"
 6728   9011   
 6729   9012   
[dependencies.bytes]
 6730   9013   
version = "1.4.0"
 6731   9014   
 6732   9015   
[dependencies.fastrand]
 6733   9016   
version = "2.0.0"
 6734   9017   
 6735   9018   
[dependencies.http]
 6736   9019   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6737   9020   
index 415ecc9..667d12b 100644
 6738         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
        9021  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6739   9022   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 6740   9023   
edition = "2021"
 6741   9024   
license = "Apache-2.0"
 6742   9025   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6743   9026   
rust-version = "1.86.0"
 6744   9027   
readme = "README.md"
 6745   9028   
[package.metadata.smithy]
 6746   9029   
codegen-version = "ci"
 6747   9030   
[package.metadata.docs.rs]
 6748   9031   
all-features = true
 6749   9032   
targets = ["x86_64-unknown-linux-gnu"]
 6750   9033   
[dependencies.aws-credential-types]
 6751   9034   
path = "../aws-credential-types"
 6752   9035   
version = "1.2.4"
 6753   9036   
 6754   9037   
[dependencies.aws-runtime]
 6755   9038   
path = "../aws-runtime"
 6756   9039   
features = ["event-stream"]
 6757   9040   
version = "1.5.9"
 6758   9041   
 6759   9042   
[dependencies.aws-smithy-async]
 6760   9043   
path = "../aws-smithy-async"
 6761   9044   
version = "1.2.5"
 6762   9045   
 6763   9046   
[dependencies.aws-smithy-eventstream]
 6764   9047   
path = "../aws-smithy-eventstream"
 6765   9048   
version = "0.60.10"
 6766   9049   
 6767   9050   
[dependencies.aws-smithy-http]
 6768   9051   
path = "../aws-smithy-http"
 6769   9052   
features = ["event-stream"]
 6770         -
version = "0.62.2"
        9053  +
version = "0.62.3"
 6771   9054   
 6772   9055   
[dependencies.aws-smithy-json]
 6773   9056   
path = "../aws-smithy-json"
 6774   9057   
version = "0.61.4"
 6775   9058   
 6776   9059   
[dependencies.aws-smithy-runtime]
 6777   9060   
path = "../aws-smithy-runtime"
 6778   9061   
features = ["client"]
 6779   9062   
version = "1.8.5"
 6780   9063   
 6781   9064   
[dependencies.aws-smithy-runtime-api]
 6782   9065   
path = "../aws-smithy-runtime-api"
 6783   9066   
features = ["client", "http-02x"]
 6784   9067   
version = "1.8.5"
 6785   9068   
 6786   9069   
[dependencies.aws-smithy-types]
 6787   9070   
path = "../aws-smithy-types"
 6788   9071   
version = "1.3.2"
 6789   9072   
 6790   9073   
[dependencies.aws-types]
 6791   9074   
path = "../aws-types"
 6792   9075   
version = "1.3.8"
 6793   9076   
 6794   9077   
[dependencies.bytes]
 6795   9078   
version = "1.4.0"
 6796   9079   
 6797   9080   
[dependencies.fastrand]
 6798   9081   
version = "2.0.0"
 6799   9082   
 6800   9083   
[dependencies.http]
 6801   9084   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6802   9085   
index 8871cab..ed88de6 100644
 6803         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
        9086  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6804   9087   
@@ -1,61 +1,61 @@
 6805   9088   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6806   9089   
[package]
 6807   9090   
name = "aws-sdk-codecatalyst"
 6808   9091   
version = "0.0.0-local"
 6809   9092   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6810   9093   
description = "AWS SDK for Amazon CodeCatalyst"
 6811   9094   
edition = "2021"
 6812   9095   
license = "Apache-2.0"
 6813   9096   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6814   9097   
rust-version = "1.86.0"
 6815   9098   
readme = "README.md"
 6816   9099   
[package.metadata.smithy]
 6817   9100   
codegen-version = "ci"
 6818   9101   
[package.metadata.docs.rs]
 6819   9102   
all-features = true
 6820   9103   
targets = ["x86_64-unknown-linux-gnu"]
 6821   9104   
[dependencies.aws-credential-types]
 6822   9105   
path = "../aws-credential-types"
 6823   9106   
version = "1.2.4"
 6824   9107   
 6825   9108   
[dependencies.aws-runtime]
 6826   9109   
path = "../aws-runtime"
 6827   9110   
version = "1.5.9"
 6828   9111   
 6829   9112   
[dependencies.aws-smithy-async]
 6830   9113   
path = "../aws-smithy-async"
 6831   9114   
version = "1.2.5"
 6832   9115   
 6833   9116   
[dependencies.aws-smithy-http]
 6834   9117   
path = "../aws-smithy-http"
 6835         -
version = "0.62.2"
        9118  +
version = "0.62.3"
 6836   9119   
 6837   9120   
[dependencies.aws-smithy-json]
 6838   9121   
path = "../aws-smithy-json"
 6839   9122   
version = "0.61.4"
 6840   9123   
 6841   9124   
[dependencies.aws-smithy-runtime]
 6842   9125   
path = "../aws-smithy-runtime"
 6843   9126   
features = ["client", "http-auth"]
 6844   9127   
version = "1.8.5"
 6845   9128   
 6846   9129   
[dependencies.aws-smithy-runtime-api]
 6847   9130   
path = "../aws-smithy-runtime-api"
 6848   9131   
features = ["client", "http-02x", "http-auth"]
 6849   9132   
version = "1.8.5"
 6850   9133   
 6851   9134   
[dependencies.aws-smithy-types]
 6852   9135   
path = "../aws-smithy-types"
 6853   9136   
version = "1.3.2"
 6854   9137   
 6855   9138   
[dependencies.aws-types]
 6856   9139   
path = "../aws-types"
 6857   9140   
version = "1.3.8"
 6858   9141   
 6859   9142   
[dependencies.bytes]
 6860   9143   
version = "1.4.0"
 6861   9144   
 6862   9145   
[dependencies.fastrand]
 6863   9146   
version = "2.0.0"
 6864   9147   
 6865   9148   
[dependencies.http]
 6866   9149   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6867   9150   
index 89573ff..05238af 100644
 6868         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
        9151  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6869   9152   
@@ -1,61 +1,61 @@
 6870   9153   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6871   9154   
[package]
 6872   9155   
name = "aws-sdk-config"
 6873   9156   
version = "0.0.0-local"
 6874   9157   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6875   9158   
description = "AWS SDK for AWS Config"
 6876   9159   
edition = "2021"
 6877   9160   
license = "Apache-2.0"
 6878   9161   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6879   9162   
rust-version = "1.86.0"
 6880   9163   
readme = "README.md"
 6881   9164   
[package.metadata.smithy]
 6882   9165   
codegen-version = "ci"
 6883   9166   
[package.metadata.docs.rs]
 6884   9167   
all-features = true
 6885   9168   
targets = ["x86_64-unknown-linux-gnu"]
 6886   9169   
[dependencies.aws-credential-types]
 6887   9170   
path = "../aws-credential-types"
 6888   9171   
version = "1.2.4"
 6889   9172   
 6890   9173   
[dependencies.aws-runtime]
 6891   9174   
path = "../aws-runtime"
 6892   9175   
version = "1.5.9"
 6893   9176   
 6894   9177   
[dependencies.aws-smithy-async]
 6895   9178   
path = "../aws-smithy-async"
 6896   9179   
version = "1.2.5"
 6897   9180   
 6898   9181   
[dependencies.aws-smithy-http]
 6899   9182   
path = "../aws-smithy-http"
 6900         -
version = "0.62.2"
        9183  +
version = "0.62.3"
 6901   9184   
 6902   9185   
[dependencies.aws-smithy-json]
 6903   9186   
path = "../aws-smithy-json"
 6904   9187   
version = "0.61.4"
 6905   9188   
 6906   9189   
[dependencies.aws-smithy-runtime]
 6907   9190   
path = "../aws-smithy-runtime"
 6908   9191   
features = ["client"]
 6909   9192   
version = "1.8.5"
 6910   9193   
 6911   9194   
[dependencies.aws-smithy-runtime-api]
 6912   9195   
path = "../aws-smithy-runtime-api"
 6913   9196   
features = ["client", "http-02x"]
 6914   9197   
version = "1.8.5"
 6915   9198   
 6916   9199   
[dependencies.aws-smithy-types]
 6917   9200   
path = "../aws-smithy-types"
 6918   9201   
version = "1.3.2"
 6919   9202   
 6920   9203   
[dependencies.aws-types]
 6921   9204   
path = "../aws-types"
 6922   9205   
version = "1.3.8"
 6923   9206   
 6924   9207   
[dependencies.bytes]
 6925   9208   
version = "1.4.0"
 6926   9209   
 6927   9210   
[dependencies.fastrand]
 6928   9211   
version = "2.0.0"
 6929   9212   
 6930   9213   
[dependencies.http]
 6931   9214   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 6932   9215   
index d397c58..2c1062b 100644
 6933         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
        9216  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 6934   9217   
@@ -1,61 +1,61 @@
 6935   9218   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6936   9219   
[package]
 6937   9220   
name = "aws-sdk-dynamodb"
 6938   9221   
version = "0.0.0-local"
 6939   9222   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6940   9223   
description = "AWS SDK for Amazon DynamoDB"
 6941   9224   
edition = "2021"
 6942   9225   
license = "Apache-2.0"
 6943   9226   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6944   9227   
rust-version = "1.86.0"
 6945   9228   
readme = "README.md"
 6946   9229   
[package.metadata.smithy]
 6947   9230   
codegen-version = "ci"
 6948   9231   
[package.metadata.docs.rs]
 6949   9232   
all-features = true
 6950   9233   
targets = ["x86_64-unknown-linux-gnu"]
 6951   9234   
[dependencies.aws-credential-types]
 6952   9235   
path = "../aws-credential-types"
 6953   9236   
version = "1.2.4"
 6954   9237   
 6955   9238   
[dependencies.aws-runtime]
 6956   9239   
path = "../aws-runtime"
 6957   9240   
version = "1.5.9"
 6958   9241   
 6959   9242   
[dependencies.aws-smithy-async]
 6960   9243   
path = "../aws-smithy-async"
 6961   9244   
version = "1.2.5"
 6962   9245   
 6963   9246   
[dependencies.aws-smithy-http]
 6964   9247   
path = "../aws-smithy-http"
 6965         -
version = "0.62.2"
        9248  +
version = "0.62.3"
 6966   9249   
 6967   9250   
[dependencies.aws-smithy-json]
 6968   9251   
path = "../aws-smithy-json"
 6969   9252   
version = "0.61.4"
 6970   9253   
 6971   9254   
[dependencies.aws-smithy-runtime]
 6972   9255   
path = "../aws-smithy-runtime"
 6973   9256   
features = ["client"]
 6974   9257   
version = "1.8.5"
 6975   9258   
 6976   9259   
[dependencies.aws-smithy-runtime-api]
 6977   9260   
path = "../aws-smithy-runtime-api"
 6978   9261   
features = ["client", "http-02x"]
 6979   9262   
version = "1.8.5"
 6980   9263   
 6981   9264   
[dependencies.aws-smithy-types]
 6982   9265   
path = "../aws-smithy-types"
 6983   9266   
version = "1.3.2"
 6984   9267   
 6985   9268   
[dependencies.aws-types]
 6986   9269   
path = "../aws-types"
 6987   9270   
version = "1.3.8"
 6988   9271   
 6989   9272   
[dependencies.bytes]
 6990   9273   
version = "1.4.0"
 6991   9274   
 6992   9275   
[dependencies.fastrand]
 6993   9276   
version = "2.0.0"
 6994   9277   
 6995   9278   
[dependencies.http]
 6996   9279   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 6997   9280   
index c0ba315..46168af 100644
 6998         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
        9281  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 6999   9282   
@@ -1,61 +1,61 @@
 7000   9283   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7001   9284   
[package]
 7002   9285   
name = "aws-sdk-ec2"
 7003   9286   
version = "0.0.0-local"
 7004   9287   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7005   9288   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 7006   9289   
edition = "2021"
 7007   9290   
license = "Apache-2.0"
 7008   9291   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7009   9292   
rust-version = "1.86.0"
 7010   9293   
readme = "README.md"
 7011   9294   
[package.metadata.smithy]
 7012   9295   
codegen-version = "ci"
 7013   9296   
[package.metadata.docs.rs]
 7014   9297   
all-features = true
 7015   9298   
targets = ["x86_64-unknown-linux-gnu"]
 7016   9299   
[dependencies.aws-credential-types]
 7017   9300   
path = "../aws-credential-types"
 7018   9301   
version = "1.2.4"
 7019   9302   
 7020   9303   
[dependencies.aws-runtime]
 7021   9304   
path = "../aws-runtime"
 7022   9305   
version = "1.5.9"
 7023   9306   
 7024   9307   
[dependencies.aws-smithy-async]
 7025   9308   
path = "../aws-smithy-async"
 7026   9309   
version = "1.2.5"
 7027   9310   
 7028   9311   
[dependencies.aws-smithy-http]
 7029   9312   
path = "../aws-smithy-http"
 7030         -
version = "0.62.2"
        9313  +
version = "0.62.3"
 7031   9314   
 7032   9315   
[dependencies.aws-smithy-json]
 7033   9316   
path = "../aws-smithy-json"
 7034   9317   
version = "0.61.4"
 7035   9318   
 7036   9319   
[dependencies.aws-smithy-query]
 7037   9320   
path = "../aws-smithy-query"
 7038   9321   
version = "0.60.7"
 7039   9322   
 7040   9323   
[dependencies.aws-smithy-runtime]
 7041   9324   
path = "../aws-smithy-runtime"
 7042   9325   
features = ["client"]
 7043   9326   
version = "1.8.5"
 7044   9327   
 7045   9328   
[dependencies.aws-smithy-runtime-api]
 7046   9329   
path = "../aws-smithy-runtime-api"
 7047   9330   
features = ["client", "http-02x"]
 7048   9331   
version = "1.8.5"
 7049   9332   
 7050   9333   
[dependencies.aws-smithy-types]
 7051   9334   
path = "../aws-smithy-types"
 7052   9335   
version = "1.3.2"
 7053   9336   
 7054   9337   
[dependencies.aws-smithy-xml]
 7055   9338   
path = "../aws-smithy-xml"
 7056   9339   
version = "0.60.10"
 7057   9340   
 7058   9341   
[dependencies.aws-types]
 7059   9342   
path = "../aws-types"
 7060   9343   
version = "1.3.8"
 7061   9344   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7062   9345   
index 4474d17..095d40e 100644
 7063         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
        9346  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7064   9347   
@@ -1,61 +1,61 @@
 7065   9348   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7066   9349   
[package]
 7067   9350   
name = "aws-sdk-ecs"
 7068   9351   
version = "0.0.0-local"
 7069   9352   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7070   9353   
description = "AWS SDK for Amazon EC2 Container Service"
 7071   9354   
edition = "2021"
 7072   9355   
license = "Apache-2.0"
 7073   9356   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7074   9357   
rust-version = "1.86.0"
 7075   9358   
readme = "README.md"
 7076   9359   
[package.metadata.smithy]
 7077   9360   
codegen-version = "ci"
 7078   9361   
[package.metadata.docs.rs]
 7079   9362   
all-features = true
 7080   9363   
targets = ["x86_64-unknown-linux-gnu"]
 7081   9364   
[dependencies.aws-credential-types]
 7082   9365   
path = "../aws-credential-types"
 7083   9366   
version = "1.2.4"
 7084   9367   
 7085   9368   
[dependencies.aws-runtime]
 7086   9369   
path = "../aws-runtime"
 7087   9370   
version = "1.5.9"
 7088   9371   
 7089   9372   
[dependencies.aws-smithy-async]
 7090   9373   
path = "../aws-smithy-async"
 7091   9374   
version = "1.2.5"
 7092   9375   
 7093   9376   
[dependencies.aws-smithy-http]
 7094   9377   
path = "../aws-smithy-http"
 7095         -
version = "0.62.2"
        9378  +
version = "0.62.3"
 7096   9379   
 7097   9380   
[dependencies.aws-smithy-json]
 7098   9381   
path = "../aws-smithy-json"
 7099   9382   
version = "0.61.4"
 7100   9383   
 7101   9384   
[dependencies.aws-smithy-runtime]
 7102   9385   
path = "../aws-smithy-runtime"
 7103   9386   
features = ["client"]
 7104   9387   
version = "1.8.5"
 7105   9388   
 7106   9389   
[dependencies.aws-smithy-runtime-api]
 7107   9390   
path = "../aws-smithy-runtime-api"
 7108   9391   
features = ["client", "http-02x"]
 7109   9392   
version = "1.8.5"
 7110   9393   
 7111   9394   
[dependencies.aws-smithy-types]
 7112   9395   
path = "../aws-smithy-types"
 7113   9396   
version = "1.3.2"
 7114   9397   
 7115   9398   
[dependencies.aws-types]
 7116   9399   
path = "../aws-types"
 7117   9400   
version = "1.3.8"
 7118   9401   
 7119   9402   
[dependencies.bytes]
 7120   9403   
version = "1.4.0"
 7121   9404   
 7122   9405   
[dependencies.fastrand]
 7123   9406   
version = "2.0.0"
 7124   9407   
 7125   9408   
[dependencies.http]
 7126   9409   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7127   9410   
index 15b1d77..16d7d89 100644
 7128         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
        9411  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7129   9412   
@@ -1,65 +1,65 @@
 7130   9413   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7131   9414   
[package]
 7132   9415   
name = "aws-sdk-glacier"
 7133   9416   
version = "0.0.0-local"
 7134   9417   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7135   9418   
description = "AWS SDK for Amazon Glacier"
 7136   9419   
edition = "2021"
 7137   9420   
license = "Apache-2.0"
 7138   9421   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7139   9422   
rust-version = "1.86.0"
 7140   9423   
readme = "README.md"
 7141   9424   
[package.metadata.smithy]
 7142   9425   
codegen-version = "ci"
 7143   9426   
[package.metadata.docs.rs]
 7144   9427   
all-features = true
 7145   9428   
targets = ["x86_64-unknown-linux-gnu"]
 7146   9429   
[dependencies.aws-credential-types]
 7147   9430   
path = "../aws-credential-types"
 7148   9431   
version = "1.2.4"
 7149   9432   
 7150   9433   
[dependencies.aws-runtime]
 7151   9434   
path = "../aws-runtime"
 7152   9435   
version = "1.5.9"
 7153   9436   
 7154   9437   
[dependencies.aws-sigv4]
 7155   9438   
path = "../aws-sigv4"
 7156         -
version = "1.3.3"
        9439  +
version = "1.3.4"
 7157   9440   
 7158   9441   
[dependencies.aws-smithy-async]
 7159   9442   
path = "../aws-smithy-async"
 7160   9443   
version = "1.2.5"
 7161   9444   
 7162   9445   
[dependencies.aws-smithy-http]
 7163   9446   
path = "../aws-smithy-http"
 7164         -
version = "0.62.2"
        9447  +
version = "0.62.3"
 7165   9448   
 7166   9449   
[dependencies.aws-smithy-json]
 7167   9450   
path = "../aws-smithy-json"
 7168   9451   
version = "0.61.4"
 7169   9452   
 7170   9453   
[dependencies.aws-smithy-runtime]
 7171   9454   
path = "../aws-smithy-runtime"
 7172   9455   
features = ["client"]
 7173   9456   
version = "1.8.5"
 7174   9457   
 7175   9458   
[dependencies.aws-smithy-runtime-api]
 7176   9459   
path = "../aws-smithy-runtime-api"
 7177   9460   
features = ["client", "http-02x"]
 7178   9461   
version = "1.8.5"
 7179   9462   
 7180   9463   
[dependencies.aws-smithy-types]
 7181   9464   
path = "../aws-smithy-types"
 7182   9465   
version = "1.3.2"
 7183   9466   
 7184   9467   
[dependencies.aws-types]
 7185   9468   
path = "../aws-types"
 7186   9469   
version = "1.3.8"
 7187   9470   
 7188   9471   
[dependencies.bytes]
 7189   9472   
version = "1.4.0"
 7190   9473   
 7191   9474   
[dependencies.fastrand]
 7192   9475   
version = "2.0.0"
 7193   9476   
 7194   9477   
[dependencies.hex]
 7195   9478   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7196   9479   
index d718a3a..65e6f24 100644
 7197         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
        9480  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7198   9481   
@@ -1,61 +1,61 @@
 7199   9482   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7200   9483   
[package]
 7201   9484   
name = "aws-sdk-iam"
 7202   9485   
version = "0.0.0-local"
 7203   9486   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7204   9487   
description = "AWS SDK for AWS Identity and Access Management"
 7205   9488   
edition = "2021"
 7206   9489   
license = "Apache-2.0"
 7207   9490   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7208   9491   
rust-version = "1.86.0"
 7209   9492   
readme = "README.md"
 7210   9493   
[package.metadata.smithy]
 7211   9494   
codegen-version = "ci"
 7212   9495   
[package.metadata.docs.rs]
 7213   9496   
all-features = true
 7214   9497   
targets = ["x86_64-unknown-linux-gnu"]
 7215   9498   
[dependencies.aws-credential-types]
 7216   9499   
path = "../aws-credential-types"
 7217   9500   
version = "1.2.4"
 7218   9501   
 7219   9502   
[dependencies.aws-runtime]
 7220   9503   
path = "../aws-runtime"
 7221   9504   
version = "1.5.9"
 7222   9505   
 7223   9506   
[dependencies.aws-smithy-async]
 7224   9507   
path = "../aws-smithy-async"
 7225   9508   
version = "1.2.5"
 7226   9509   
 7227   9510   
[dependencies.aws-smithy-http]
 7228   9511   
path = "../aws-smithy-http"
 7229         -
version = "0.62.2"
        9512  +
version = "0.62.3"
 7230   9513   
 7231   9514   
[dependencies.aws-smithy-json]
 7232   9515   
path = "../aws-smithy-json"
 7233   9516   
version = "0.61.4"
 7234   9517   
 7235   9518   
[dependencies.aws-smithy-query]
 7236   9519   
path = "../aws-smithy-query"
 7237   9520   
version = "0.60.7"
 7238   9521   
 7239   9522   
[dependencies.aws-smithy-runtime]
 7240   9523   
path = "../aws-smithy-runtime"
 7241   9524   
features = ["client"]
 7242   9525   
version = "1.8.5"
 7243   9526   
 7244   9527   
[dependencies.aws-smithy-runtime-api]
 7245   9528   
path = "../aws-smithy-runtime-api"
 7246   9529   
features = ["client", "http-02x"]
 7247   9530   
version = "1.8.5"
 7248   9531   
 7249   9532   
[dependencies.aws-smithy-types]
 7250   9533   
path = "../aws-smithy-types"
 7251   9534   
version = "1.3.2"
 7252   9535   
 7253   9536   
[dependencies.aws-smithy-xml]
 7254   9537   
path = "../aws-smithy-xml"
 7255   9538   
version = "0.60.10"
 7256   9539   
 7257   9540   
[dependencies.aws-types]
 7258   9541   
path = "../aws-types"
 7259   9542   
version = "1.3.8"
 7260   9543   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7261   9544   
index 0ed4302..3d828a5 100644
 7262         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
        9545  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7263   9546   
@@ -1,61 +1,61 @@
 7264   9547   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7265   9548   
[package]
 7266   9549   
name = "aws-sdk-kms"
 7267   9550   
version = "0.0.0-local"
 7268   9551   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7269   9552   
description = "AWS SDK for AWS Key Management Service"
 7270   9553   
edition = "2021"
 7271   9554   
license = "Apache-2.0"
 7272   9555   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7273   9556   
rust-version = "1.86.0"
 7274   9557   
readme = "README.md"
 7275   9558   
[package.metadata.smithy]
 7276   9559   
codegen-version = "ci"
 7277   9560   
[package.metadata.docs.rs]
 7278   9561   
all-features = true
 7279   9562   
targets = ["x86_64-unknown-linux-gnu"]
 7280   9563   
[dependencies.aws-credential-types]
 7281   9564   
path = "../aws-credential-types"
 7282   9565   
version = "1.2.4"
 7283   9566   
 7284   9567   
[dependencies.aws-runtime]
 7285   9568   
path = "../aws-runtime"
 7286   9569   
version = "1.5.9"
 7287   9570   
 7288   9571   
[dependencies.aws-smithy-async]
 7289   9572   
path = "../aws-smithy-async"
 7290   9573   
version = "1.2.5"
 7291   9574   
 7292   9575   
[dependencies.aws-smithy-http]
 7293   9576   
path = "../aws-smithy-http"
 7294         -
version = "0.62.2"
        9577  +
version = "0.62.3"
 7295   9578   
 7296   9579   
[dependencies.aws-smithy-json]
 7297   9580   
path = "../aws-smithy-json"
 7298   9581   
version = "0.61.4"
 7299   9582   
 7300   9583   
[dependencies.aws-smithy-runtime]
 7301   9584   
path = "../aws-smithy-runtime"
 7302   9585   
features = ["client"]
 7303   9586   
version = "1.8.5"
 7304   9587   
 7305   9588   
[dependencies.aws-smithy-runtime-api]
 7306   9589   
path = "../aws-smithy-runtime-api"
 7307   9590   
features = ["client", "http-02x"]
 7308   9591   
version = "1.8.5"
 7309   9592   
 7310   9593   
[dependencies.aws-smithy-types]
 7311   9594   
path = "../aws-smithy-types"
 7312   9595   
version = "1.3.2"
 7313   9596   
 7314   9597   
[dependencies.aws-types]
 7315   9598   
path = "../aws-types"
 7316   9599   
version = "1.3.8"
 7317   9600   
 7318   9601   
[dependencies.bytes]
 7319   9602   
version = "1.4.0"
 7320   9603   
 7321   9604   
[dependencies.fastrand]
 7322   9605   
version = "2.0.0"
 7323   9606   
 7324   9607   
[dependencies.http]
 7325   9608   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7326   9609   
index 6518dfc..6b94752 100644
 7327         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
        9610  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7328   9611   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 7329   9612   
edition = "2021"
 7330   9613   
license = "Apache-2.0"
 7331   9614   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7332   9615   
rust-version = "1.86.0"
 7333   9616   
readme = "README.md"
 7334   9617   
[package.metadata.smithy]
 7335   9618   
codegen-version = "ci"
 7336   9619   
[package.metadata.docs.rs]
 7337   9620   
all-features = true
 7338   9621   
targets = ["x86_64-unknown-linux-gnu"]
 7339   9622   
[dependencies.aws-credential-types]
 7340   9623   
path = "../aws-credential-types"
 7341   9624   
version = "1.2.4"
 7342   9625   
 7343   9626   
[dependencies.aws-runtime]
 7344   9627   
path = "../aws-runtime"
 7345   9628   
features = ["event-stream"]
 7346   9629   
version = "1.5.9"
 7347   9630   
 7348   9631   
[dependencies.aws-smithy-async]
 7349   9632   
path = "../aws-smithy-async"
 7350   9633   
version = "1.2.5"
 7351   9634   
 7352   9635   
[dependencies.aws-smithy-eventstream]
 7353   9636   
path = "../aws-smithy-eventstream"
 7354   9637   
version = "0.60.10"
 7355   9638   
 7356   9639   
[dependencies.aws-smithy-http]
 7357   9640   
path = "../aws-smithy-http"
 7358   9641   
features = ["event-stream"]
 7359         -
version = "0.62.2"
        9642  +
version = "0.62.3"
 7360   9643   
 7361   9644   
[dependencies.aws-smithy-json]
 7362   9645   
path = "../aws-smithy-json"
 7363   9646   
version = "0.61.4"
 7364   9647   
 7365   9648   
[dependencies.aws-smithy-runtime]
 7366   9649   
path = "../aws-smithy-runtime"
 7367   9650   
features = ["client"]
 7368   9651   
version = "1.8.5"
 7369   9652   
 7370   9653   
[dependencies.aws-smithy-runtime-api]
 7371   9654   
path = "../aws-smithy-runtime-api"
 7372   9655   
features = ["client", "http-02x"]
 7373   9656   
version = "1.8.5"
 7374   9657   
 7375   9658   
[dependencies.aws-smithy-types]
 7376   9659   
path = "../aws-smithy-types"
 7377   9660   
version = "1.3.2"
 7378   9661   
 7379   9662   
[dependencies.aws-types]
 7380   9663   
path = "../aws-types"
 7381   9664   
version = "1.3.8"
 7382   9665   
 7383   9666   
[dependencies.bytes]
 7384   9667   
version = "1.4.0"
 7385   9668   
 7386   9669   
[dependencies.fastrand]
 7387   9670   
version = "2.0.0"
 7388   9671   
 7389   9672   
[dependencies.http]
 7390   9673   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7391   9674   
index dabb0e0..34cbc15 100644
 7392         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
        9675  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7393   9676   
@@ -1,65 +1,65 @@
 7394   9677   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7395   9678   
[package]
 7396   9679   
name = "aws-sdk-polly"
 7397   9680   
version = "0.0.0-local"
 7398   9681   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7399   9682   
description = "AWS SDK for Amazon Polly"
 7400   9683   
edition = "2021"
 7401   9684   
license = "Apache-2.0"
 7402   9685   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7403   9686   
rust-version = "1.86.0"
 7404   9687   
readme = "README.md"
 7405   9688   
[package.metadata.smithy]
 7406   9689   
codegen-version = "ci"
 7407   9690   
[package.metadata.docs.rs]
 7408   9691   
all-features = true
 7409   9692   
targets = ["x86_64-unknown-linux-gnu"]
 7410   9693   
[dependencies.aws-credential-types]
 7411   9694   
path = "../aws-credential-types"
 7412   9695   
version = "1.2.4"
 7413   9696   
 7414   9697   
[dependencies.aws-runtime]
 7415   9698   
path = "../aws-runtime"
 7416   9699   
version = "1.5.9"
 7417   9700   
 7418   9701   
[dependencies.aws-sigv4]
 7419   9702   
path = "../aws-sigv4"
 7420         -
version = "1.3.3"
        9703  +
version = "1.3.4"
 7421   9704   
 7422   9705   
[dependencies.aws-smithy-async]
 7423   9706   
path = "../aws-smithy-async"
 7424   9707   
version = "1.2.5"
 7425   9708   
 7426   9709   
[dependencies.aws-smithy-http]
 7427   9710   
path = "../aws-smithy-http"
 7428         -
version = "0.62.2"
        9711  +
version = "0.62.3"
 7429   9712   
 7430   9713   
[dependencies.aws-smithy-json]
 7431   9714   
path = "../aws-smithy-json"
 7432   9715   
version = "0.61.4"
 7433   9716   
 7434   9717   
[dependencies.aws-smithy-runtime]
 7435   9718   
path = "../aws-smithy-runtime"
 7436   9719   
features = ["client"]
 7437   9720   
version = "1.8.5"
 7438   9721   
 7439   9722   
[dependencies.aws-smithy-runtime-api]
 7440   9723   
path = "../aws-smithy-runtime-api"
 7441   9724   
features = ["client", "http-02x"]
 7442   9725   
version = "1.8.5"
 7443   9726   
 7444   9727   
[dependencies.aws-smithy-types]
 7445   9728   
path = "../aws-smithy-types"
 7446   9729   
version = "1.3.2"
 7447   9730   
 7448   9731   
[dependencies.aws-types]
 7449   9732   
path = "../aws-types"
 7450   9733   
version = "1.3.8"
 7451   9734   
 7452   9735   
[dependencies.bytes]
 7453   9736   
version = "1.4.0"
 7454   9737   
 7455   9738   
[dependencies.fastrand]
 7456   9739   
version = "2.0.0"
 7457   9740   
 7458   9741   
[dependencies.http]
 7459   9742   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7460   9743   
index a884716..f3d8713 100644
 7461         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
        9744  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7462   9745   
@@ -1,61 +1,61 @@
 7463   9746   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7464   9747   
[package]
 7465   9748   
name = "aws-sdk-qldbsession"
 7466   9749   
version = "0.0.0-local"
 7467   9750   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7468   9751   
description = "AWS SDK for Amazon QLDB Session"
 7469   9752   
edition = "2021"
 7470   9753   
license = "Apache-2.0"
 7471   9754   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7472   9755   
rust-version = "1.86.0"
 7473   9756   
readme = "README.md"
 7474   9757   
[package.metadata.smithy]
 7475   9758   
codegen-version = "ci"
 7476   9759   
[package.metadata.docs.rs]
 7477   9760   
all-features = true
 7478   9761   
targets = ["x86_64-unknown-linux-gnu"]
 7479   9762   
[dependencies.aws-credential-types]
 7480   9763   
path = "../aws-credential-types"
 7481   9764   
version = "1.2.4"
 7482   9765   
 7483   9766   
[dependencies.aws-runtime]
 7484   9767   
path = "../aws-runtime"
 7485   9768   
version = "1.5.9"
 7486   9769   
 7487   9770   
[dependencies.aws-smithy-async]
 7488   9771   
path = "../aws-smithy-async"
 7489   9772   
version = "1.2.5"
 7490   9773   
 7491   9774   
[dependencies.aws-smithy-http]
 7492   9775   
path = "../aws-smithy-http"
 7493         -
version = "0.62.2"
        9776  +
version = "0.62.3"
 7494   9777   
 7495   9778   
[dependencies.aws-smithy-json]
 7496   9779   
path = "../aws-smithy-json"
 7497   9780   
version = "0.61.4"
 7498   9781   
 7499   9782   
[dependencies.aws-smithy-runtime]
 7500   9783   
path = "../aws-smithy-runtime"
 7501   9784   
features = ["client"]
 7502   9785   
version = "1.8.5"
 7503   9786   
 7504   9787   
[dependencies.aws-smithy-runtime-api]
 7505   9788   
path = "../aws-smithy-runtime-api"
 7506   9789   
features = ["client", "http-02x"]
 7507   9790   
version = "1.8.5"
 7508   9791   
 7509   9792   
[dependencies.aws-smithy-types]
 7510   9793   
path = "../aws-smithy-types"
 7511   9794   
version = "1.3.2"
 7512   9795   
 7513   9796   
[dependencies.aws-types]
 7514   9797   
path = "../aws-types"
 7515   9798   
version = "1.3.8"
 7516   9799   
 7517   9800   
[dependencies.bytes]
 7518   9801   
version = "1.4.0"
 7519   9802   
 7520   9803   
[dependencies.fastrand]
 7521   9804   
version = "2.0.0"
 7522   9805   
 7523   9806   
[dependencies.http]
 7524   9807   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7525   9808   
index 32a7dc9..a2c752d 100644
 7526         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
        9809  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7527   9810   
@@ -1,61 +1,61 @@
 7528   9811   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7529   9812   
[package]
 7530   9813   
name = "aws-sdk-route53"
 7531   9814   
version = "0.0.0-local"
 7532   9815   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7533   9816   
description = "AWS SDK for Amazon Route 53"
 7534   9817   
edition = "2021"
 7535   9818   
license = "Apache-2.0"
 7536   9819   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7537   9820   
rust-version = "1.86.0"
 7538   9821   
readme = "README.md"
 7539   9822   
[package.metadata.smithy]
 7540   9823   
codegen-version = "ci"
 7541   9824   
[package.metadata.docs.rs]
 7542   9825   
all-features = true
 7543   9826   
targets = ["x86_64-unknown-linux-gnu"]
 7544   9827   
[dependencies.aws-credential-types]
 7545   9828   
path = "../aws-credential-types"
 7546   9829   
version = "1.2.4"
 7547   9830   
 7548   9831   
[dependencies.aws-runtime]
 7549   9832   
path = "../aws-runtime"
 7550   9833   
version = "1.5.9"
 7551   9834   
 7552   9835   
[dependencies.aws-smithy-async]
 7553   9836   
path = "../aws-smithy-async"
 7554   9837   
version = "1.2.5"
 7555   9838   
 7556   9839   
[dependencies.aws-smithy-http]
 7557   9840   
path = "../aws-smithy-http"
 7558         -
version = "0.62.2"
        9841  +
version = "0.62.3"
 7559   9842   
 7560   9843   
[dependencies.aws-smithy-json]
 7561   9844   
path = "../aws-smithy-json"
 7562   9845   
version = "0.61.4"
 7563   9846   
 7564   9847   
[dependencies.aws-smithy-runtime]
 7565   9848   
path = "../aws-smithy-runtime"
 7566   9849   
features = ["client"]
 7567   9850   
version = "1.8.5"
 7568   9851   
 7569   9852   
[dependencies.aws-smithy-runtime-api]
 7570   9853   
path = "../aws-smithy-runtime-api"
 7571   9854   
features = ["client", "http-02x"]
 7572   9855   
version = "1.8.5"
 7573   9856   
 7574   9857   
[dependencies.aws-smithy-types]
 7575   9858   
path = "../aws-smithy-types"
 7576   9859   
version = "1.3.2"
 7577   9860   
 7578   9861   
[dependencies.aws-smithy-xml]
 7579   9862   
path = "../aws-smithy-xml"
 7580   9863   
version = "0.60.10"
 7581   9864   
 7582   9865   
[dependencies.aws-types]
 7583   9866   
path = "../aws-types"
 7584   9867   
version = "1.3.8"
 7585   9868   
 7586   9869   
[dependencies.fastrand]
 7587   9870   
version = "2.0.0"
 7588   9871   
 7589   9872   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7590   9873   
index f65e261..2f6bec0 100644
 7591         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
        9874  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7592   9875   
@@ -1,75 +1,75 @@
 7593   9876   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7594   9877   
[package]
 7595   9878   
name = "aws-sdk-s3"
 7596   9879   
version = "0.0.0-local"
 7597   9880   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7598   9881   
description = "AWS SDK for Amazon Simple Storage Service"
 7599   9882   
edition = "2021"
 7600   9883   
license = "Apache-2.0"
 7601   9884   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7602   9885   
rust-version = "1.86.0"
 7603   9886   
readme = "README.md"
 7604   9887   
[package.metadata.smithy]
 7605   9888   
codegen-version = "ci"
 7606   9889   
[package.metadata.docs.rs]
 7607   9890   
all-features = true
 7608   9891   
targets = ["x86_64-unknown-linux-gnu"]
 7609   9892   
[dependencies.aws-credential-types]
 7610   9893   
path = "../aws-credential-types"
 7611   9894   
version = "1.2.4"
 7612   9895   
 7613   9896   
[dependencies.aws-runtime]
 7614   9897   
path = "../aws-runtime"
 7615   9898   
features = ["event-stream", "http-02x"]
 7616   9899   
version = "1.5.9"
 7617   9900   
 7618   9901   
[dependencies.aws-sigv4]
 7619   9902   
path = "../aws-sigv4"
 7620         -
version = "1.3.3"
        9903  +
version = "1.3.4"
 7621   9904   
 7622   9905   
[dependencies.aws-smithy-async]
 7623   9906   
path = "../aws-smithy-async"
 7624   9907   
version = "1.2.5"
 7625   9908   
 7626   9909   
[dependencies.aws-smithy-checksums]
 7627   9910   
path = "../aws-smithy-checksums"
 7628   9911   
version = "0.63.5"
 7629   9912   
 7630   9913   
[dependencies.aws-smithy-eventstream]
 7631   9914   
path = "../aws-smithy-eventstream"
 7632   9915   
version = "0.60.10"
 7633   9916   
 7634   9917   
[dependencies.aws-smithy-http]
 7635   9918   
path = "../aws-smithy-http"
 7636   9919   
features = ["event-stream"]
 7637         -
version = "0.62.2"
        9920  +
version = "0.62.3"
 7638   9921   
 7639   9922   
[dependencies.aws-smithy-json]
 7640   9923   
path = "../aws-smithy-json"
 7641   9924   
version = "0.61.4"
 7642   9925   
 7643   9926   
[dependencies.aws-smithy-runtime]
 7644   9927   
path = "../aws-smithy-runtime"
 7645   9928   
features = ["client"]
 7646   9929   
version = "1.8.5"
 7647   9930   
 7648   9931   
[dependencies.aws-smithy-runtime-api]
 7649   9932   
path = "../aws-smithy-runtime-api"
 7650   9933   
features = ["client", "http-02x"]
 7651   9934   
version = "1.8.5"
 7652   9935   
 7653   9936   
[dependencies.aws-smithy-types]
 7654   9937   
path = "../aws-smithy-types"
 7655   9938   
version = "1.3.2"
 7656   9939   
 7657   9940   
[dependencies.aws-smithy-xml]
 7658   9941   
path = "../aws-smithy-xml"
 7659   9942   
version = "0.60.10"
 7660   9943   
 7661   9944   
[dependencies.aws-types]
 7662   9945   
path = "../aws-types"
 7663   9946   
version = "1.3.8"
 7664   9947   
 7665   9948   
[dependencies.bytes]
 7666   9949   
version = "1.4.0"
 7667   9950   
 7668   9951   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7669   9952   
index b4d1cdd..861c0cc 100644
 7670         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
        9953  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7671   9954   
@@ -1,61 +1,61 @@
 7672   9955   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7673   9956   
[package]
 7674   9957   
name = "aws-sdk-s3control"
 7675   9958   
version = "0.0.0-local"
 7676   9959   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7677   9960   
description = "AWS SDK for AWS S3 Control"
 7678   9961   
edition = "2021"
 7679   9962   
license = "Apache-2.0"
 7680   9963   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7681   9964   
rust-version = "1.86.0"
 7682   9965   
readme = "README.md"
 7683   9966   
[package.metadata.smithy]
 7684   9967   
codegen-version = "ci"
 7685   9968   
[package.metadata.docs.rs]
 7686   9969   
all-features = true
 7687   9970   
targets = ["x86_64-unknown-linux-gnu"]
 7688   9971   
[dependencies.aws-credential-types]
 7689   9972   
path = "../aws-credential-types"
 7690   9973   
version = "1.2.4"
 7691   9974   
 7692   9975   
[dependencies.aws-runtime]
 7693   9976   
path = "../aws-runtime"
 7694   9977   
version = "1.5.9"
 7695   9978   
 7696   9979   
[dependencies.aws-smithy-async]
 7697   9980   
path = "../aws-smithy-async"
 7698   9981   
version = "1.2.5"
 7699   9982   
 7700   9983   
[dependencies.aws-smithy-http]
 7701   9984   
path = "../aws-smithy-http"
 7702         -
version = "0.62.2"
        9985  +
version = "0.62.3"
 7703   9986   
 7704   9987   
[dependencies.aws-smithy-json]
 7705   9988   
path = "../aws-smithy-json"
 7706   9989   
version = "0.61.4"
 7707   9990   
 7708   9991   
[dependencies.aws-smithy-runtime]
 7709   9992   
path = "../aws-smithy-runtime"
 7710   9993   
features = ["client"]
 7711   9994   
version = "1.8.5"
 7712   9995   
 7713   9996   
[dependencies.aws-smithy-runtime-api]
 7714   9997   
path = "../aws-smithy-runtime-api"
 7715   9998   
features = ["client", "http-02x"]
 7716   9999   
version = "1.8.5"
 7717  10000   
 7718  10001   
[dependencies.aws-smithy-types]
 7719  10002   
path = "../aws-smithy-types"
 7720  10003   
version = "1.3.2"
 7721  10004   
 7722  10005   
[dependencies.aws-smithy-xml]
 7723  10006   
path = "../aws-smithy-xml"
 7724  10007   
version = "0.60.10"
 7725  10008   
 7726  10009   
[dependencies.aws-types]
 7727  10010   
path = "../aws-types"
 7728  10011   
version = "1.3.8"
 7729  10012   
 7730  10013   
[dependencies.fastrand]
 7731  10014   
version = "2.0.0"
 7732  10015   
 7733  10016   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7734  10017   
index 2cde182..fc367f4 100644
 7735         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
       10018  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7736  10019   
@@ -1,61 +1,61 @@
 7737  10020   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7738  10021   
[package]
 7739  10022   
name = "aws-sdk-sso"
 7740  10023   
version = "0.0.0-local"
 7741  10024   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7742  10025   
description = "AWS SDK for AWS Single Sign-On"
 7743  10026   
edition = "2021"
 7744  10027   
license = "Apache-2.0"
 7745  10028   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7746  10029   
rust-version = "1.86.0"
 7747  10030   
readme = "README.md"
 7748  10031   
[package.metadata.smithy]
 7749  10032   
codegen-version = "ci"
 7750  10033   
[package.metadata.docs.rs]
 7751  10034   
all-features = true
 7752  10035   
targets = ["x86_64-unknown-linux-gnu"]
 7753  10036   
[dependencies.aws-credential-types]
 7754  10037   
path = "../aws-credential-types"
 7755  10038   
version = "1.2.4"
 7756  10039   
 7757  10040   
[dependencies.aws-runtime]
 7758  10041   
path = "../aws-runtime"
 7759  10042   
version = "1.5.9"
 7760  10043   
 7761  10044   
[dependencies.aws-smithy-async]
 7762  10045   
path = "../aws-smithy-async"
 7763  10046   
version = "1.2.5"
 7764  10047   
 7765  10048   
[dependencies.aws-smithy-http]
 7766  10049   
path = "../aws-smithy-http"
 7767         -
version = "0.62.2"
       10050  +
version = "0.62.3"
 7768  10051   
 7769  10052   
[dependencies.aws-smithy-json]
 7770  10053   
path = "../aws-smithy-json"
 7771  10054   
version = "0.61.4"
 7772  10055   
 7773  10056   
[dependencies.aws-smithy-runtime]
 7774  10057   
path = "../aws-smithy-runtime"
 7775  10058   
features = ["client"]
 7776  10059   
version = "1.8.5"
 7777  10060   
 7778  10061   
[dependencies.aws-smithy-runtime-api]
 7779  10062   
path = "../aws-smithy-runtime-api"
 7780  10063   
features = ["client", "http-02x"]
 7781  10064   
version = "1.8.5"
 7782  10065   
 7783  10066   
[dependencies.aws-smithy-types]
 7784  10067   
path = "../aws-smithy-types"
 7785  10068   
version = "1.3.2"
 7786  10069   
 7787  10070   
[dependencies.aws-types]
 7788  10071   
path = "../aws-types"
 7789  10072   
version = "1.3.8"
 7790  10073   
 7791  10074   
[dependencies.bytes]
 7792  10075   
version = "1.4.0"
 7793  10076   
 7794  10077   
[dependencies.fastrand]
 7795  10078   
version = "2.0.0"
 7796  10079   
 7797  10080   
[dependencies.http]
 7798  10081   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7799  10082   
index 7a34c16..588d0bd 100644
 7800         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       10083  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7801  10084   
@@ -1,61 +1,61 @@
 7802  10085   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7803  10086   
[package]
 7804  10087   
name = "aws-sdk-ssooidc"
 7805  10088   
version = "0.0.0-local"
 7806  10089   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7807  10090   
description = "AWS SDK for AWS SSO OIDC"
 7808  10091   
edition = "2021"
 7809  10092   
license = "Apache-2.0"
 7810  10093   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7811  10094   
rust-version = "1.86.0"
 7812  10095   
readme = "README.md"
 7813  10096   
[package.metadata.smithy]
 7814  10097   
codegen-version = "ci"
 7815  10098   
[package.metadata.docs.rs]
 7816  10099   
all-features = true
 7817  10100   
targets = ["x86_64-unknown-linux-gnu"]
 7818  10101   
[dependencies.aws-credential-types]
 7819  10102   
path = "../aws-credential-types"
 7820  10103   
version = "1.2.4"
 7821  10104   
 7822  10105   
[dependencies.aws-runtime]
 7823  10106   
path = "../aws-runtime"
 7824  10107   
version = "1.5.9"
 7825  10108   
 7826  10109   
[dependencies.aws-smithy-async]
 7827  10110   
path = "../aws-smithy-async"
 7828  10111   
version = "1.2.5"
 7829  10112   
 7830  10113   
[dependencies.aws-smithy-http]
 7831  10114   
path = "../aws-smithy-http"
 7832         -
version = "0.62.2"
       10115  +
version = "0.62.3"
 7833  10116   
 7834  10117   
[dependencies.aws-smithy-json]
 7835  10118   
path = "../aws-smithy-json"
 7836  10119   
version = "0.61.4"
 7837  10120   
 7838  10121   
[dependencies.aws-smithy-runtime]
 7839  10122   
path = "../aws-smithy-runtime"
 7840  10123   
features = ["client"]
 7841  10124   
version = "1.8.5"
 7842  10125   
 7843  10126   
[dependencies.aws-smithy-runtime-api]
 7844  10127   
path = "../aws-smithy-runtime-api"
 7845  10128   
features = ["client", "http-02x"]
 7846  10129   
version = "1.8.5"
 7847  10130   
 7848  10131   
[dependencies.aws-smithy-types]
 7849  10132   
path = "../aws-smithy-types"
 7850  10133   
version = "1.3.2"
 7851  10134   
 7852  10135   
[dependencies.aws-types]
 7853  10136   
path = "../aws-types"
 7854  10137   
version = "1.3.8"
 7855  10138   
 7856  10139   
[dependencies.bytes]
 7857  10140   
version = "1.4.0"
 7858  10141   
 7859  10142   
[dependencies.fastrand]
 7860  10143   
version = "2.0.0"
 7861  10144   
 7862  10145   
[dependencies.http]
 7863  10146   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7864  10147   
index 895dfb3..f2ce34e 100644
 7865         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       10148  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7866  10149   
@@ -1,61 +1,61 @@
 7867  10150   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7868  10151   
[package]
 7869  10152   
name = "aws-sdk-sts"
 7870  10153   
version = "0.0.0-local"
 7871  10154   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7872  10155   
description = "AWS SDK for AWS Security Token Service"
 7873  10156   
edition = "2021"
 7874  10157   
license = "Apache-2.0"
 7875  10158   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7876  10159   
rust-version = "1.86.0"
 7877  10160   
readme = "README.md"
 7878  10161   
[package.metadata.smithy]
 7879  10162   
codegen-version = "ci"
 7880  10163   
[package.metadata.docs.rs]
 7881  10164   
all-features = true
 7882  10165   
targets = ["x86_64-unknown-linux-gnu"]
 7883  10166   
[dependencies.aws-credential-types]
 7884  10167   
path = "../aws-credential-types"
 7885  10168   
version = "1.2.4"
 7886  10169   
 7887  10170   
[dependencies.aws-runtime]
 7888  10171   
path = "../aws-runtime"
 7889  10172   
version = "1.5.9"
 7890  10173   
 7891  10174   
[dependencies.aws-smithy-async]
 7892  10175   
path = "../aws-smithy-async"
 7893  10176   
version = "1.2.5"
 7894  10177   
 7895  10178   
[dependencies.aws-smithy-http]
 7896  10179   
path = "../aws-smithy-http"
 7897         -
version = "0.62.2"
       10180  +
version = "0.62.3"
 7898  10181   
 7899  10182   
[dependencies.aws-smithy-json]
 7900  10183   
path = "../aws-smithy-json"
 7901  10184   
version = "0.61.4"
 7902  10185   
 7903  10186   
[dependencies.aws-smithy-query]
 7904  10187   
path = "../aws-smithy-query"
 7905  10188   
version = "0.60.7"
 7906  10189   
 7907  10190   
[dependencies.aws-smithy-runtime]
 7908  10191   
path = "../aws-smithy-runtime"
 7909  10192   
features = ["client"]
 7910  10193   
version = "1.8.5"
 7911  10194   
 7912  10195   
[dependencies.aws-smithy-runtime-api]
 7913  10196   
path = "../aws-smithy-runtime-api"
 7914  10197   
features = ["client", "http-02x"]
 7915  10198   
version = "1.8.5"
 7916  10199   
 7917  10200   
[dependencies.aws-smithy-types]
 7918  10201   
path = "../aws-smithy-types"
 7919  10202   
version = "1.3.2"
 7920  10203   
 7921  10204   
[dependencies.aws-smithy-xml]
 7922  10205   
path = "../aws-smithy-xml"
 7923  10206   
version = "0.60.10"
 7924  10207   
 7925  10208   
[dependencies.aws-types]
 7926  10209   
path = "../aws-types"
 7927  10210   
version = "1.3.8"
 7928  10211   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 7929  10212   
index d556561..91178b6 100644
 7930         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       10213  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 7931  10214   
@@ -1,61 +1,61 @@
 7932  10215   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7933  10216   
[package]
 7934  10217   
name = "aws-sdk-timestreamquery"
 7935  10218   
version = "0.0.0-local"
 7936  10219   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7937  10220   
description = "AWS SDK for Amazon Timestream Query"
 7938  10221   
edition = "2021"
 7939  10222   
license = "Apache-2.0"
 7940  10223   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7941  10224   
rust-version = "1.86.0"
 7942  10225   
readme = "README.md"
 7943  10226   
[package.metadata.smithy]
 7944  10227   
codegen-version = "ci"
 7945  10228   
[package.metadata.docs.rs]
 7946  10229   
all-features = true
 7947  10230   
targets = ["x86_64-unknown-linux-gnu"]
 7948  10231   
[dependencies.aws-credential-types]
 7949  10232   
path = "../aws-credential-types"
 7950  10233   
version = "1.2.4"
 7951  10234   
 7952  10235   
[dependencies.aws-runtime]
 7953  10236   
path = "../aws-runtime"
 7954  10237   
version = "1.5.9"
 7955  10238   
 7956  10239   
[dependencies.aws-smithy-async]
 7957  10240   
path = "../aws-smithy-async"
 7958  10241   
version = "1.2.5"
 7959  10242   
 7960  10243   
[dependencies.aws-smithy-http]
 7961  10244   
path = "../aws-smithy-http"
 7962         -
version = "0.62.2"
       10245  +
version = "0.62.3"
 7963  10246   
 7964  10247   
[dependencies.aws-smithy-json]
 7965  10248   
path = "../aws-smithy-json"
 7966  10249   
version = "0.61.4"
 7967  10250   
 7968  10251   
[dependencies.aws-smithy-runtime]
 7969  10252   
path = "../aws-smithy-runtime"
 7970  10253   
features = ["client"]
 7971  10254   
version = "1.8.5"
 7972  10255   
 7973  10256   
[dependencies.aws-smithy-runtime-api]
 7974  10257   
path = "../aws-smithy-runtime-api"
 7975  10258   
features = ["client", "http-02x"]
 7976  10259   
version = "1.8.5"
 7977  10260   
 7978  10261   
[dependencies.aws-smithy-types]
 7979  10262   
path = "../aws-smithy-types"
 7980  10263   
version = "1.3.2"
 7981  10264   
 7982  10265   
[dependencies.aws-types]
 7983  10266   
path = "../aws-types"
 7984  10267   
version = "1.3.8"
 7985  10268   
 7986  10269   
[dependencies.bytes]
 7987  10270   
version = "1.4.0"
 7988  10271   
 7989  10272   
[dependencies.fastrand]
 7990  10273   
version = "2.0.0"
 7991  10274   
 7992  10275   
[dependencies.http]
 7993  10276   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 7994  10277   
index 0c56e4c..95731e3 100644
 7995         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       10278  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 7996  10279   
@@ -1,61 +1,61 @@
 7997  10280   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7998  10281   
[package]
 7999  10282   
name = "aws-sdk-timestreamwrite"
 8000  10283   
version = "0.0.0-local"
 8001  10284   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8002  10285   
description = "AWS SDK for Amazon Timestream Write"
 8003  10286   
edition = "2021"
 8004  10287   
license = "Apache-2.0"
 8005  10288   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8006  10289   
rust-version = "1.86.0"
 8007  10290   
readme = "README.md"
 8008  10291   
[package.metadata.smithy]
 8009  10292   
codegen-version = "ci"
 8010  10293   
[package.metadata.docs.rs]
 8011  10294   
all-features = true
 8012  10295   
targets = ["x86_64-unknown-linux-gnu"]
 8013  10296   
[dependencies.aws-credential-types]
 8014  10297   
path = "../aws-credential-types"
 8015  10298   
version = "1.2.4"
 8016  10299   
 8017  10300   
[dependencies.aws-runtime]
 8018  10301   
path = "../aws-runtime"
 8019  10302   
version = "1.5.9"
 8020  10303   
 8021  10304   
[dependencies.aws-smithy-async]
 8022  10305   
path = "../aws-smithy-async"
 8023  10306   
version = "1.2.5"
 8024  10307   
 8025  10308   
[dependencies.aws-smithy-http]
 8026  10309   
path = "../aws-smithy-http"
 8027         -
version = "0.62.2"
       10310  +
version = "0.62.3"
 8028  10311   
 8029  10312   
[dependencies.aws-smithy-json]
 8030  10313   
path = "../aws-smithy-json"
 8031  10314   
version = "0.61.4"
 8032  10315   
 8033  10316   
[dependencies.aws-smithy-runtime]
 8034  10317   
path = "../aws-smithy-runtime"
 8035  10318   
features = ["client"]
 8036  10319   
version = "1.8.5"
 8037  10320   
 8038  10321   
[dependencies.aws-smithy-runtime-api]
 8039  10322   
path = "../aws-smithy-runtime-api"
 8040  10323   
features = ["client", "http-02x"]
 8041  10324   
version = "1.8.5"
 8042  10325   
 8043  10326   
[dependencies.aws-smithy-types]
 8044  10327   
path = "../aws-smithy-types"
 8045  10328   
version = "1.3.2"
 8046  10329   
 8047  10330   
[dependencies.aws-types]
 8048  10331   
path = "../aws-types"
 8049  10332   
version = "1.3.8"
 8050  10333   
 8051  10334   
[dependencies.bytes]
 8052  10335   
version = "1.4.0"
 8053  10336   
 8054  10337   
[dependencies.fastrand]
 8055  10338   
version = "2.0.0"
 8056  10339   
 8057  10340   
[dependencies.http]
 8058  10341   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8059  10342   
index 5b35037..9fb220a 100644
 8060         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       10343  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8061  10344   
@@ -1,71 +1,71 @@
 8062  10345   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8063  10346   
[package]
 8064  10347   
name = "aws-sdk-transcribestreaming"
 8065  10348   
version = "0.0.0-local"
 8066  10349   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8067  10350   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 8068  10351   
edition = "2021"
 8069  10352   
license = "Apache-2.0"
 8070  10353   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8071  10354   
rust-version = "1.86.0"
 8072  10355   
readme = "README.md"
 8073  10356   
[package.metadata.smithy]
 8074  10357   
codegen-version = "ci"
 8075  10358   
[package.metadata.docs.rs]
 8076  10359   
all-features = true
 8077  10360   
targets = ["x86_64-unknown-linux-gnu"]
 8078  10361   
[dependencies.aws-credential-types]
 8079  10362   
path = "../aws-credential-types"
 8080  10363   
version = "1.2.4"
 8081  10364   
 8082  10365   
[dependencies.aws-runtime]
 8083  10366   
path = "../aws-runtime"
 8084  10367   
features = ["event-stream"]
 8085  10368   
version = "1.5.9"
 8086  10369   
 8087  10370   
[dependencies.aws-sigv4]
 8088  10371   
path = "../aws-sigv4"
 8089         -
version = "1.3.3"
       10372  +
version = "1.3.4"
 8090  10373   
 8091  10374   
[dependencies.aws-smithy-async]
 8092  10375   
path = "../aws-smithy-async"
 8093  10376   
version = "1.2.5"
 8094  10377   
 8095  10378   
[dependencies.aws-smithy-eventstream]
 8096  10379   
path = "../aws-smithy-eventstream"
 8097  10380   
version = "0.60.10"
 8098  10381   
 8099  10382   
[dependencies.aws-smithy-http]
 8100  10383   
path = "../aws-smithy-http"
 8101  10384   
features = ["event-stream"]
 8102         -
version = "0.62.2"
       10385  +
version = "0.62.3"
 8103  10386   
 8104  10387   
[dependencies.aws-smithy-json]
 8105  10388   
path = "../aws-smithy-json"
 8106  10389   
version = "0.61.4"
 8107  10390   
 8108  10391   
[dependencies.aws-smithy-runtime]
 8109  10392   
path = "../aws-smithy-runtime"
 8110  10393   
features = ["client"]
 8111  10394   
version = "1.8.5"
 8112  10395