AWS SDK

AWS SDK

rev. 3964b40d6806bc3f52bd311e2c791030c3325f2c

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 +9231,11514 @@
    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         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
         350  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
  958    351   
@@ -1,12 +1,12 @@
  959    352   
{
  960    353   
    "credentials": {
  961    354   
        "access_key_id": "AKIDEXAMPLE",
  962    355   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  963    356   
    },
  964    357   
    "expiration_in_seconds": 3600,
  965    358   
    "normalize": true,
  966    359   
    "region": "us-east-1",
  967    360   
    "service": "service",
  968    361   
    "sign_body": false,
  969    362   
    "timestamp": "2015-08-30T12:36:00Z"
  970         -
}
         363  +
}
              \
 No newline at end of file
  971    364   
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
  972    365   
similarity index 100%
  973    366   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq
  974    367   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
  975    368   
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
  976    369   
new file mode 100644
  977    370   
index 0000000..7fc5d7a
  978         -
-- /dev/null
         371  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
  979    372   
@@ -0,0 +1 @@
         373  +
c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
              \
 No newline at end of file
  980    374   
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
  981    375   
new file mode 100644
  982    376   
index 0000000..36a1205
  983         -
-- /dev/null
         377  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
  984    378   
@@ -0,0 +1,8 @@
         379  +
GET / HTTP/1.1
         380  +
Host:example.amazonaws.com
         381  +
My-Header1:value2
         382  +
My-Header1:value2
         383  +
My-Header1:value1
         384  +
X-Amz-Date:20150830T123600Z
         385  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
         386  +
  985    387   
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
  986    388   
similarity index 100%
  987    389   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts
  988    390   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
  989    391   
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
  990    392   
new file mode 100644
  991    393   
index 0000000..f9f4190
  992         -
-- /dev/null
         394  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
  993    395   
@@ -0,0 +1,8 @@
         396  +
GET
         397  +
/
         398  +
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
         399  +
host:example.amazonaws.com
         400  +
my-header1:value2,value2,value1
         401  +
         402  +
host;my-header1
         403  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  994    404   
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
  995    405   
new file mode 100644
  996    406   
index 0000000..5d0d87f
  997         -
-- /dev/null
         407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
  998    408   
@@ -0,0 +1 @@
         409  +
3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97
              \
 No newline at end of file
  999    410   
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
 1000    411   
new file mode 100644
 1001    412   
index 0000000..c1dfcf4
 1002         -
-- /dev/null
         413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
 1003    414   
@@ -0,0 +1,6 @@
         415  +
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
         416  +
Host:example.amazonaws.com
         417  +
My-Header1:value2
         418  +
My-Header1:value2
         419  +
My-Header1:value1
         420  +
 1004    421   
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
 1005    422   
similarity index 53%
 1006    423   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
 1007    424   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1008    425   
index 0a3350a..077c1bb 100644
 1009         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
         426  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1010    427   
@@ -1,4 +1,4 @@
 1011    428   
AWS4-HMAC-SHA256
 1012    429   
20150830T123600Z
 1013    430   
20150830/us-east-1/service/aws4_request
 1014         -
b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55
              \
 No newline at end of file
         431  +
fe8b58fb44117d598520befc07c144a5699c661a8db78f9ce4caee1655dec813
              \
 No newline at end of file
 1015    432   
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
 1016    433   
similarity index 100%
 1017    434   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt
 1018    435   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
 1019    436   
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
 1020    437   
similarity index 99%
 1021    438   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
 1022    439   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1023    440   
index 45771c7..0468d80 100644
 1024         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
         441  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1025    442   
@@ -1,12 +1,12 @@
 1026    443   
{
 1027    444   
    "credentials": {
 1028    445   
        "access_key_id": "AKIDEXAMPLE",
 1029    446   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1030    447   
    },
 1031    448   
    "expiration_in_seconds": 3600,
 1032    449   
    "normalize": true,
 1033    450   
    "region": "us-east-1",
 1034    451   
    "service": "service",
 1035    452   
    "sign_body": false,
 1036    453   
    "timestamp": "2015-08-30T12:36:00Z"
 1037         -
}
         454  +
}
              \
 No newline at end of file
 1038    455   
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
 1039    456   
similarity index 82%
 1040    457   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
 1041    458   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1042    459   
index 721a39f..8cb5476 100644
 1043         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
         460  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1044    461   
@@ -1,9 +1,9 @@
 1045    462   
GET
 1046    463   
/
 1047    464   
 1048    465   
host:example.amazonaws.com
 1049         -
my-header1:value1,value2,value3
         466  +
my-header1:value1 value2 value3
 1050    467   
x-amz-date:20150830T123600Z
 1051    468   
 1052    469   
host;my-header1;x-amz-date
 1053    470   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1054    471   
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
 1055    472   
new file mode 100644
 1056    473   
index 0000000..e6ff7a9
 1057         -
-- /dev/null
         474  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
 1058    475   
@@ -0,0 +1 @@
         476  +
cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
              \
 No newline at end of file
 1059    477   
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
 1060    478   
new file mode 100644
 1061    479   
index 0000000..b5ef6a0
 1062         -
-- /dev/null
         480  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
 1063    481   
@@ -0,0 +1,8 @@
         482  +
GET / HTTP/1.1
         483  +
Host:example.amazonaws.com
         484  +
My-Header1:value1
         485  +
  value2
         486  +
     value3
         487  +
X-Amz-Date:20150830T123600Z
         488  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
         489  +
 1064    490   
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
 1065    491   
similarity index 53%
 1066    492   
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
 1067    493   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1068    494   
index fd43a41..97c7430 100644
 1069         -
-- 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
         495  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1070    496   
@@ -1,4 +1,4 @@
 1071    497   
AWS4-HMAC-SHA256
 1072    498   
20150830T123600Z
 1073    499   
20150830/us-east-1/service/aws4_request
 1074         -
704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89
              \
 No newline at end of file
         500  +
e99419459a677bc11de234014be3c4e72c1ea5b454ceb58b613061f5d7a162e8
              \
 No newline at end of file
 1075    501   
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
 1076    502   
new file mode 100644
 1077    503   
index 0000000..aac46de
 1078         -
-- /dev/null
         504  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
 1079    505   
@@ -0,0 +1,8 @@
         506  +
GET
         507  +
/
         508  +
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
         509  +
host:example.amazonaws.com
         510  +
my-header1:value1 value2 value3
         511  +
         512  +
host;my-header1
         513  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1080    514   
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
 1081    515   
new file mode 100644
 1082    516   
index 0000000..205732d
 1083         -
-- /dev/null
         517  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
 1084    518   
@@ -0,0 +1 @@
         519  +
e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56
              \
 No newline at end of file
 1085    520   
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
 1086    521   
new file mode 100644
 1087    522   
index 0000000..a891b87
 1088         -
-- /dev/null
         523  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
 1089    524   
@@ -0,0 +1,6 @@
         525  +
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
         526  +
Host:example.amazonaws.com
         527  +
My-Header1:value1
         528  +
  value2
         529  +
     value3
         530  +
 1090    531   
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
 1091    532   
similarity index 53%
 1092    533   
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
 1093    534   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1094    535   
index 90e66b8..ec3fe45 100644
 1095         -
-- 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
         536  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1096    537   
@@ -1,4 +1,4 @@
 1097    538   
AWS4-HMAC-SHA256
 1098    539   
20150830T123600Z
 1099    540   
20150830/us-east-1/service/aws4_request
 1100         -
c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606
              \
 No newline at end of file
         541  +
0e73c10e35324b4d215da4bb70be61d13a3d30d569be4ed6e8fd8948965341ca
              \
 No newline at end of file
 1101    542   
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
 1102    543   
similarity index 75%
 1103    544   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
 1104    545   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1105    546   
index 7caa6ac..b5026cd 100644
 1106         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
         547  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1107    548   
@@ -1,6 +1,5 @@
 1108    549   
GET / HTTP/1.1
 1109    550   
Host:example.amazonaws.com
 1110    551   
My-Header1:value1
 1111    552   
  value2
 1112    553   
     value3
 1113         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1114    554   
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
 1115    555   
similarity index 99%
 1116    556   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
 1117    557   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1118    558   
index 45771c7..0468d80 100644
 1119         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
         559  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1120    560   
@@ -1,12 +1,12 @@
 1121    561   
{
 1122    562   
    "credentials": {
 1123    563   
        "access_key_id": "AKIDEXAMPLE",
 1124    564   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1125    565   
    },
 1126    566   
    "expiration_in_seconds": 3600,
 1127    567   
    "normalize": true,
 1128    568   
    "region": "us-east-1",
 1129    569   
    "service": "service",
 1130    570   
    "sign_body": false,
 1131    571   
    "timestamp": "2015-08-30T12:36:00Z"
 1132         -
}
         572  +
}
              \
 No newline at end of file
 1133    573   
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
 1134    574   
similarity index 100%
 1135    575   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq
 1136    576   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
 1137    577   
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
 1138    578   
new file mode 100644
 1139    579   
index 0000000..8ef0494
 1140         -
-- /dev/null
         580  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
 1141    581   
@@ -0,0 +1 @@
         582  +
08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
 1142    583   
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
 1143    584   
new file mode 100644
 1144    585   
index 0000000..b786dc9
 1145         -
-- /dev/null
         586  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
 1146    587   
@@ -0,0 +1,9 @@
         588  +
GET / HTTP/1.1
         589  +
Host:example.amazonaws.com
         590  +
My-Header1:value4
         591  +
My-Header1:value1
         592  +
My-Header1:value3
         593  +
My-Header1:value2
         594  +
X-Amz-Date:20150830T123600Z
         595  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
         596  +
 1147    597   
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
 1148    598   
similarity index 100%
 1149    599   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts
 1150    600   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
 1151    601   
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
 1152    602   
new file mode 100644
 1153    603   
index 0000000..a211cc5
 1154         -
-- /dev/null
         604  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
 1155    605   
@@ -0,0 +1,8 @@
         606  +
GET
         607  +
/
         608  +
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
         609  +
host:example.amazonaws.com
         610  +
my-header1:value4,value1,value3,value2
         611  +
         612  +
host;my-header1
         613  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1156    614   
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
 1157    615   
new file mode 100644
 1158    616   
index 0000000..417b0fa
 1159         -
-- /dev/null
         617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
 1160    618   
@@ -0,0 +1 @@
         619  +
313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e
              \
 No newline at end of file
 1161    620   
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
 1162    621   
new file mode 100644
 1163    622   
index 0000000..b615e5d
 1164         -
-- /dev/null
         623  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
 1165    624   
@@ -0,0 +1,7 @@
         625  +
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
         626  +
Host:example.amazonaws.com
         627  +
My-Header1:value4
         628  +
My-Header1:value1
         629  +
My-Header1:value3
         630  +
My-Header1:value2
         631  +
 1166    632   
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
 1167    633   
similarity index 53%
 1168    634   
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
 1169    635   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1170    636   
index f7e615e..dcaaa1b 100644
 1171         -
-- 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
         637  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1172    638   
@@ -1,4 +1,4 @@
 1173    639   
AWS4-HMAC-SHA256
 1174    640   
20150830T123600Z
 1175    641   
20150830/us-east-1/service/aws4_request
 1176         -
5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9
              \
 No newline at end of file
         642  +
f4d3f13084ba7664111670ce26458291d3e0c620acd9384f8cd6b60d8e83423e
              \
 No newline at end of file
 1177    643   
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
 1178    644   
similarity index 100%
 1179    645   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt
 1180    646   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1181    647   
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
 1182    648   
similarity index 99%
 1183    649   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
 1184    650   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1185    651   
index 45771c7..0468d80 100644
 1186         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
         652  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1187    653   
@@ -1,12 +1,12 @@
 1188    654   
{
 1189    655   
    "credentials": {
 1190    656   
        "access_key_id": "AKIDEXAMPLE",
 1191    657   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1192    658   
    },
 1193    659   
    "expiration_in_seconds": 3600,
 1194    660   
    "normalize": true,
 1195    661   
    "region": "us-east-1",
 1196    662   
    "service": "service",
 1197    663   
    "sign_body": false,
 1198    664   
    "timestamp": "2015-08-30T12:36:00Z"
 1199         -
}
         665  +
}
              \
 No newline at end of file
 1200    666   
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
 1201    667   
similarity index 100%
 1202    668   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq
 1203    669   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1204    670   
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
 1205    671   
new file mode 100644
 1206    672   
index 0000000..36081a9
 1207         -
-- /dev/null
         673  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1208    674   
@@ -0,0 +1 @@
         675  +
acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
 1209    676   
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
 1210    677   
new file mode 100644
 1211    678   
index 0000000..6331d16
 1212         -
-- /dev/null
         679  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1213    680   
@@ -0,0 +1,7 @@
         681  +
GET / HTTP/1.1
         682  +
Host:example.amazonaws.com
         683  +
My-Header1: value1
         684  +
My-Header2: "a   b   c"
         685  +
X-Amz-Date:20150830T123600Z
         686  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
         687  +
 1214    688   
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
 1215    689   
similarity index 100%
 1216    690   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts
 1217    691   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1218    692   
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
 1219    693   
new file mode 100644
 1220    694   
index 0000000..125c1f9
 1221         -
-- /dev/null
         695  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1222    696   
@@ -0,0 +1,9 @@
         697  +
GET
         698  +
/
         699  +
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
         700  +
host:example.amazonaws.com
         701  +
my-header1:value1
         702  +
my-header2:"a b c"
         703  +
         704  +
host;my-header1;my-header2
         705  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1223    706   
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
 1224    707   
new file mode 100644
 1225    708   
index 0000000..17007a8
 1226         -
-- /dev/null
         709  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1227    710   
@@ -0,0 +1 @@
         711  +
e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4
              \
 No newline at end of file
 1228    712   
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
 1229    713   
new file mode 100644
 1230    714   
index 0000000..e519fd9
 1231         -
-- /dev/null
         715  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1232    716   
@@ -0,0 +1,5 @@
         717  +
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
         718  +
Host:example.amazonaws.com
         719  +
My-Header1: value1
         720  +
My-Header2: "a   b   c"
         721  +
 1233    722   
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
 1234    723   
new file mode 100644
 1235    724   
index 0000000..6b4b781
 1236         -
-- /dev/null
         725  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1237    726   
@@ -0,0 +1,4 @@
         727  +
AWS4-HMAC-SHA256
         728  +
20150830T123600Z
         729  +
20150830/us-east-1/service/aws4_request
         730  +
84c9e353b6161b689210977f93b93e6a7182f9ecb2ceae8af8c3d86b080a88ae
              \
 No newline at end of file
 1238    731   
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
 1239    732   
similarity index 100%
 1240    733   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt
 1241    734   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1242    735   
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
 1243    736   
new file mode 100644
 1244    737   
index 0000000..0468d80
 1245         -
-- /dev/null
         738  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1246    739   
@@ -0,0 +1,12 @@
         740  +
{
         741  +
    "credentials": {
         742  +
        "access_key_id": "AKIDEXAMPLE",
         743  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         744  +
    },
         745  +
    "expiration_in_seconds": 3600,
         746  +
    "normalize": true,
         747  +
    "region": "us-east-1",
         748  +
    "service": "service",
         749  +
    "sign_body": false,
         750  +
    "timestamp": "2015-08-30T12:36:00Z"
         751  +
}
              \
 No newline at end of file
 1247    752   
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
 1248    753   
similarity index 100%
 1249    754   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq
 1250    755   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1251    756   
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
 1252    757   
new file mode 100644
 1253    758   
index 0000000..87f295f
 1254         -
-- /dev/null
         759  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1255    760   
@@ -0,0 +1 @@
         761  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1256    762   
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
 1257    763   
new file mode 100644
 1258    764   
index 0000000..0de8327
 1259         -
-- /dev/null
         765  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1260    766   
@@ -0,0 +1,5 @@
         767  +
GET /example/.. HTTP/1.1
         768  +
Host:example.amazonaws.com
         769  +
X-Amz-Date:20150830T123600Z
         770  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         771  +
 1261    772   
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
 1262    773   
similarity index 100%
 1263    774   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts
 1264    775   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1265    776   
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
 1266    777   
new file mode 100644
 1267    778   
index 0000000..fb2420d
 1268         -
-- /dev/null
         779  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1269    780   
@@ -0,0 +1,7 @@
         781  +
GET
         782  +
/
         783  +
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
         784  +
host:example.amazonaws.com
         785  +
         786  +
host
         787  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1270    788   
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
 1271    789   
new file mode 100644
 1272    790   
index 0000000..da5c905
 1273         -
-- /dev/null
         791  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1274    792   
@@ -0,0 +1 @@
         793  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1275    794   
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
 1276    795   
new file mode 100644
 1277    796   
index 0000000..4329c98
 1278         -
-- /dev/null
         797  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1279    798   
@@ -0,0 +1,3 @@
         799  +
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
         800  +
Host:example.amazonaws.com
         801  +
 1280    802   
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
 1281    803   
new file mode 100644
 1282    804   
index 0000000..d837e67
 1283         -
-- /dev/null
         805  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1284    806   
@@ -0,0 +1,4 @@
         807  +
AWS4-HMAC-SHA256
         808  +
20150830T123600Z
         809  +
20150830/us-east-1/service/aws4_request
         810  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1285    811   
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
 1286    812   
similarity index 100%
 1287    813   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt
 1288    814   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1289    815   
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
 1290    816   
new file mode 100644
 1291    817   
index 0000000..0468d80
 1292         -
-- /dev/null
         818  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1293    819   
@@ -0,0 +1,12 @@
         820  +
{
         821  +
    "credentials": {
         822  +
        "access_key_id": "AKIDEXAMPLE",
         823  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         824  +
    },
         825  +
    "expiration_in_seconds": 3600,
         826  +
    "normalize": true,
         827  +
    "region": "us-east-1",
         828  +
    "service": "service",
         829  +
    "sign_body": false,
         830  +
    "timestamp": "2015-08-30T12:36:00Z"
         831  +
}
              \
 No newline at end of file
 1294    832   
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
 1295    833   
similarity index 100%
 1296    834   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq
 1297    835   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1298    836   
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
 1299    837   
new file mode 100644
 1300    838   
index 0000000..87f295f
 1301         -
-- /dev/null
         839  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1302    840   
@@ -0,0 +1 @@
         841  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1303    842   
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
 1304    843   
new file mode 100644
 1305    844   
index 0000000..f9b3815
 1306         -
-- /dev/null
         845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1307    846   
@@ -0,0 +1,5 @@
         847  +
GET /example1/example2/../.. HTTP/1.1
         848  +
Host:example.amazonaws.com
         849  +
X-Amz-Date:20150830T123600Z
         850  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         851  +
 1308    852   
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
 1309    853   
similarity index 100%
 1310    854   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts
 1311    855   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1312    856   
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
 1313    857   
new file mode 100644
 1314    858   
index 0000000..fb2420d
 1315         -
-- /dev/null
         859  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1316    860   
@@ -0,0 +1,7 @@
         861  +
GET
         862  +
/
         863  +
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
         864  +
host:example.amazonaws.com
         865  +
         866  +
host
         867  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1317    868   
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
 1318    869   
new file mode 100644
 1319    870   
index 0000000..da5c905
 1320         -
-- /dev/null
         871  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1321    872   
@@ -0,0 +1 @@
         873  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1322    874   
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
 1323    875   
new file mode 100644
 1324    876   
index 0000000..b2988b7
 1325         -
-- /dev/null
         877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1326    878   
@@ -0,0 +1,3 @@
         879  +
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
         880  +
Host:example.amazonaws.com
         881  +
 1327    882   
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
 1328    883   
new file mode 100644
 1329    884   
index 0000000..d837e67
 1330         -
-- /dev/null
         885  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1331    886   
@@ -0,0 +1,4 @@
         887  +
AWS4-HMAC-SHA256
         888  +
20150830T123600Z
         889  +
20150830/us-east-1/service/aws4_request
         890  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1332    891   
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
 1333    892   
similarity index 100%
 1334    893   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt
 1335    894   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1336    895   
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
 1337    896   
similarity index 99%
 1338    897   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
 1339    898   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1340    899   
index afe367b..7bee5c7 100644
 1341         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
         900  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1342    901   
@@ -1,12 +1,12 @@
 1343    902   
{
 1344    903   
    "credentials": {
 1345    904   
        "access_key_id": "AKIDEXAMPLE",
 1346    905   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1347    906   
    },
 1348    907   
    "expiration_in_seconds": 3600,
 1349    908   
    "normalize": false,
 1350    909   
    "region": "us-east-1",
 1351    910   
    "service": "service",
 1352    911   
    "sign_body": false,
 1353    912   
    "timestamp": "2015-08-30T12:36:00Z"
 1354         -
}
         913  +
}
              \
 No newline at end of file
 1355    914   
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
 1356    915   
similarity index 82%
 1357    916   
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
 1358    917   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1359    918   
index 36c3cdf..6919c44 100644
 1360         -
-- 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
         919  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1361    920   
@@ -1,8 +1,8 @@
 1362    921   
GET
 1363         -
/
 1364         -
Param1=Value1&Param1=value2
         922  +
/example1/example2/../..
         923  +
 1365    924   
host:example.amazonaws.com
 1366    925   
x-amz-date:20150830T123600Z
 1367    926   
 1368    927   
host;x-amz-date
 1369    928   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1370    929   
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
 1371    930   
new file mode 100644
 1372    931   
index 0000000..4092d83
 1373         -
-- /dev/null
         932  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1374    933   
@@ -0,0 +1 @@
         934  +
dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
              \
 No newline at end of file
 1375    935   
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
 1376    936   
new file mode 100644
 1377    937   
index 0000000..e731b35
 1378         -
-- /dev/null
         938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1379    939   
@@ -0,0 +1,5 @@
         940  +
GET /example1/example2/../.. HTTP/1.1
         941  +
Host:example.amazonaws.com
         942  +
X-Amz-Date:20150830T123600Z
         943  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
         944  +
 1380    945   
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
 1381    946   
new file mode 100644
 1382    947   
index 0000000..4f45752
 1383         -
-- /dev/null
         948  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1384    949   
@@ -0,0 +1,4 @@
         950  +
AWS4-HMAC-SHA256
         951  +
20150830T123600Z
         952  +
20150830/us-east-1/service/aws4_request
         953  +
76115030c0f3ff06c20fdff5ceb6d5e0b835a1743e00b94fea7c7f381269437b
              \
 No newline at end of file
 1385    954   
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
 1386    955   
new file mode 100644
 1387    956   
index 0000000..e1fb07d
 1388         -
-- /dev/null
         957  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1389    958   
@@ -0,0 +1,7 @@
         959  +
GET
         960  +
/example1/example2/../..
         961  +
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
         962  +
host:example.amazonaws.com
         963  +
         964  +
host
         965  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1390    966   
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
 1391    967   
new file mode 100644
 1392    968   
index 0000000..8ac31d7
 1393         -
-- /dev/null
         969  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1394    970   
@@ -0,0 +1 @@
         971  +
b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16
              \
 No newline at end of file
 1395    972   
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
 1396    973   
new file mode 100644
 1397    974   
index 0000000..ac074f9
 1398         -
-- /dev/null
         975  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1399    976   
@@ -0,0 +1,3 @@
         977  +
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
         978  +
Host:example.amazonaws.com
         979  +
 1400    980   
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
 1401    981   
new file mode 100644
 1402    982   
index 0000000..8dcb6ff
 1403         -
-- /dev/null
         983  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1404    984   
@@ -0,0 +1,4 @@
         985  +
AWS4-HMAC-SHA256
         986  +
20150830T123600Z
         987  +
20150830/us-east-1/service/aws4_request
         988  +
13b7758115ec070fe36a7ae9d754154ad73f6ee9a5eac022494857d0e7effc18
              \
 No newline at end of file
 1405    989   
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
 1406    990   
similarity index 100%
 1407    991   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt
 1408    992   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1409    993   
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
 1410    994   
similarity index 99%
 1411    995   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
 1412    996   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1413    997   
index afe367b..7bee5c7 100644
 1414         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
         998  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1415    999   
@@ -1,12 +1,12 @@
 1416   1000   
{
 1417   1001   
    "credentials": {
 1418   1002   
        "access_key_id": "AKIDEXAMPLE",
 1419   1003   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1420   1004   
    },
 1421   1005   
    "expiration_in_seconds": 3600,
 1422   1006   
    "normalize": false,
 1423   1007   
    "region": "us-east-1",
 1424   1008   
    "service": "service",
 1425   1009   
    "sign_body": false,
 1426   1010   
    "timestamp": "2015-08-30T12:36:00Z"
 1427         -
}
        1011  +
}
              \
 No newline at end of file
 1428   1012   
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
 1429   1013   
similarity index 82%
 1430   1014   
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
 1431   1015   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1432   1016   
index 26898eb..f640bc2 100644
 1433         -
-- 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
        1017  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1434   1018   
@@ -1,8 +1,8 @@
 1435   1019   
GET
 1436         -
/
 1437         -
Param1=value1&Param1=value2
        1020  +
/example/..
        1021  +
 1438   1022   
host:example.amazonaws.com
 1439   1023   
x-amz-date:20150830T123600Z
 1440   1024   
 1441   1025   
host;x-amz-date
 1442   1026   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1443   1027   
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
 1444   1028   
new file mode 100644
 1445   1029   
index 0000000..d957303
 1446         -
-- /dev/null
        1030  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1447   1031   
@@ -0,0 +1 @@
        1032  +
eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
              \
 No newline at end of file
 1448   1033   
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
 1449   1034   
new file mode 100644
 1450   1035   
index 0000000..4f42ffc
 1451         -
-- /dev/null
        1036  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1452   1037   
@@ -0,0 +1,5 @@
        1038  +
GET /example/.. HTTP/1.1
        1039  +
Host:example.amazonaws.com
        1040  +
X-Amz-Date:20150830T123600Z
        1041  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
        1042  +
 1453   1043   
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
 1454   1044   
new file mode 100644
 1455   1045   
index 0000000..ca54bda
 1456         -
-- /dev/null
        1046  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1457   1047   
@@ -0,0 +1,4 @@
        1048  +
AWS4-HMAC-SHA256
        1049  +
20150830T123600Z
        1050  +
20150830/us-east-1/service/aws4_request
        1051  +
0511f456aa502b456d135fcb9d749374a55228f9dbeedda1eacf659e05b0615b
              \
 No newline at end of file
 1458   1052   
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
 1459   1053   
new file mode 100644
 1460   1054   
index 0000000..dc80036
 1461         -
-- /dev/null
        1055  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1462   1056   
@@ -0,0 +1,7 @@
        1057  +
GET
        1058  +
/example/..
        1059  +
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
        1060  +
host:example.amazonaws.com
        1061  +
        1062  +
host
        1063  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1463   1064   
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
 1464   1065   
new file mode 100644
 1465   1066   
index 0000000..dfa0437
 1466         -
-- /dev/null
        1067  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1467   1068   
@@ -0,0 +1 @@
        1069  +
cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee
              \
 No newline at end of file
 1468   1070   
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
 1469   1071   
new file mode 100644
 1470   1072   
index 0000000..98367b1
 1471         -
-- /dev/null
        1073  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1472   1074   
@@ -0,0 +1,3 @@
        1075  +
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
        1076  +
Host:example.amazonaws.com
        1077  +
 1473   1078   
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
 1474   1079   
new file mode 100644
 1475   1080   
index 0000000..f65dd66
 1476         -
-- /dev/null
        1081  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1477   1082   
@@ -0,0 +1,4 @@
        1083  +
AWS4-HMAC-SHA256
        1084  +
20150830T123600Z
        1085  +
20150830/us-east-1/service/aws4_request
        1086  +
6e02e2dba21d6f269bae339b86ff27a4b7bbc9d88c482abccbfbf8a49d602482
              \
 No newline at end of file
 1478   1087   
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
 1479   1088   
similarity index 100%
 1480   1089   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt
 1481   1090   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1482   1091   
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
 1483   1092   
new file mode 100644
 1484   1093   
index 0000000..0468d80
 1485         -
-- /dev/null
        1094  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1486   1095   
@@ -0,0 +1,12 @@
        1096  +
{
        1097  +
    "credentials": {
        1098  +
        "access_key_id": "AKIDEXAMPLE",
        1099  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1100  +
    },
        1101  +
    "expiration_in_seconds": 3600,
        1102  +
    "normalize": true,
        1103  +
    "region": "us-east-1",
        1104  +
    "service": "service",
        1105  +
    "sign_body": false,
        1106  +
    "timestamp": "2015-08-30T12:36:00Z"
        1107  +
}
              \
 No newline at end of file
 1487   1108   
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
 1488   1109   
similarity index 100%
 1489   1110   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq
 1490   1111   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1491   1112   
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
 1492   1113   
new file mode 100644
 1493   1114   
index 0000000..87f295f
 1494         -
-- /dev/null
        1115  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1495   1116   
@@ -0,0 +1 @@
        1117  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1496   1118   
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
 1497   1119   
new file mode 100644
 1498   1120   
index 0000000..99c8eeb
 1499         -
-- /dev/null
        1121  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1500   1122   
@@ -0,0 +1,5 @@
        1123  +
GET /./ HTTP/1.1
        1124  +
Host:example.amazonaws.com
        1125  +
X-Amz-Date:20150830T123600Z
        1126  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1127  +
 1501   1128   
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
 1502   1129   
similarity index 100%
 1503   1130   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts
 1504   1131   
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
 1505   1132   
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
 1506   1133   
new file mode 100644
 1507   1134   
index 0000000..fb2420d
 1508         -
-- /dev/null
        1135  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1509   1136   
@@ -0,0 +1,7 @@
        1137  +
GET
        1138  +
/
        1139  +
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
        1140  +
host:example.amazonaws.com
        1141  +
        1142  +
host
        1143  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1510   1144   
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
 1511   1145   
new file mode 100644
 1512   1146   
index 0000000..da5c905
 1513         -
-- /dev/null
        1147  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1514   1148   
@@ -0,0 +1 @@
        1149  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1515   1150   
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
 1516   1151   
new file mode 100644
 1517   1152   
index 0000000..2e47f69
 1518         -
-- /dev/null
        1153  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1519   1154   
@@ -0,0 +1,3 @@
        1155  +
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
        1156  +
Host:example.amazonaws.com
        1157  +
 1520   1158   
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
 1521   1159   
new file mode 100644
 1522   1160   
index 0000000..d837e67
 1523         -
-- /dev/null
        1161  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1524   1162   
@@ -0,0 +1,4 @@
        1163  +
AWS4-HMAC-SHA256
        1164  +
20150830T123600Z
        1165  +
20150830/us-east-1/service/aws4_request
        1166  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1525   1167   
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
 1526   1168   
similarity index 100%
 1527   1169   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt
 1528   1170   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1529   1171   
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
 1530   1172   
similarity index 99%
 1531   1173   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
 1532   1174   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1533   1175   
index afe367b..7bee5c7 100644
 1534         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
        1176  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1535   1177   
@@ -1,12 +1,12 @@
 1536   1178   
{
 1537   1179   
    "credentials": {
 1538   1180   
        "access_key_id": "AKIDEXAMPLE",
 1539   1181   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1540   1182   
    },
 1541   1183   
    "expiration_in_seconds": 3600,
 1542   1184   
    "normalize": false,
 1543   1185   
    "region": "us-east-1",
 1544   1186   
    "service": "service",
 1545   1187   
    "sign_body": false,
 1546   1188   
    "timestamp": "2015-08-30T12:36:00Z"
 1547         -
}
        1189  +
}
              \
 No newline at end of file
 1548   1190   
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
 1549   1191   
new file mode 100644
 1550   1192   
index 0000000..5159048
 1551         -
-- /dev/null
        1193  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1552   1194   
@@ -0,0 +1,8 @@
        1195  +
GET
        1196  +
/./
        1197  +
        1198  +
host:example.amazonaws.com
        1199  +
x-amz-date:20150830T123600Z
        1200  +
        1201  +
host;x-amz-date
        1202  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1553   1203   
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
 1554   1204   
new file mode 100644
 1555   1205   
index 0000000..b49ff0e
 1556         -
-- /dev/null
        1206  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1557   1207   
@@ -0,0 +1 @@
        1208  +
68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
              \
 No newline at end of file
 1558   1209   
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
 1559   1210   
new file mode 100644
 1560   1211   
index 0000000..aeb1ffa
 1561         -
-- /dev/null
        1212  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1562   1213   
@@ -0,0 +1,5 @@
        1214  +
GET /./ HTTP/1.1
        1215  +
Host:example.amazonaws.com
        1216  +
X-Amz-Date:20150830T123600Z
        1217  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
        1218  +
 1563   1219   
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
 1564   1220   
new file mode 100644
 1565   1221   
index 0000000..b7d8caf
 1566         -
-- /dev/null
        1222  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1567   1223   
@@ -0,0 +1,4 @@
        1224  +
AWS4-HMAC-SHA256
        1225  +
20150830T123600Z
        1226  +
20150830/us-east-1/service/aws4_request
        1227  +
d67825e2268bd77a97c7688b8d72c31a3c1855b309808505ba0a9747d2465aa7
              \
 No newline at end of file
 1568   1228   
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
 1569   1229   
new file mode 100644
 1570   1230   
index 0000000..d4e029e
 1571         -
-- /dev/null
        1231  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1572   1232   
@@ -0,0 +1,7 @@
        1233  +
GET
        1234  +
/./
        1235  +
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
        1236  +
host:example.amazonaws.com
        1237  +
        1238  +
host
        1239  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1573   1240   
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
 1574   1241   
new file mode 100644
 1575   1242   
index 0000000..fe8f4cc
 1576         -
-- /dev/null
        1243  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1577   1244   
@@ -0,0 +1 @@
        1245  +
a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c
              \
 No newline at end of file
 1578   1246   
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
 1579   1247   
new file mode 100644
 1580   1248   
index 0000000..dcc4fc4
 1581         -
-- /dev/null
        1249  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1582   1250   
@@ -0,0 +1,3 @@
        1251  +
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
        1252  +
Host:example.amazonaws.com
        1253  +
 1583   1254   
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
 1584   1255   
new file mode 100644
 1585   1256   
index 0000000..5fb3ada
 1586         -
-- /dev/null
        1257  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1587   1258   
@@ -0,0 +1,4 @@
        1259  +
AWS4-HMAC-SHA256
        1260  +
20150830T123600Z
        1261  +
20150830/us-east-1/service/aws4_request
        1262  +
21b2da17873f30c1a7410efdc271738b318ccc2c9c6fbe1289fc242aeb1a8ae1
              \
 No newline at end of file
 1588   1263   
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
 1589   1264   
similarity index 100%
 1590   1265   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt
 1591   1266   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1592   1267   
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
 1593   1268   
new file mode 100644
 1594   1269   
index 0000000..0468d80
 1595         -
-- /dev/null
        1270  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1596   1271   
@@ -0,0 +1,12 @@
        1272  +
{
        1273  +
    "credentials": {
        1274  +
        "access_key_id": "AKIDEXAMPLE",
        1275  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1276  +
    },
        1277  +
    "expiration_in_seconds": 3600,
        1278  +
    "normalize": true,
        1279  +
    "region": "us-east-1",
        1280  +
    "service": "service",
        1281  +
    "sign_body": false,
        1282  +
    "timestamp": "2015-08-30T12:36:00Z"
        1283  +
}
              \
 No newline at end of file
 1597   1284   
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
 1598   1285   
similarity index 100%
 1599   1286   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq
 1600   1287   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1601   1288   
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
 1602   1289   
new file mode 100644
 1603   1290   
index 0000000..87f295f
 1604         -
-- /dev/null
        1291  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1605   1292   
@@ -0,0 +1 @@
        1293  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1606   1294   
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
 1607   1295   
new file mode 100644
 1608   1296   
index 0000000..b91087b
 1609         -
-- /dev/null
        1297  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1610   1298   
@@ -0,0 +1,5 @@
        1299  +
GET // HTTP/1.1
        1300  +
Host:example.amazonaws.com
        1301  +
X-Amz-Date:20150830T123600Z
        1302  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1303  +
 1611   1304   
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
 1612   1305   
similarity index 100%
 1613   1306   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts
 1614   1307   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1615   1308   
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
 1616   1309   
new file mode 100644
 1617   1310   
index 0000000..fb2420d
 1618         -
-- /dev/null
        1311  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1619   1312   
@@ -0,0 +1,7 @@
        1313  +
GET
        1314  +
/
        1315  +
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
        1316  +
host:example.amazonaws.com
        1317  +
        1318  +
host
        1319  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1620   1320   
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
 1621   1321   
new file mode 100644
 1622   1322   
index 0000000..da5c905
 1623         -
-- /dev/null
        1323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1624   1324   
@@ -0,0 +1 @@
        1325  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1625   1326   
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
 1626   1327   
new file mode 100644
 1627   1328   
index 0000000..0290ba4
 1628         -
-- /dev/null
        1329  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1629   1330   
@@ -0,0 +1,3 @@
        1331  +
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
        1332  +
Host:example.amazonaws.com
        1333  +
 1630   1334   
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
 1631   1335   
new file mode 100644
 1632   1336   
index 0000000..d837e67
 1633         -
-- /dev/null
        1337  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1634   1338   
@@ -0,0 +1,4 @@
        1339  +
AWS4-HMAC-SHA256
        1340  +
20150830T123600Z
        1341  +
20150830/us-east-1/service/aws4_request
        1342  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1635   1343   
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
 1636   1344   
similarity index 100%
 1637   1345   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt
 1638   1346   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1639   1347   
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
 1640   1348   
new file mode 100644
 1641   1349   
index 0000000..0468d80
 1642         -
-- /dev/null
        1350  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1643   1351   
@@ -0,0 +1,12 @@
        1352  +
{
        1353  +
    "credentials": {
        1354  +
        "access_key_id": "AKIDEXAMPLE",
        1355  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1356  +
    },
        1357  +
    "expiration_in_seconds": 3600,
        1358  +
    "normalize": true,
        1359  +
    "region": "us-east-1",
        1360  +
    "service": "service",
        1361  +
    "sign_body": false,
        1362  +
    "timestamp": "2015-08-30T12:36:00Z"
        1363  +
}
              \
 No newline at end of file
 1644   1364   
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
 1645   1365   
similarity index 100%
 1646   1366   
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
 1647   1367   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1648   1368   
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
 1649   1369   
new file mode 100644
 1650   1370   
index 0000000..8f892bf
 1651         -
-- /dev/null
        1371  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1652   1372   
@@ -0,0 +1 @@
        1373  +
ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
 1653   1374   
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
 1654   1375   
new file mode 100644
 1655   1376   
index 0000000..2a1895c
 1656         -
-- /dev/null
        1377  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1657   1378   
@@ -0,0 +1,5 @@
        1379  +
GET /./example HTTP/1.1
        1380  +
Host:example.amazonaws.com
        1381  +
X-Amz-Date:20150830T123600Z
        1382  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
        1383  +
 1658   1384   
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
 1659   1385   
similarity index 100%
 1660   1386   
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
 1661   1387   
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
 1662   1388   
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
 1663   1389   
new file mode 100644
 1664   1390   
index 0000000..99dfc2a
 1665         -
-- /dev/null
        1391  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1666   1392   
@@ -0,0 +1,7 @@
        1393  +
GET
        1394  +
/example
        1395  +
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
        1396  +
host:example.amazonaws.com
        1397  +
        1398  +
host
        1399  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1667   1400   
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
 1668   1401   
new file mode 100644
 1669   1402   
index 0000000..fcd7a17
 1670         -
-- /dev/null
        1403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1671   1404   
@@ -0,0 +1 @@
        1405  +
35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de
              \
 No newline at end of file
 1672   1406   
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
 1673   1407   
new file mode 100644
 1674   1408   
index 0000000..f671de2
 1675         -
-- /dev/null
        1409  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1676   1410   
@@ -0,0 +1,3 @@
        1411  +
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
        1412  +
Host:example.amazonaws.com
        1413  +
 1677   1414   
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
 1678   1415   
new file mode 100644
 1679   1416   
index 0000000..f8456dc
 1680         -
-- /dev/null
        1417  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1681   1418   
@@ -0,0 +1,4 @@
        1419  +
AWS4-HMAC-SHA256
        1420  +
20150830T123600Z
        1421  +
20150830/us-east-1/service/aws4_request
        1422  +
88dd73bb06de69cb042dbb82cadbb4fce1a2623615d94520c271614abf94e738
              \
 No newline at end of file
 1682   1423   
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
 1683   1424   
similarity index 100%
 1684   1425   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt
 1685   1426   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1686   1427   
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
 1687   1428   
similarity index 99%
 1688   1429   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
 1689   1430   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1690   1431   
index afe367b..7bee5c7 100644
 1691         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
        1432  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1692   1433   
@@ -1,12 +1,12 @@
 1693   1434   
{
 1694   1435   
    "credentials": {
 1695   1436   
        "access_key_id": "AKIDEXAMPLE",
 1696   1437   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1697   1438   
    },
 1698   1439   
    "expiration_in_seconds": 3600,
 1699   1440   
    "normalize": false,
 1700   1441   
    "region": "us-east-1",
 1701   1442   
    "service": "service",
 1702   1443   
    "sign_body": false,
 1703   1444   
    "timestamp": "2015-08-30T12:36:00Z"
 1704         -
}
        1445  +
}
              \
 No newline at end of file
 1705   1446   
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
 1706   1447   
new file mode 100644
 1707   1448   
index 0000000..36698c7
 1708         -
-- /dev/null
        1449  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1709   1450   
@@ -0,0 +1,8 @@
        1451  +
GET
        1452  +
/./example
        1453  +
        1454  +
host:example.amazonaws.com
        1455  +
x-amz-date:20150830T123600Z
        1456  +
        1457  +
host;x-amz-date
        1458  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1710   1459   
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
 1711   1460   
new file mode 100644
 1712   1461   
index 0000000..4a4b8f2
 1713         -
-- /dev/null
        1462  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1714   1463   
@@ -0,0 +1 @@
        1464  +
beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
              \
 No newline at end of file
 1715   1465   
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
 1716   1466   
new file mode 100644
 1717   1467   
index 0000000..d462bcd
 1718         -
-- /dev/null
        1468  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1719   1469   
@@ -0,0 +1,5 @@
        1470  +
GET /./example HTTP/1.1
        1471  +
Host:example.amazonaws.com
        1472  +
X-Amz-Date:20150830T123600Z
        1473  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
        1474  +
 1720   1475   
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
 1721   1476   
new file mode 100644
 1722   1477   
index 0000000..8be78c9
 1723         -
-- /dev/null
        1478  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1724   1479   
@@ -0,0 +1,4 @@
        1480  +
AWS4-HMAC-SHA256
        1481  +
20150830T123600Z
        1482  +
20150830/us-east-1/service/aws4_request
        1483  +
73895e0e829507e28e39fd24669aedc2434a8e179e547e3c075b42921f952cdb
              \
 No newline at end of file
 1725   1484   
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
 1726   1485   
new file mode 100644
 1727   1486   
index 0000000..fe1103c
 1728         -
-- /dev/null
        1487  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1729   1488   
@@ -0,0 +1,7 @@
        1489  +
GET
        1490  +
/./example
        1491  +
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
        1492  +
host:example.amazonaws.com
        1493  +
        1494  +
host
        1495  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1730   1496   
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
 1731   1497   
new file mode 100644
 1732   1498   
index 0000000..ce80762
 1733         -
-- /dev/null
        1499  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1734   1500   
@@ -0,0 +1 @@
        1501  +
72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10
              \
 No newline at end of file
 1735   1502   
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
 1736   1503   
new file mode 100644
 1737   1504   
index 0000000..30841a6
 1738         -
-- /dev/null
        1505  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1739   1506   
@@ -0,0 +1,3 @@
        1507  +
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
        1508  +
Host:example.amazonaws.com
        1509  +
 1740   1510   
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
 1741   1511   
new file mode 100644
 1742   1512   
index 0000000..5c66509
 1743         -
-- /dev/null
        1513  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1744   1514   
@@ -0,0 +1,4 @@
        1515  +
AWS4-HMAC-SHA256
        1516  +
20150830T123600Z
        1517  +
20150830/us-east-1/service/aws4_request
        1518  +
cb23444939471187ac1f0fb25d437337af0d5f48b5ae0ede5baa3727c8c6af92
              \
 No newline at end of file
 1745   1519   
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
 1746   1520   
similarity index 100%
 1747   1521   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt
 1748   1522   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1749   1523   
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
 1750   1524   
new file mode 100644
 1751   1525   
index 0000000..7bee5c7
 1752         -
-- /dev/null
        1526  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1753   1527   
@@ -0,0 +1,12 @@
        1528  +
{
        1529  +
    "credentials": {
        1530  +
        "access_key_id": "AKIDEXAMPLE",
        1531  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1532  +
    },
        1533  +
    "expiration_in_seconds": 3600,
        1534  +
    "normalize": false,
        1535  +
    "region": "us-east-1",
        1536  +
    "service": "service",
        1537  +
    "sign_body": false,
        1538  +
    "timestamp": "2015-08-30T12:36:00Z"
        1539  +
}
              \
 No newline at end of file
 1754   1540   
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
 1755   1541   
new file mode 100644
 1756   1542   
index 0000000..5860c8a
 1757         -
-- /dev/null
        1543  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1758   1544   
@@ -0,0 +1,8 @@
        1545  +
GET
        1546  +
//
        1547  +
        1548  +
host:example.amazonaws.com
        1549  +
x-amz-date:20150830T123600Z
        1550  +
        1551  +
host;x-amz-date
        1552  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1759   1553   
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
 1760   1554   
new file mode 100644
 1761   1555   
index 0000000..8310471
 1762         -
-- /dev/null
        1556  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1763   1557   
@@ -0,0 +1 @@
        1558  +
c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
              \
 No newline at end of file
 1764   1559   
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
 1765   1560   
new file mode 100644
 1766   1561   
index 0000000..2a7afef
 1767         -
-- /dev/null
        1562  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1768   1563   
@@ -0,0 +1,5 @@
        1564  +
GET // HTTP/1.1
        1565  +
Host:example.amazonaws.com
        1566  +
X-Amz-Date:20150830T123600Z
        1567  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
        1568  +
 1769   1569   
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
 1770   1570   
new file mode 100644
 1771   1571   
index 0000000..06059dd
 1772         -
-- /dev/null
        1572  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1773   1573   
@@ -0,0 +1,4 @@
        1574  +
AWS4-HMAC-SHA256
        1575  +
20150830T123600Z
        1576  +
20150830/us-east-1/service/aws4_request
        1577  +
80cb39203d058af815de2b79250ff56e1b73eb9b4718c86556cdc6f150c5d209
              \
 No newline at end of file
 1774   1578   
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
 1775   1579   
new file mode 100644
 1776   1580   
index 0000000..6d63aef
 1777         -
-- /dev/null
        1581  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1778   1582   
@@ -0,0 +1,7 @@
        1583  +
GET
        1584  +
//
        1585  +
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
        1586  +
host:example.amazonaws.com
        1587  +
        1588  +
host
        1589  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1779   1590   
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
 1780   1591   
new file mode 100644
 1781   1592   
index 0000000..e5b7b6c
 1782         -
-- /dev/null
        1593  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1783   1594   
@@ -0,0 +1 @@
        1595  +
b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd
              \
 No newline at end of file
 1784   1596   
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
 1785   1597   
new file mode 100644
 1786   1598   
index 0000000..46fe3fd
 1787         -
-- /dev/null
        1599  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1788   1600   
@@ -0,0 +1,3 @@
        1601  +
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
        1602  +
Host:example.amazonaws.com
        1603  +
 1789   1604   
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
 1790   1605   
new file mode 100644
 1791   1606   
index 0000000..ea79940
 1792         -
-- /dev/null
        1607  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1793   1608   
@@ -0,0 +1,4 @@
        1609  +
AWS4-HMAC-SHA256
        1610  +
20150830T123600Z
        1611  +
20150830/us-east-1/service/aws4_request
        1612  +
e10a01494cafa1f2207c4de80c69b7a36d6f2d282aa63ee64a5ca50e175cf730
              \
 No newline at end of file
 1794   1613   
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
 1795   1614   
similarity index 100%
 1796   1615   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt
 1797   1616   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1798   1617   
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
 1799   1618   
new file mode 100644
 1800   1619   
index 0000000..0468d80
 1801         -
-- /dev/null
        1620  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1802   1621   
@@ -0,0 +1,12 @@
        1622  +
{
        1623  +
    "credentials": {
        1624  +
        "access_key_id": "AKIDEXAMPLE",
        1625  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1626  +
    },
        1627  +
    "expiration_in_seconds": 3600,
        1628  +
    "normalize": true,
        1629  +
    "region": "us-east-1",
        1630  +
    "service": "service",
        1631  +
    "sign_body": false,
        1632  +
    "timestamp": "2015-08-30T12:36:00Z"
        1633  +
}
              \
 No newline at end of file
 1803   1634   
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
 1804   1635   
similarity index 100%
 1805   1636   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq
 1806   1637   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1807   1638   
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
 1808   1639   
new file mode 100644
 1809   1640   
index 0000000..71c7bac
 1810         -
-- /dev/null
        1641  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1811   1642   
@@ -0,0 +1 @@
        1643  +
9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
 1812   1644   
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
 1813   1645   
new file mode 100644
 1814   1646   
index 0000000..0add1f1
 1815         -
-- /dev/null
        1647  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1816   1648   
@@ -0,0 +1,5 @@
        1649  +
GET //example// HTTP/1.1
        1650  +
Host:example.amazonaws.com
        1651  +
X-Amz-Date:20150830T123600Z
        1652  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
        1653  +
 1817   1654   
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
 1818   1655   
similarity index 100%
 1819   1656   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts
 1820   1657   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1821   1658   
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
 1822   1659   
new file mode 100644
 1823   1660   
index 0000000..ce72510
 1824         -
-- /dev/null
        1661  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1825   1662   
@@ -0,0 +1,7 @@
        1663  +
GET
        1664  +
/example/
        1665  +
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
        1666  +
host:example.amazonaws.com
        1667  +
        1668  +
host
        1669  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1826   1670   
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
 1827   1671   
new file mode 100644
 1828   1672   
index 0000000..265f387
 1829         -
-- /dev/null
        1673  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1830   1674   
@@ -0,0 +1 @@
        1675  +
c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082
              \
 No newline at end of file
 1831   1676   
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
 1832   1677   
new file mode 100644
 1833   1678   
index 0000000..e1fcb2e
 1834         -
-- /dev/null
        1679  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1835   1680   
@@ -0,0 +1,3 @@
        1681  +
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
        1682  +
Host:example.amazonaws.com
        1683  +
 1836   1684   
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
 1837   1685   
new file mode 100644
 1838   1686   
index 0000000..a14de61
 1839         -
-- /dev/null
        1687  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1840   1688   
@@ -0,0 +1,4 @@
        1689  +
AWS4-HMAC-SHA256
        1690  +
20150830T123600Z
        1691  +
20150830/us-east-1/service/aws4_request
        1692  +
1a3e3fe19998c62136ed2ff9c8531973a46d4a21b336f58e8fcad185ec64d642
              \
 No newline at end of file
 1841   1693   
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
 1842   1694   
similarity index 100%
 1843   1695   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt
 1844   1696   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1845   1697   
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
 1846   1698   
new file mode 100644
 1847   1699   
index 0000000..7bee5c7
 1848         -
-- /dev/null
        1700  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1849   1701   
@@ -0,0 +1,12 @@
        1702  +
{
        1703  +
    "credentials": {
        1704  +
        "access_key_id": "AKIDEXAMPLE",
        1705  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1706  +
    },
        1707  +
    "expiration_in_seconds": 3600,
        1708  +
    "normalize": false,
        1709  +
    "region": "us-east-1",
        1710  +
    "service": "service",
        1711  +
    "sign_body": false,
        1712  +
    "timestamp": "2015-08-30T12:36:00Z"
        1713  +
}
              \
 No newline at end of file
 1850   1714   
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
 1851   1715   
new file mode 100644
 1852   1716   
index 0000000..dfffaaf
 1853         -
-- /dev/null
        1717  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1854   1718   
@@ -0,0 +1,8 @@
        1719  +
GET
        1720  +
//example//
        1721  +
        1722  +
host:example.amazonaws.com
        1723  +
x-amz-date:20150830T123600Z
        1724  +
        1725  +
host;x-amz-date
        1726  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1855   1727   
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
 1856   1728   
new file mode 100644
 1857   1729   
index 0000000..edbcc0d
 1858         -
-- /dev/null
        1730  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1859   1731   
@@ -0,0 +1 @@
        1732  +
87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
              \
 No newline at end of file
 1860   1733   
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
 1861   1734   
new file mode 100644
 1862   1735   
index 0000000..4cc12dd
 1863         -
-- /dev/null
        1736  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1864   1737   
@@ -0,0 +1,5 @@
        1738  +
GET //example// HTTP/1.1
        1739  +
Host:example.amazonaws.com
        1740  +
X-Amz-Date:20150830T123600Z
        1741  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
        1742  +
 1865   1743   
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
 1866   1744   
new file mode 100644
 1867   1745   
index 0000000..3eba390
 1868         -
-- /dev/null
        1746  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1869   1747   
@@ -0,0 +1,4 @@
        1748  +
AWS4-HMAC-SHA256
        1749  +
20150830T123600Z
        1750  +
20150830/us-east-1/service/aws4_request
        1751  +
528ec3105ee1f34ab014bb0a1a45da0ed2742a4fea3555149e5b4d5d201eb240
              \
 No newline at end of file
 1870   1752   
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
 1871   1753   
new file mode 100644
 1872   1754   
index 0000000..f7844e3
 1873         -
-- /dev/null
        1755  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1874   1756   
@@ -0,0 +1,7 @@
        1757  +
GET
        1758  +
//example//
        1759  +
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
        1760  +
host:example.amazonaws.com
        1761  +
        1762  +
host
        1763  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1875   1764   
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
 1876   1765   
new file mode 100644
 1877   1766   
index 0000000..a8d6b96
 1878         -
-- /dev/null
        1767  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1879   1768   
@@ -0,0 +1 @@
        1769  +
822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2
              \
 No newline at end of file
 1880   1770   
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
 1881   1771   
new file mode 100644
 1882   1772   
index 0000000..a8322c6
 1883         -
-- /dev/null
        1773  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1884   1774   
@@ -0,0 +1,3 @@
        1775  +
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
        1776  +
Host:example.amazonaws.com
        1777  +
 1885   1778   
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
 1886   1779   
new file mode 100644
 1887   1780   
index 0000000..068724d
 1888         -
-- /dev/null
        1781  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1889   1782   
@@ -0,0 +1,4 @@
        1783  +
AWS4-HMAC-SHA256
        1784  +
20150830T123600Z
        1785  +
20150830/us-east-1/service/aws4_request
        1786  +
82241114f9a6320f054333c890952474aa7a0069d28a4326c3a8d95bbecc69ee
              \
 No newline at end of file
 1890   1787   
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
 1891   1788   
similarity index 100%
 1892   1789   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt
 1893   1790   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1894   1791   
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
 1895   1792   
new file mode 100644
 1896   1793   
index 0000000..0468d80
 1897         -
-- /dev/null
        1794  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1898   1795   
@@ -0,0 +1,12 @@
        1796  +
{
        1797  +
    "credentials": {
        1798  +
        "access_key_id": "AKIDEXAMPLE",
        1799  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1800  +
    },
        1801  +
    "expiration_in_seconds": 3600,
        1802  +
    "normalize": true,
        1803  +
    "region": "us-east-1",
        1804  +
    "service": "service",
        1805  +
    "sign_body": false,
        1806  +
    "timestamp": "2015-08-30T12:36:00Z"
        1807  +
}
              \
 No newline at end of file
 1899   1808   
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
 1900   1809   
similarity index 100%
 1901   1810   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq
 1902   1811   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1903   1812   
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
 1904   1813   
new file mode 100644
 1905   1814   
index 0000000..f63892b
 1906         -
-- /dev/null
        1815  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1907   1816   
@@ -0,0 +1 @@
        1817  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1908   1818   
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
 1909   1819   
new file mode 100644
 1910   1820   
index 0000000..19cd5cb
 1911         -
-- /dev/null
        1821  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 1912   1822   
@@ -0,0 +1,5 @@
        1823  +
GET /example space/ HTTP/1.1
        1824  +
Host:example.amazonaws.com
        1825  +
X-Amz-Date:20150830T123600Z
        1826  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1827  +
 1913   1828   
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
 1914   1829   
similarity index 100%
 1915   1830   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts
 1916   1831   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 1917   1832   
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
 1918   1833   
new file mode 100644
 1919   1834   
index 0000000..fa3d3e2
 1920         -
-- /dev/null
        1835  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 1921   1836   
@@ -0,0 +1,7 @@
        1837  +
GET
        1838  +
/example%20space/
        1839  +
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
        1840  +
host:example.amazonaws.com
        1841  +
        1842  +
host
        1843  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1922   1844   
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
 1923   1845   
new file mode 100644
 1924   1846   
index 0000000..5b2e204
 1925         -
-- /dev/null
        1847  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 1926   1848   
@@ -0,0 +1 @@
        1849  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1927   1850   
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
 1928   1851   
new file mode 100644
 1929   1852   
index 0000000..93ca1d0
 1930         -
-- /dev/null
        1853  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 1931   1854   
@@ -0,0 +1,3 @@
        1855  +
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
        1856  +
Host:example.amazonaws.com
        1857  +
 1932   1858   
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
 1933   1859   
new file mode 100644
 1934   1860   
index 0000000..b4cb789
 1935         -
-- /dev/null
        1861  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 1936   1862   
@@ -0,0 +1,4 @@
        1863  +
AWS4-HMAC-SHA256
        1864  +
20150830T123600Z
        1865  +
20150830/us-east-1/service/aws4_request
        1866  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1937   1867   
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
 1938   1868   
new file mode 100644
 1939   1869   
index 0000000..860a277
 1940         -
-- /dev/null
        1870  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 1941   1871   
@@ -0,0 +1,2 @@
        1872  +
GET /example%20space/ HTTP/1.1
        1873  +
Host:example.amazonaws.com
 1942   1874   
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
 1943   1875   
new file mode 100644
 1944   1876   
index 0000000..7bee5c7
 1945         -
-- /dev/null
        1877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 1946   1878   
@@ -0,0 +1,12 @@
        1879  +
{
        1880  +
    "credentials": {
        1881  +
        "access_key_id": "AKIDEXAMPLE",
        1882  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1883  +
    },
        1884  +
    "expiration_in_seconds": 3600,
        1885  +
    "normalize": false,
        1886  +
    "region": "us-east-1",
        1887  +
    "service": "service",
        1888  +
    "sign_body": false,
        1889  +
    "timestamp": "2015-08-30T12:36:00Z"
        1890  +
}
              \
 No newline at end of file
 1947   1891   
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
 1948   1892   
similarity index 66%
 1949   1893   
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
 1950   1894   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1951   1895   
index 71dc981..124a709 100644
 1952         -
-- 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
        1896  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1953   1897   
@@ -1,9 +1,8 @@
 1954         -
POST
 1955         -
/
        1898  +
GET
        1899  +
/example%20space/
 1956   1900   
 1957         -
content-type:application/x-www-form-urlencoded; charset=utf-8
 1958   1901   
host:example.amazonaws.com
 1959   1902   
x-amz-date:20150830T123600Z
 1960   1903   
 1961   1904   
host;x-amz-date
 1962   1905   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1963   1906   
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
 1964   1907   
new file mode 100644
 1965   1908   
index 0000000..f63892b
 1966         -
-- /dev/null
        1909  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 1967   1910   
@@ -0,0 +1 @@
        1911  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1968   1912   
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
 1969   1913   
new file mode 100644
 1970   1914   
index 0000000..19cd5cb
 1971         -
-- /dev/null
        1915  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 1972   1916   
@@ -0,0 +1,5 @@
        1917  +
GET /example space/ HTTP/1.1
        1918  +
Host:example.amazonaws.com
        1919  +
X-Amz-Date:20150830T123600Z
        1920  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1921  +
 1973   1922   
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
 1974   1923   
new file mode 100644
 1975   1924   
index 0000000..a633f0c
 1976         -
-- /dev/null
        1925  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 1977   1926   
@@ -0,0 +1,4 @@
        1927  +
AWS4-HMAC-SHA256
        1928  +
20150830T123600Z
        1929  +
20150830/us-east-1/service/aws4_request
        1930  +
63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86
              \
 No newline at end of file
 1978   1931   
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
 1979   1932   
new file mode 100644
 1980   1933   
index 0000000..fa3d3e2
 1981         -
-- /dev/null
        1934  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 1982   1935   
@@ -0,0 +1,7 @@
        1936  +
GET
        1937  +
/example%20space/
        1938  +
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
        1939  +
host:example.amazonaws.com
        1940  +
        1941  +
host
        1942  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1983   1943   
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
 1984   1944   
new file mode 100644
 1985   1945   
index 0000000..5b2e204
 1986         -
-- /dev/null
        1946  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 1987   1947   
@@ -0,0 +1 @@
        1948  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1988   1949   
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
 1989   1950   
new file mode 100644
 1990   1951   
index 0000000..93ca1d0
 1991         -
-- /dev/null
        1952  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 1992   1953   
@@ -0,0 +1,3 @@
        1954  +
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
        1955  +
Host:example.amazonaws.com
        1956  +
 1993   1957   
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
 1994   1958   
new file mode 100644
 1995   1959   
index 0000000..b4cb789
 1996         -
-- /dev/null
        1960  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 1997   1961   
@@ -0,0 +1,4 @@
        1962  +
AWS4-HMAC-SHA256
        1963  +
20150830T123600Z
        1964  +
20150830/us-east-1/service/aws4_request
        1965  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1998   1966   
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
 1999   1967   
similarity index 67%
 2000   1968   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
 2001   1969   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 2002   1970   
index b7d5e8b..ab509ab 100644
 2003         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
        1971  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 2004   1972   
@@ -1,3 +1,2 @@
 2005   1973   
GET /example space/ HTTP/1.1
 2006   1974   
Host:example.amazonaws.com
 2007         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2008   1975   
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
 2009   1976   
new file mode 100644
 2010   1977   
index 0000000..0468d80
 2011         -
-- /dev/null
        1978  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 2012   1979   
@@ -0,0 +1,12 @@
        1980  +
{
        1981  +
    "credentials": {
        1982  +
        "access_key_id": "AKIDEXAMPLE",
        1983  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1984  +
    },
        1985  +
    "expiration_in_seconds": 3600,
        1986  +
    "normalize": true,
        1987  +
    "region": "us-east-1",
        1988  +
    "service": "service",
        1989  +
    "sign_body": false,
        1990  +
    "timestamp": "2015-08-30T12:36:00Z"
        1991  +
}
              \
 No newline at end of file
 2013   1992   
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
 2014   1993   
similarity index 100%
 2015   1994   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq
 2016   1995   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 2017   1996   
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
 2018   1997   
new file mode 100644
 2019   1998   
index 0000000..e503354
 2020         -
-- /dev/null
        1999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 2021   2000   
@@ -0,0 +1 @@
        2001  +
07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
 2022   2002   
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
 2023   2003   
new file mode 100644
 2024   2004   
index 0000000..4367892
 2025         -
-- /dev/null
        2005  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 2026   2006   
@@ -0,0 +1,5 @@
        2007  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        2008  +
Host:example.amazonaws.com
        2009  +
X-Amz-Date:20150830T123600Z
        2010  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
        2011  +
 2027   2012   
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
 2028   2013   
similarity index 100%
 2029   2014   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts
 2030   2015   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 2031   2016   
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
 2032   2017   
new file mode 100644
 2033   2018   
index 0000000..d7f0696
 2034         -
-- /dev/null
        2019  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 2035   2020   
@@ -0,0 +1,7 @@
        2021  +
GET
        2022  +
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
        2023  +
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
        2024  +
host:example.amazonaws.com
        2025  +
        2026  +
host
        2027  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2036   2028   
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
 2037   2029   
new file mode 100644
 2038   2030   
index 0000000..509e972
 2039         -
-- /dev/null
        2031  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 2040   2032   
@@ -0,0 +1 @@
        2033  +
95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005
              \
 No newline at end of file
 2041   2034   
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
 2042   2035   
new file mode 100644
 2043   2036   
index 0000000..79aad36
 2044         -
-- /dev/null
        2037  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 2045   2038   
@@ -0,0 +1,3 @@
        2039  +
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
        2040  +
Host:example.amazonaws.com
        2041  +
 2046   2042   
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
 2047   2043   
new file mode 100644
 2048   2044   
index 0000000..e8068b3
 2049         -
-- /dev/null
        2045  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 2050   2046   
@@ -0,0 +1,4 @@
        2047  +
AWS4-HMAC-SHA256
        2048  +
20150830T123600Z
        2049  +
20150830/us-east-1/service/aws4_request
        2050  +
3134f2fbc6ef58f34b74b01643a159bfccbc121ea4288a4b75e65bc805d08219
              \
 No newline at end of file
 2051   2051   
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
 2052   2052   
similarity index 100%
 2053   2053   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt
 2054   2054   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 2055   2055   
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
 2056   2056   
new file mode 100644
 2057   2057   
index 0000000..0468d80
 2058         -
-- /dev/null
        2058  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 2059   2059   
@@ -0,0 +1,12 @@
        2060  +
{
        2061  +
    "credentials": {
        2062  +
        "access_key_id": "AKIDEXAMPLE",
        2063  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2064  +
    },
        2065  +
    "expiration_in_seconds": 3600,
        2066  +
    "normalize": true,
        2067  +
    "region": "us-east-1",
        2068  +
    "service": "service",
        2069  +
    "sign_body": false,
        2070  +
    "timestamp": "2015-08-30T12:36:00Z"
        2071  +
}
              \
 No newline at end of file
 2060   2072   
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
 2061   2073   
similarity index 100%
 2062   2074   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq
 2063   2075   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 2064   2076   
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
 2065   2077   
new file mode 100644
 2066   2078   
index 0000000..9a13676
 2067         -
-- /dev/null
        2079  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 2068   2080   
@@ -0,0 +1 @@
        2081  +
8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
 2069   2082   
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
 2070   2083   
new file mode 100644
 2071   2084   
index 0000000..5aaf47c
 2072         -
-- /dev/null
        2085  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 2073   2086   
@@ -0,0 +1,5 @@
        2087  +
GET /ሴ HTTP/1.1
        2088  +
Host:example.amazonaws.com
        2089  +
X-Amz-Date:20150830T123600Z
        2090  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
        2091  +
 2074   2092   
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
 2075   2093   
similarity index 100%
 2076   2094   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts
 2077   2095   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 2078   2096   
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
 2079   2097   
new file mode 100644
 2080   2098   
index 0000000..bdb77c9
 2081         -
-- /dev/null
        2099  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 2082   2100   
@@ -0,0 +1,7 @@
        2101  +
GET
        2102  +
/%E1%88%B4
        2103  +
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
        2104  +
host:example.amazonaws.com
        2105  +
        2106  +
host
        2107  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2083   2108   
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
 2084   2109   
new file mode 100644
 2085   2110   
index 0000000..21342b3
 2086         -
-- /dev/null
        2111  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 2087   2112   
@@ -0,0 +1 @@
        2113  +
10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44
              \
 No newline at end of file
 2088   2114   
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
 2089   2115   
new file mode 100644
 2090   2116   
index 0000000..368c2ff
 2091         -
-- /dev/null
        2117  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 2092   2118   
@@ -0,0 +1,3 @@
        2119  +
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
        2120  +
Host:example.amazonaws.com
        2121  +
 2093   2122   
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
 2094   2123   
new file mode 100644
 2095   2124   
index 0000000..56b8fbf
 2096         -
-- /dev/null
        2125  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 2097   2126   
@@ -0,0 +1,4 @@
        2127  +
AWS4-HMAC-SHA256
        2128  +
20150830T123600Z
        2129  +
20150830/us-east-1/service/aws4_request
        2130  +
d8f78e05d0d9bb1c16ae1e60ed405de76cfb8fdcd3e414ffe65fad563b996d66
              \
 No newline at end of file
 2098   2131   
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
 2099   2132   
similarity index 62%
 2100   2133   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
 2101   2134   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2102   2135   
index da4808d..9e273f6 100644
 2103         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
        2136  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2104   2137   
@@ -1,3 +1,2 @@
 2105   2138   
GET /ሴ HTTP/1.1
 2106   2139   
Host:example.amazonaws.com
 2107         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2108   2140   
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
 2109   2141   
new file mode 100644
 2110   2142   
index 0000000..0468d80
 2111         -
-- /dev/null
        2143  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 2112   2144   
@@ -0,0 +1,12 @@
        2145  +
{
        2146  +
    "credentials": {
        2147  +
        "access_key_id": "AKIDEXAMPLE",
        2148  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2149  +
    },
        2150  +
    "expiration_in_seconds": 3600,
        2151  +
    "normalize": true,
        2152  +
    "region": "us-east-1",
        2153  +
    "service": "service",
        2154  +
    "sign_body": false,
        2155  +
    "timestamp": "2015-08-30T12:36:00Z"
        2156  +
}
              \
 No newline at end of file
 2113   2157   
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
 2114   2158   
similarity index 100%
 2115   2159   
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
 2116   2160   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 2117   2161   
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
 2118   2162   
new file mode 100644
 2119   2163   
index 0000000..d7f1c1c
 2120         -
-- /dev/null
        2164  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 2121   2165   
@@ -0,0 +1 @@
        2166  +
a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
 2122   2167   
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
 2123   2168   
new file mode 100644
 2124   2169   
index 0000000..1c60790
 2125         -
-- /dev/null
        2170  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 2126   2171   
@@ -0,0 +1,5 @@
        2172  +
GET /?Param1=value1 HTTP/1.1
        2173  +
Host:example.amazonaws.com
        2174  +
X-Amz-Date:20150830T123600Z
        2175  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
        2176  +
 2127   2177   
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
 2128   2178   
similarity index 100%
 2129   2179   
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
 2130   2180   
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
 2131   2181   
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
 2132   2182   
new file mode 100644
 2133   2183   
index 0000000..6a823ed
 2134         -
-- /dev/null
        2184  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 2135   2185   
@@ -0,0 +1,7 @@
        2186  +
GET
        2187  +
/
        2188  +
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
        2189  +
host:example.amazonaws.com
        2190  +
        2191  +
host
        2192  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2136   2193   
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
 2137   2194   
new file mode 100644
 2138   2195   
index 0000000..8c77136
 2139         -
-- /dev/null
        2196  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 2140   2197   
@@ -0,0 +1 @@
        2198  +
49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de
              \
 No newline at end of file
 2141   2199   
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
 2142   2200   
new file mode 100644
 2143   2201   
index 0000000..2d337d8
 2144         -
-- /dev/null
        2202  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 2145   2203   
@@ -0,0 +1,3 @@
        2204  +
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
        2205  +
Host:example.amazonaws.com
        2206  +
 2146   2207   
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
 2147   2208   
new file mode 100644
 2148   2209   
index 0000000..191a484
 2149         -
-- /dev/null
        2210  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 2150   2211   
@@ -0,0 +1,4 @@
        2212  +
AWS4-HMAC-SHA256
        2213  +
20150830T123600Z
        2214  +
20150830/us-east-1/service/aws4_request
        2215  +
74828b608f939673ed5a839190452a943b0178760f258da766209b21f8ca3f86
              \
 No newline at end of file
 2151   2216   
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
 2152   2217   
similarity index 100%
 2153   2218   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt
 2154   2219   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 2155   2220   
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
 2156   2221   
new file mode 100644
 2157   2222   
index 0000000..0468d80
 2158         -
-- /dev/null
        2223  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 2159   2224   
@@ -0,0 +1,12 @@
        2225  +
{
        2226  +
    "credentials": {
        2227  +
        "access_key_id": "AKIDEXAMPLE",
        2228  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2229  +
    },
        2230  +
    "expiration_in_seconds": 3600,
        2231  +
    "normalize": true,
        2232  +
    "region": "us-east-1",
        2233  +
    "service": "service",
        2234  +
    "sign_body": false,
        2235  +
    "timestamp": "2015-08-30T12:36:00Z"
        2236  +
}
              \
 No newline at end of file
 2160   2237   
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
 2161   2238   
new file mode 100644
 2162   2239   
index 0000000..0c8ba21
 2163         -
-- /dev/null
        2240  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 2164   2241   
@@ -0,0 +1,8 @@
        2242  +
GET
        2243  +
/
        2244  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        2245  +
host:example.amazonaws.com
        2246  +
x-amz-date:20150830T123600Z
        2247  +
        2248  +
host;x-amz-date
        2249  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2165   2250   
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
 2166   2251   
new file mode 100644
 2167   2252   
index 0000000..9ab65ed
 2168         -
-- /dev/null
        2253  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 2169   2254   
@@ -0,0 +1 @@
        2255  +
371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
              \
 No newline at end of file
 2170   2256   
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
 2171   2257   
new file mode 100644
 2172   2258   
index 0000000..0bcdf98
 2173         -
-- /dev/null
        2259  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 2174   2260   
@@ -0,0 +1,5 @@
        2261  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2262  +
Host:example.amazonaws.com
        2263  +
X-Amz-Date:20150830T123600Z
        2264  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
        2265  +
 2175   2266   
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
 2176   2267   
new file mode 100644
 2177   2268   
index 0000000..bf674ad
 2178         -
-- /dev/null
        2269  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 2179   2270   
@@ -0,0 +1,4 @@
        2271  +
AWS4-HMAC-SHA256
        2272  +
20150830T123600Z
        2273  +
20150830/us-east-1/service/aws4_request
        2274  +
868294f5c38bd141c4972a373a76654f1418a8e4fc18b2e7903ae45e8ae0ec71
              \
 No newline at end of file
 2180   2275   
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
 2181   2276   
new file mode 100644
 2182   2277   
index 0000000..3f590a4
 2183         -
-- /dev/null
        2278  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 2184   2279   
@@ -0,0 +1,7 @@
        2280  +
GET
        2281  +
/
        2282  +
%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
        2283  +
host:example.amazonaws.com
        2284  +
        2285  +
host
        2286  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2185   2287   
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
 2186   2288   
new file mode 100644
 2187   2289   
index 0000000..e225eab
 2188         -
-- /dev/null
        2290  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 2189   2291   
@@ -0,0 +1 @@
        2292  +
c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787
              \
 No newline at end of file
 2190   2293   
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
 2191   2294   
new file mode 100644
 2192   2295   
index 0000000..6206719
 2193         -
-- /dev/null
        2296  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 2194   2297   
@@ -0,0 +1,3 @@
        2298  +
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
        2299  +
Host:example.amazonaws.com
        2300  +
 2195   2301   
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
 2196   2302   
new file mode 100644
 2197   2303   
index 0000000..81a4210
 2198         -
-- /dev/null
        2304  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 2199   2305   
@@ -0,0 +1,4 @@
        2306  +
AWS4-HMAC-SHA256
        2307  +
20150830T123600Z
        2308  +
20150830/us-east-1/service/aws4_request
        2309  +
9808d6cdc8245c74e705c68350fc6a62b91778cdd613890e5d177998c02c6f53
              \
 No newline at end of file
 2200   2310   
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
 2201   2311   
new file mode 100644
 2202   2312   
index 0000000..368c6e3
 2203         -
-- /dev/null
        2313  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 2204   2314   
@@ -0,0 +1,2 @@
        2315  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2316  +
Host:example.amazonaws.com
 2205   2317   
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
 2206   2318   
new file mode 100644
 2207   2319   
index 0000000..0468d80
 2208         -
-- /dev/null
        2320  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 2209   2321   
@@ -0,0 +1,12 @@
        2322  +
{
        2323  +
    "credentials": {
        2324  +
        "access_key_id": "AKIDEXAMPLE",
        2325  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2326  +
    },
        2327  +
    "expiration_in_seconds": 3600,
        2328  +
    "normalize": true,
        2329  +
    "region": "us-east-1",
        2330  +
    "service": "service",
        2331  +
    "sign_body": false,
        2332  +
    "timestamp": "2015-08-30T12:36:00Z"
        2333  +
}
              \
 No newline at end of file
 2210   2334   
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
 2211   2335   
similarity index 100%
 2212   2336   
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
 2213   2337   
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
 2214   2338   
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
 2215   2339   
new file mode 100644
 2216   2340   
index 0000000..6a8cb9d
 2217         -
-- /dev/null
        2341  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 2218   2342   
@@ -0,0 +1 @@
        2343  +
b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
 2219   2344   
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
 2220   2345   
new file mode 100644
 2221   2346   
index 0000000..f78a9d2
 2222         -
-- /dev/null
        2347  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 2223   2348   
@@ -0,0 +1,5 @@
        2349  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        2350  +
Host:example.amazonaws.com
        2351  +
X-Amz-Date:20150830T123600Z
        2352  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
        2353  +
 2224   2354   
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
 2225   2355   
similarity index 100%
 2226   2356   
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
 2227   2357   
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
 2228   2358   
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
 2229   2359   
new file mode 100644
 2230   2360   
index 0000000..a6e1bc7
 2231         -
-- /dev/null
        2361  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 2232   2362   
@@ -0,0 +1,7 @@
        2363  +
GET
        2364  +
/
        2365  +
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
        2366  +
host:example.amazonaws.com
        2367  +
        2368  +
host
        2369  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2233   2370   
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
 2234   2371   
new file mode 100644
 2235   2372   
index 0000000..d6e6a88
 2236         -
-- /dev/null
        2373  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 2237   2374   
@@ -0,0 +1 @@
        2375  +
86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5
              \
 No newline at end of file
 2238   2376   
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
 2239   2377   
new file mode 100644
 2240   2378   
index 0000000..538e2f0
 2241         -
-- /dev/null
        2379  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 2242   2380   
@@ -0,0 +1,3 @@
        2381  +
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
        2382  +
Host:example.amazonaws.com
        2383  +
 2243   2384   
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
 2244   2385   
new file mode 100644
 2245   2386   
index 0000000..e696085
 2246         -
-- /dev/null
        2387  +
++ 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
 2247   2388   
@@ -0,0 +1,4 @@
        2389  +
AWS4-HMAC-SHA256
        2390  +
20150830T123600Z
        2391  +
20150830/us-east-1/service/aws4_request
        2392  +
b82878ecb2ab7ad194b9fe79b2946c2a36ee1627a219408089b2d774c1a0cedb
              \
 No newline at end of file
 2248   2393   
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
 2249   2394   
similarity index 100%
 2250   2395   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt
 2251   2396   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2252   2397   
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
 2253   2398   
new file mode 100644
 2254   2399   
index 0000000..0468d80
 2255         -
-- /dev/null
        2400  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2256   2401   
@@ -0,0 +1,12 @@
        2402  +
{
        2403  +
    "credentials": {
        2404  +
        "access_key_id": "AKIDEXAMPLE",
        2405  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2406  +
    },
        2407  +
    "expiration_in_seconds": 3600,
        2408  +
    "normalize": true,
        2409  +
    "region": "us-east-1",
        2410  +
    "service": "service",
        2411  +
    "sign_body": false,
        2412  +
    "timestamp": "2015-08-30T12:36:00Z"
        2413  +
}
              \
 No newline at end of file
 2257   2414   
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
 2258   2415   
similarity index 100%
 2259   2416   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq
 2260   2417   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2261   2418   
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
 2262   2419   
new file mode 100644
 2263   2420   
index 0000000..876a64b
 2264         -
-- /dev/null
        2421  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2265   2422   
@@ -0,0 +1 @@
        2423  +
9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
 2266   2424   
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
 2267   2425   
similarity index 50%
 2268   2426   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
 2269   2427   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2270   2428   
index ba1ef40..9d0d993 100644
 2271         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
        2429  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2272   2430   
@@ -1,4 +1,5 @@
 2273   2431   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 2274   2432   
Host:example.amazonaws.com
 2275   2433   
X-Amz-Date:20150830T123600Z
 2276         -
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
        2434  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
        2435  +
 2277   2436   
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
 2278   2437   
similarity index 100%
 2279   2438   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts
 2280   2439   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2281   2440   
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
 2282   2441   
new file mode 100644
 2283   2442   
index 0000000..a1bac59
 2284         -
-- /dev/null
        2443  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2285   2444   
@@ -0,0 +1,7 @@
        2445  +
GET
        2446  +
/
        2447  +
-._~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
        2448  +
host:example.amazonaws.com
        2449  +
        2450  +
host
        2451  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2286   2452   
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
 2287   2453   
new file mode 100644
 2288   2454   
index 0000000..41881e9
 2289         -
-- /dev/null
        2455  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2290   2456   
@@ -0,0 +1 @@
        2457  +
8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf
              \
 No newline at end of file
 2291   2458   
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
 2292   2459   
new file mode 100644
 2293   2460   
index 0000000..3179076
 2294         -
-- /dev/null
        2461  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2295   2462   
@@ -0,0 +1,3 @@
        2463  +
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
        2464  +
Host:example.amazonaws.com
        2465  +
 2296   2466   
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
 2297   2467   
new file mode 100644
 2298   2468   
index 0000000..6d675fc
 2299         -
-- /dev/null
        2469  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2300   2470   
@@ -0,0 +1,4 @@
        2471  +
AWS4-HMAC-SHA256
        2472  +
20150830T123600Z
        2473  +
20150830/us-east-1/service/aws4_request
        2474  +
c77f27ef2b499fbfee3f0b3c88bba7057b2b31ee9b62047078a5e0d6be91fd58
              \
 No newline at end of file
 2301   2475   
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
 2302   2476   
similarity index 100%
 2303   2477   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt
 2304   2478   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2305   2479   
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
 2306   2480   
new file mode 100644
 2307   2481   
index 0000000..0468d80
 2308         -
-- /dev/null
        2482  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2309   2483   
@@ -0,0 +1,12 @@
        2484  +
{
        2485  +
    "credentials": {
        2486  +
        "access_key_id": "AKIDEXAMPLE",
        2487  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2488  +
    },
        2489  +
    "expiration_in_seconds": 3600,
        2490  +
    "normalize": true,
        2491  +
    "region": "us-east-1",
        2492  +
    "service": "service",
        2493  +
    "sign_body": false,
        2494  +
    "timestamp": "2015-08-30T12:36:00Z"
        2495  +
}
              \
 No newline at end of file
 2310   2496   
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
 2311   2497   
similarity index 100%
 2312   2498   
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
 2313   2499   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2314   2500   
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
 2315   2501   
new file mode 100644
 2316   2502   
index 0000000..87f295f
 2317         -
-- /dev/null
        2503  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2318   2504   
@@ -0,0 +1 @@
        2505  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2319   2506   
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
 2320   2507   
new file mode 100644
 2321   2508   
index 0000000..36b86e7
 2322         -
-- /dev/null
        2509  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2323   2510   
@@ -0,0 +1,5 @@
        2511  +
GET / HTTP/1.1
        2512  +
Host:example.amazonaws.com
        2513  +
X-Amz-Date:20150830T123600Z
        2514  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2515  +
 2324   2516   
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
 2325   2517   
similarity index 100%
 2326   2518   
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
 2327   2519   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2328   2520   
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
 2329   2521   
new file mode 100644
 2330   2522   
index 0000000..fb2420d
 2331         -
-- /dev/null
        2523  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2332   2524   
@@ -0,0 +1,7 @@
        2525  +
GET
        2526  +
/
        2527  +
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
        2528  +
host:example.amazonaws.com
        2529  +
        2530  +
host
        2531  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2333   2532   
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
 2334   2533   
new file mode 100644
 2335   2534   
index 0000000..da5c905
 2336         -
-- /dev/null
        2535  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2337   2536   
@@ -0,0 +1 @@
        2537  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2338   2538   
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
 2339   2539   
new file mode 100644
 2340   2540   
index 0000000..eeb7a8f
 2341         -
-- /dev/null
        2541  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2342   2542   
@@ -0,0 +1,3 @@
        2543  +
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
        2544  +
Host:example.amazonaws.com
        2545  +
 2343   2546   
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
 2344   2547   
new file mode 100644
 2345   2548   
index 0000000..d837e67
 2346         -
-- /dev/null
        2549  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2347   2550   
@@ -0,0 +1,4 @@
        2551  +
AWS4-HMAC-SHA256
        2552  +
20150830T123600Z
        2553  +
20150830/us-east-1/service/aws4_request
        2554  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2348   2555   
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
 2349   2556   
similarity index 100%
 2350   2557   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt
 2351   2558   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2352   2559   
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
 2353   2560   
new file mode 100644
 2354   2561   
index 0000000..0468d80
 2355         -
-- /dev/null
        2562  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2356   2563   
@@ -0,0 +1,12 @@
        2564  +
{
        2565  +
    "credentials": {
        2566  +
        "access_key_id": "AKIDEXAMPLE",
        2567  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2568  +
    },
        2569  +
    "expiration_in_seconds": 3600,
        2570  +
    "normalize": true,
        2571  +
    "region": "us-east-1",
        2572  +
    "service": "service",
        2573  +
    "sign_body": false,
        2574  +
    "timestamp": "2015-08-30T12:36:00Z"
        2575  +
}
              \
 No newline at end of file
 2357   2576   
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
 2358   2577   
similarity index 100%
 2359   2578   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq
 2360   2579   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2361   2580   
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
 2362   2581   
new file mode 100644
 2363   2582   
index 0000000..19a2cc9
 2364         -
-- /dev/null
        2583  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2365   2584   
@@ -0,0 +1 @@
        2585  +
2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
 2366   2586   
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
 2367   2587   
new file mode 100644
 2368   2588   
index 0000000..acb13ee
 2369         -
-- /dev/null
        2589  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2370   2590   
@@ -0,0 +1,5 @@
        2591  +
GET /?ሴ=bar HTTP/1.1
        2592  +
Host:example.amazonaws.com
        2593  +
X-Amz-Date:20150830T123600Z
        2594  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
        2595  +
 2371   2596   
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
 2372   2597   
similarity index 100%
 2373   2598   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts
 2374   2599   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2375   2600   
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
 2376   2601   
new file mode 100644
 2377   2602   
index 0000000..92cee62
 2378         -
-- /dev/null
        2603  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2379   2604   
@@ -0,0 +1,7 @@
        2605  +
GET
        2606  +
/
        2607  +
%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
        2608  +
host:example.amazonaws.com
        2609  +
        2610  +
host
        2611  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2380   2612   
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
 2381   2613   
new file mode 100644
 2382   2614   
index 0000000..c9e49de
 2383         -
-- /dev/null
        2615  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2384   2616   
@@ -0,0 +1 @@
        2617  +
0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600
              \
 No newline at end of file
 2385   2618   
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
 2386   2619   
new file mode 100644
 2387   2620   
index 0000000..8f4d8d0
 2388         -
-- /dev/null
        2621  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2389   2622   
@@ -0,0 +1,3 @@
        2623  +
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
        2624  +
Host:example.amazonaws.com
        2625  +
 2390   2626   
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
 2391   2627   
new file mode 100644
 2392   2628   
index 0000000..a6181dc
 2393         -
-- /dev/null
        2629  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2394   2630   
@@ -0,0 +1,4 @@
        2631  +
AWS4-HMAC-SHA256
        2632  +
20150830T123600Z
        2633  +
20150830/us-east-1/service/aws4_request
        2634  +
b2e8ae8e48ec880defebc6f6dc1d9fbc9f1856b33146f2943060ca71a50a7a77
              \
 No newline at end of file
 2395   2635   
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
 2396   2636   
similarity index 64%
 2397   2637   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
 2398   2638   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2399   2639   
index cc2757e..aff333a 100644
 2400         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
        2640  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2401   2641   
@@ -1,3 +1,2 @@
 2402   2642   
GET /?ሴ=bar HTTP/1.1
 2403   2643   
Host:example.amazonaws.com
 2404         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2405   2644   
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
 2406   2645   
similarity index 99%
 2407   2646   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
 2408   2647   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2409   2648   
index a457c8a..a334e18 100644
 2410         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
        2649  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2411   2650   
@@ -1,13 +1,13 @@
 2412   2651   
{
 2413   2652   
    "credentials": {
 2414   2653   
        "access_key_id": "AKIDEXAMPLE",
 2415   2654   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
 2416   2655   
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
 2417   2656   
    },
 2418   2657   
    "expiration_in_seconds": 3600,
 2419   2658   
    "normalize": true,
 2420   2659   
    "region": "us-east-1",
 2421   2660   
    "service": "service",
 2422   2661   
    "sign_body": false,
 2423   2662   
    "timestamp": "2015-08-30T12:36:00Z"
 2424         -
}
        2663  +
}
              \
 No newline at end of file
 2425   2664   
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
 2426   2665   
new file mode 100644
 2427   2666   
index 0000000..ccacdeb
 2428         -
-- /dev/null
        2667  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2429   2668   
@@ -0,0 +1,9 @@
        2669  +
GET
        2670  +
/
        2671  +
        2672  +
host:example.amazonaws.com
        2673  +
x-amz-date:20150830T123600Z
        2674  +
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2675  +
        2676  +
host;x-amz-date;x-amz-security-token
        2677  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2430   2678   
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
 2431   2679   
new file mode 100644
 2432   2680   
index 0000000..083e30d
 2433         -
-- /dev/null
        2681  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2434   2682   
@@ -0,0 +1 @@
        2683  +
07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
              \
 No newline at end of file
 2435   2684   
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
 2436   2685   
new file mode 100644
 2437   2686   
index 0000000..5287932
 2438         -
-- /dev/null
        2687  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2439   2688   
@@ -0,0 +1,6 @@
        2689  +
GET / HTTP/1.1
        2690  +
Host:example.amazonaws.com
        2691  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2692  +
X-Amz-Date:20150830T123600Z
        2693  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
        2694  +
 2440   2695   
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
 2441   2696   
new file mode 100644
 2442   2697   
index 0000000..742b880
 2443         -
-- /dev/null
        2698  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2444   2699   
@@ -0,0 +1,4 @@
        2700  +
AWS4-HMAC-SHA256
        2701  +
20150830T123600Z
        2702  +
20150830/us-east-1/service/aws4_request
        2703  +
067b36aa60031588cea4a4cde1f21215227a047690c72247f1d70b32fbbfad2b
              \
 No newline at end of file
 2445   2704   
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
 2446   2705   
new file mode 100644
 2447   2706   
index 0000000..5e75179
 2448         -
-- /dev/null
        2707  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2449   2708   
@@ -0,0 +1,7 @@
        2709  +
GET
        2710  +
/
        2711  +
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
        2712  +
host:example.amazonaws.com
        2713  +
        2714  +
host
        2715  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2450   2716   
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
 2451   2717   
new file mode 100644
 2452   2718   
index 0000000..50b947f
 2453         -
-- /dev/null
        2719  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2454   2720   
@@ -0,0 +1 @@
        2721  +
7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c
              \
 No newline at end of file
 2455   2722   
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
 2456   2723   
new file mode 100644
 2457   2724   
index 0000000..aee910b
 2458         -
-- /dev/null
        2725  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2459   2726   
@@ -0,0 +1,3 @@
        2727  +
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
        2728  +
Host:example.amazonaws.com
        2729  +
 2460   2730   
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
 2461   2731   
new file mode 100644
 2462   2732   
index 0000000..04a6c17
 2463         -
-- /dev/null
        2733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2464   2734   
@@ -0,0 +1,4 @@
        2735  +
AWS4-HMAC-SHA256
        2736  +
20150830T123600Z
        2737  +
20150830/us-east-1/service/aws4_request
        2738  +
cb30434103085aa9e73780fc60dc9a9df818fd2a7b1de12a9f6f4d791f898761
              \
 No newline at end of file
 2465   2739   
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
 2466   2740   
similarity index 100%
 2467   2741   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt
 2468   2742   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2469   2743   
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
 2470   2744   
new file mode 100644
 2471   2745   
index 0000000..0468d80
 2472         -
-- /dev/null
        2746  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2473   2747   
@@ -0,0 +1,12 @@
        2748  +
{
        2749  +
    "credentials": {
        2750  +
        "access_key_id": "AKIDEXAMPLE",
        2751  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2752  +
    },
        2753  +
    "expiration_in_seconds": 3600,
        2754  +
    "normalize": true,
        2755  +
    "region": "us-east-1",
        2756  +
    "service": "service",
        2757  +
    "sign_body": false,
        2758  +
    "timestamp": "2015-08-30T12:36:00Z"
        2759  +
}
              \
 No newline at end of file
 2474   2760   
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
 2475   2761   
similarity index 100%
 2476   2762   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq
 2477   2763   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2478   2764   
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
 2479   2765   
new file mode 100644
 2480   2766   
index 0000000..87f295f
 2481         -
-- /dev/null
        2767  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2482   2768   
@@ -0,0 +1 @@
        2769  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2483   2770   
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
 2484   2771   
new file mode 100644
 2485   2772   
index 0000000..36b86e7
 2486         -
-- /dev/null
        2773  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2487   2774   
@@ -0,0 +1,5 @@
        2775  +
GET / HTTP/1.1
        2776  +
Host:example.amazonaws.com
        2777  +
X-Amz-Date:20150830T123600Z
        2778  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2779  +
 2488   2780   
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
 2489   2781   
similarity index 100%
 2490   2782   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts
 2491   2783   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2492   2784   
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
 2493   2785   
new file mode 100644
 2494   2786   
index 0000000..fb2420d
 2495         -
-- /dev/null
        2787  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2496   2788   
@@ -0,0 +1,7 @@
        2789  +
GET
        2790  +
/
        2791  +
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
        2792  +
host:example.amazonaws.com
        2793  +
        2794  +
host
        2795  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2497   2796   
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
 2498   2797   
new file mode 100644
 2499   2798   
index 0000000..da5c905
 2500         -
-- /dev/null
        2799  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2501   2800   
@@ -0,0 +1 @@
        2801  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2502   2802   
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
 2503   2803   
new file mode 100644
 2504   2804   
index 0000000..eeb7a8f
 2505         -
-- /dev/null
        2805  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2506   2806   
@@ -0,0 +1,3 @@
        2807  +
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
        2808  +
Host:example.amazonaws.com
        2809  +
 2507   2810   
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
 2508   2811   
new file mode 100644
 2509   2812   
index 0000000..d837e67
 2510         -
-- /dev/null
        2813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2511   2814   
@@ -0,0 +1,4 @@
        2815  +
AWS4-HMAC-SHA256
        2816  +
20150830T123600Z
        2817  +
20150830/us-east-1/service/aws4_request
        2818  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2512   2819   
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
 2513   2820   
similarity index 100%
 2514   2821   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt
 2515   2822   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2516   2823   
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
 2517   2824   
new file mode 100644
 2518   2825   
index 0000000..0468d80
 2519         -
-- /dev/null
        2826  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2520   2827   
@@ -0,0 +1,12 @@
        2828  +
{
        2829  +
    "credentials": {
        2830  +
        "access_key_id": "AKIDEXAMPLE",
        2831  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2832  +
    },
        2833  +
    "expiration_in_seconds": 3600,
        2834  +
    "normalize": true,
        2835  +
    "region": "us-east-1",
        2836  +
    "service": "service",
        2837  +
    "sign_body": false,
        2838  +
    "timestamp": "2015-08-30T12:36:00Z"
        2839  +
}
              \
 No newline at end of file
 2521   2840   
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
 2522   2841   
similarity index 100%
 2523   2842   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq
 2524   2843   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2525   2844   
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
 2526   2845   
new file mode 100644
 2527   2846   
index 0000000..629487f
 2528         -
-- /dev/null
        2847  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2529   2848   
@@ -0,0 +1 @@
        2849  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2530   2850   
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
 2531   2851   
new file mode 100644
 2532   2852   
index 0000000..0d99b1c
 2533         -
-- /dev/null
        2853  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2534   2854   
@@ -0,0 +1,5 @@
        2855  +
POST / HTTP/1.1
        2856  +
Host:example.amazonaws.com
        2857  +
X-Amz-Date:20150830T123600Z
        2858  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2859  +
 2535   2860   
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
 2536   2861   
similarity index 100%
 2537   2862   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts
 2538   2863   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2539   2864   
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
 2540   2865   
new file mode 100644
 2541   2866   
index 0000000..d3341e7
 2542         -
-- /dev/null
        2867  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2543   2868   
@@ -0,0 +1,7 @@
        2869  +
POST
        2870  +
/
        2871  +
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
        2872  +
host:example.amazonaws.com
        2873  +
        2874  +
host
        2875  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2544   2876   
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
 2545   2877   
new file mode 100644
 2546   2878   
index 0000000..79f7e0d
 2547         -
-- /dev/null
        2879  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2548   2880   
@@ -0,0 +1 @@
        2881  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2549   2882   
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
 2550   2883   
new file mode 100644
 2551   2884   
index 0000000..94f1b21
 2552         -
-- /dev/null
        2885  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2553   2886   
@@ -0,0 +1,3 @@
        2887  +
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
        2888  +
Host:example.amazonaws.com
        2889  +
 2554   2890   
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
 2555   2891   
new file mode 100644
 2556   2892   
index 0000000..e8f335b
 2557         -
-- /dev/null
        2893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2558   2894   
@@ -0,0 +1,4 @@
        2895  +
AWS4-HMAC-SHA256
        2896  +
20150830T123600Z
        2897  +
20150830/us-east-1/service/aws4_request
        2898  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2559   2899   
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
 2560   2900   
similarity index 100%
 2561   2901   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt
 2562   2902   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2563   2903   
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
 2564   2904   
new file mode 100644
 2565   2905   
index 0000000..0468d80
 2566         -
-- /dev/null
        2906  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2567   2907   
@@ -0,0 +1,12 @@
        2908  +
{
        2909  +
    "credentials": {
        2910  +
        "access_key_id": "AKIDEXAMPLE",
        2911  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2912  +
    },
        2913  +
    "expiration_in_seconds": 3600,
        2914  +
    "normalize": true,
        2915  +
    "region": "us-east-1",
        2916  +
    "service": "service",
        2917  +
    "sign_body": false,
        2918  +
    "timestamp": "2015-08-30T12:36:00Z"
        2919  +
}
              \
 No newline at end of file
 2568   2920   
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
 2569   2921   
similarity index 100%
 2570   2922   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq
 2571   2923   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2572   2924   
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
 2573   2925   
new file mode 100644
 2574   2926   
index 0000000..e4e6428
 2575         -
-- /dev/null
        2927  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2576   2928   
@@ -0,0 +1 @@
        2929  +
c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
 2577   2930   
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
 2578   2931   
new file mode 100644
 2579   2932   
index 0000000..e3778f5
 2580         -
-- /dev/null
        2933  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2581   2934   
@@ -0,0 +1,6 @@
        2935  +
POST / HTTP/1.1
        2936  +
Host:example.amazonaws.com
        2937  +
My-Header1:value1
        2938  +
X-Amz-Date:20150830T123600Z
        2939  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
        2940  +
 2582   2941   
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
 2583   2942   
similarity index 100%
 2584   2943   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts
 2585   2944   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2586   2945   
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
 2587   2946   
new file mode 100644
 2588   2947   
index 0000000..bd7c937
 2589         -
-- /dev/null
        2948  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2590   2949   
@@ -0,0 +1,8 @@
        2950  +
POST
        2951  +
/
        2952  +
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
        2953  +
host:example.amazonaws.com
        2954  +
my-header1:value1
        2955  +
        2956  +
host;my-header1
        2957  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2591   2958   
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
 2592   2959   
new file mode 100644
 2593   2960   
index 0000000..0416f13
 2594         -
-- /dev/null
        2961  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2595   2962   
@@ -0,0 +1 @@
        2963  +
c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7
              \
 No newline at end of file
 2596   2964   
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
 2597   2965   
new file mode 100644
 2598   2966   
index 0000000..5e6522f
 2599         -
-- /dev/null
        2967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2600   2968   
@@ -0,0 +1,4 @@
        2969  +
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
        2970  +
Host:example.amazonaws.com
        2971  +
My-Header1:value1
        2972  +
 2601   2973   
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
 2602   2974   
new file mode 100644
 2603   2975   
index 0000000..d06d1df
 2604         -
-- /dev/null
        2976  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2605   2977   
@@ -0,0 +1,4 @@
        2978  +
AWS4-HMAC-SHA256
        2979  +
20150830T123600Z
        2980  +
20150830/us-east-1/service/aws4_request
        2981  +
1295ed77e4ef8b18b32815e493e0b0f78ee47615c0ecbebfec7c75709eb58c88
              \
 No newline at end of file
 2606   2982   
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
 2607   2983   
similarity index 100%
 2608   2984   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt
 2609   2985   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2610   2986   
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
 2611   2987   
new file mode 100644
 2612   2988   
index 0000000..0468d80
 2613         -
-- /dev/null
        2989  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2614   2990   
@@ -0,0 +1,12 @@
        2991  +
{
        2992  +
    "credentials": {
        2993  +
        "access_key_id": "AKIDEXAMPLE",
        2994  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2995  +
    },
        2996  +
    "expiration_in_seconds": 3600,
        2997  +
    "normalize": true,
        2998  +
    "region": "us-east-1",
        2999  +
    "service": "service",
        3000  +
    "sign_body": false,
        3001  +
    "timestamp": "2015-08-30T12:36:00Z"
        3002  +
}
              \
 No newline at end of file
 2615   3003   
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
 2616   3004   
similarity index 100%
 2617   3005   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq
 2618   3006   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2619   3007   
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
 2620   3008   
new file mode 100644
 2621   3009   
index 0000000..bb3809c
 2622         -
-- /dev/null
        3010  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2623   3011   
@@ -0,0 +1 @@
        3012  +
cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
 2624   3013   
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
 2625   3014   
new file mode 100644
 2626   3015   
index 0000000..10f6761
 2627         -
-- /dev/null
        3016  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2628   3017   
@@ -0,0 +1,6 @@
        3018  +
POST / HTTP/1.1
        3019  +
Host:example.amazonaws.com
        3020  +
My-Header1:VALUE1
        3021  +
X-Amz-Date:20150830T123600Z
        3022  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
        3023  +
 2629   3024   
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
 2630   3025   
similarity index 100%
 2631   3026   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts
 2632   3027   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2633   3028   
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
 2634   3029   
new file mode 100644
 2635   3030   
index 0000000..f84856f
 2636         -
-- /dev/null
        3031  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2637   3032   
@@ -0,0 +1,8 @@
        3033  +
POST
        3034  +
/
        3035  +
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
        3036  +
host:example.amazonaws.com
        3037  +
my-header1:VALUE1
        3038  +
        3039  +
host;my-header1
        3040  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2638   3041   
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
 2639   3042   
new file mode 100644
 2640   3043   
index 0000000..a9d3cac
 2641         -
-- /dev/null
        3044  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2642   3045   
@@ -0,0 +1 @@
        3046  +
0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed
              \
 No newline at end of file
 2643   3047   
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
 2644   3048   
new file mode 100644
 2645   3049   
index 0000000..cf96c7c
 2646         -
-- /dev/null
        3050  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2647   3051   
@@ -0,0 +1,4 @@
        3052  +
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
        3053  +
Host:example.amazonaws.com
        3054  +
My-Header1:VALUE1
        3055  +
 2648   3056   
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
 2649   3057   
new file mode 100644
 2650   3058   
index 0000000..47ef566
 2651         -
-- /dev/null
        3059  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2652   3060   
@@ -0,0 +1,4 @@
        3061  +
AWS4-HMAC-SHA256
        3062  +
20150830T123600Z
        3063  +
20150830/us-east-1/service/aws4_request
        3064  +
9d4d1de88f0149695a91a01275fc72dc00fb50bdc78e424f012ec860d5f8c41d
              \
 No newline at end of file
 2653   3065   
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
 2654   3066   
similarity index 100%
 2655   3067   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt
 2656   3068   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2657   3069   
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
 2658   3070   
similarity index 100%
 2659   3071   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json
 2660   3072   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2661   3073   
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
 2662   3074   
similarity index 100%
 2663   3075   
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
 2664   3076   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2665   3077   
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
 2666   3078   
new file mode 100644
 2667   3079   
index 0000000..629487f
 2668         -
-- /dev/null
        3080  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2669   3081   
@@ -0,0 +1 @@
        3082  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2670   3083   
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
 2671   3084   
similarity index 67%
 2672   3085   
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
 2673   3086   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2674   3087   
index 291ed07..f96ff9e 100644
 2675         -
-- 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
        3088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2676   3089   
@@ -1,5 +1,6 @@
 2677   3090   
POST / HTTP/1.1
 2678   3091   
Host:example.amazonaws.com
 2679         -
X-Amz-Date:20150830T123600Z
 2680   3092   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2681         -
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
        3093  +
X-Amz-Date:20150830T123600Z
        3094  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3095  +
 2682   3096   
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
 2683   3097   
similarity index 100%
 2684   3098   
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
 2685   3099   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2686   3100   
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
 2687   3101   
new file mode 100644
 2688   3102   
index 0000000..d3341e7
 2689         -
-- /dev/null
        3103  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2690   3104   
@@ -0,0 +1,7 @@
        3105  +
POST
        3106  +
/
        3107  +
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
        3108  +
host:example.amazonaws.com
        3109  +
        3110  +
host
        3111  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2691   3112   
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
 2692   3113   
new file mode 100644
 2693   3114   
index 0000000..79f7e0d
 2694         -
-- /dev/null
        3115  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2695   3116   
@@ -0,0 +1 @@
        3117  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2696   3118   
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
 2697   3119   
new file mode 100644
 2698   3120   
index 0000000..4983268
 2699         -
-- /dev/null
        3121  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2700   3122   
@@ -0,0 +1,3 @@
        3123  +
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
        3124  +
Host:example.amazonaws.com
        3125  +
 2701   3126   
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
 2702   3127   
new file mode 100644
 2703   3128   
index 0000000..e8f335b
 2704         -
-- /dev/null
        3129  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2705   3130   
@@ -0,0 +1,4 @@
        3131  +
AWS4-HMAC-SHA256
        3132  +
20150830T123600Z
        3133  +
20150830/us-east-1/service/aws4_request
        3134  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2706   3135   
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
 2707   3136   
similarity index 100%
 2708   3137   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt
 2709   3138   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2710   3139   
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
 2711   3140   
similarity index 100%
 2712   3141   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json
 2713   3142   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2714   3143   
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
 2715   3144   
similarity index 100%
 2716   3145   
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
 2717   3146   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2718   3147   
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
 2719   3148   
new file mode 100644
 2720   3149   
index 0000000..85a7c29
 2721         -
-- /dev/null
        3150  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2722   3151   
@@ -0,0 +1 @@
        3152  +
85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
 2723   3153   
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
 2724   3154   
similarity index 65%
 2725   3155   
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
 2726   3156   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2727   3157   
index 37b2f04..4d0b143 100644
 2728         -
-- 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
        3158  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2729   3159   
@@ -1,5 +1,6 @@
 2730   3160   
POST / HTTP/1.1
 2731   3161   
Host:example.amazonaws.com
 2732         -
X-Amz-Date:20150830T123600Z
 2733   3162   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2734         -
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
        3163  +
X-Amz-Date:20150830T123600Z
        3164  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
        3165  +
 2735   3166   
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
 2736   3167   
similarity index 100%
 2737   3168   
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
 2738   3169   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2739   3170   
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
 2740   3171   
new file mode 100644
 2741   3172   
index 0000000..57a7bc3
 2742         -
-- /dev/null
        3173  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2743   3174   
@@ -0,0 +1,7 @@
        3175  +
POST
        3176  +
/
        3177  +
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
        3178  +
host:example.amazonaws.com
        3179  +
        3180  +
host
        3181  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2744   3182   
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
 2745   3183   
new file mode 100644
 2746   3184   
index 0000000..eb905d2
 2747         -
-- /dev/null
        3185  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2748   3186   
@@ -0,0 +1 @@
        3187  +
46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c
              \
 No newline at end of file
 2749   3188   
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
 2750   3189   
new file mode 100644
 2751   3190   
index 0000000..1d80ec0
 2752         -
-- /dev/null
        3191  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2753   3192   
@@ -0,0 +1,3 @@
        3193  +
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
        3194  +
Host:example.amazonaws.com
        3195  +
 2754   3196   
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
 2755   3197   
new file mode 100644
 2756   3198   
index 0000000..bd0239a
 2757         -
-- /dev/null
        3199  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2758   3200   
@@ -0,0 +1,4 @@
        3201  +
AWS4-HMAC-SHA256
        3202  +
20150830T123600Z
        3203  +
20150830/us-east-1/service/aws4_request
        3204  +
37f7ba7a2ec89e8b29a0d637bcc70d8e8d0fdba854ddfc5bc06a12398cfe8605
              \
 No newline at end of file
 2759   3205   
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
 2760   3206   
similarity index 100%
 2761   3207   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt
 2762   3208   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2763   3209   
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
 2764   3210   
new file mode 100644
 2765   3211   
index 0000000..0468d80
 2766         -
-- /dev/null
        3212  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2767   3213   
@@ -0,0 +1,12 @@
        3214  +
{
        3215  +
    "credentials": {
        3216  +
        "access_key_id": "AKIDEXAMPLE",
        3217  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3218  +
    },
        3219  +
    "expiration_in_seconds": 3600,
        3220  +
    "normalize": true,
        3221  +
    "region": "us-east-1",
        3222  +
    "service": "service",
        3223  +
    "sign_body": false,
        3224  +
    "timestamp": "2015-08-30T12:36:00Z"
        3225  +
}
              \
 No newline at end of file
 2768   3226   
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
 2769   3227   
similarity index 100%
 2770   3228   
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
 2771   3229   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2772   3230   
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
 2773   3231   
new file mode 100644
 2774   3232   
index 0000000..80ed433
 2775         -
-- /dev/null
        3233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2776   3234   
@@ -0,0 +1 @@
        3235  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2777   3236   
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
 2778   3237   
new file mode 100644
 2779   3238   
index 0000000..4e614f8
 2780         -
-- /dev/null
        3239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2781   3240   
@@ -0,0 +1,5 @@
        3241  +
POST /?Param1=value1 HTTP/1.1
        3242  +
Host:example.amazonaws.com
        3243  +
X-Amz-Date:20150830T123600Z
        3244  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3245  +
 2782   3246   
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
 2783   3247   
similarity index 100%
 2784   3248   
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
 2785   3249   
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
 2786   3250   
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
 2787   3251   
new file mode 100644
 2788   3252   
index 0000000..be66403
 2789         -
-- /dev/null
        3253  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2790   3254   
@@ -0,0 +1,7 @@
        3255  +
POST
        3256  +
/
        3257  +
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
        3258  +
host:example.amazonaws.com
        3259  +
        3260  +
host
        3261  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2791   3262   
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
 2792   3263   
new file mode 100644
 2793   3264   
index 0000000..20fd32b
 2794         -
-- /dev/null
        3265  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2795   3266   
@@ -0,0 +1 @@
        3267  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2796   3268   
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
 2797   3269   
new file mode 100644
 2798   3270   
index 0000000..d1148d0
 2799         -
-- /dev/null
        3271  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2800   3272   
@@ -0,0 +1,3 @@
        3273  +
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
        3274  +
Host:example.amazonaws.com
        3275  +
 2801   3276   
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
 2802   3277   
new file mode 100644
 2803   3278   
index 0000000..1a77103
 2804         -
-- /dev/null
        3279  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2805   3280   
@@ -0,0 +1,4 @@
        3281  +
AWS4-HMAC-SHA256
        3282  +
20150830T123600Z
        3283  +
20150830/us-east-1/service/aws4_request
        3284  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2806   3285   
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
 2807   3286   
similarity index 100%
 2808   3287   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt
 2809   3288   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2810   3289   
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
 2811   3290   
new file mode 100644
 2812   3291   
index 0000000..0468d80
 2813         -
-- /dev/null
        3292  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2814   3293   
@@ -0,0 +1,12 @@
        3294  +
{
        3295  +
    "credentials": {
        3296  +
        "access_key_id": "AKIDEXAMPLE",
        3297  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3298  +
    },
        3299  +
    "expiration_in_seconds": 3600,
        3300  +
    "normalize": true,
        3301  +
    "region": "us-east-1",
        3302  +
    "service": "service",
        3303  +
    "sign_body": false,
        3304  +
    "timestamp": "2015-08-30T12:36:00Z"
        3305  +
}
              \
 No newline at end of file
 2815   3306   
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
 2816   3307   
similarity index 100%
 2817   3308   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq
 2818   3309   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2819   3310   
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
 2820   3311   
new file mode 100644
 2821   3312   
index 0000000..80ed433
 2822         -
-- /dev/null
        3313  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2823   3314   
@@ -0,0 +1 @@
        3315  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2824   3316   
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
 2825   3317   
new file mode 100644
 2826   3318   
index 0000000..4e614f8
 2827         -
-- /dev/null
        3319  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2828   3320   
@@ -0,0 +1,5 @@
        3321  +
POST /?Param1=value1 HTTP/1.1
        3322  +
Host:example.amazonaws.com
        3323  +
X-Amz-Date:20150830T123600Z
        3324  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3325  +
 2829   3326   
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
 2830   3327   
similarity index 100%
 2831   3328   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts
 2832   3329   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2833   3330   
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
 2834   3331   
new file mode 100644
 2835   3332   
index 0000000..be66403
 2836         -
-- /dev/null
        3333  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2837   3334   
@@ -0,0 +1,7 @@
        3335  +
POST
        3336  +
/
        3337  +
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
        3338  +
host:example.amazonaws.com
        3339  +
        3340  +
host
        3341  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2838   3342   
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
 2839   3343   
new file mode 100644
 2840   3344   
index 0000000..20fd32b
 2841         -
-- /dev/null
        3345  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2842   3346   
@@ -0,0 +1 @@
        3347  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2843   3348   
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
 2844   3349   
new file mode 100644
 2845   3350   
index 0000000..d1148d0
 2846         -
-- /dev/null
        3351  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2847   3352   
@@ -0,0 +1,3 @@
        3353  +
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
        3354  +
Host:example.amazonaws.com
        3355  +
 2848   3356   
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
 2849   3357   
new file mode 100644
 2850   3358   
index 0000000..1a77103
 2851         -
-- /dev/null
        3359  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2852   3360   
@@ -0,0 +1,4 @@
        3361  +
AWS4-HMAC-SHA256
        3362  +
20150830T123600Z
        3363  +
20150830/us-east-1/service/aws4_request
        3364  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2853   3365   
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
 2854   3366   
similarity index 100%
 2855   3367   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt
 2856   3368   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2857   3369   
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
 2858   3370   
new file mode 100644
 2859   3371   
index 0000000..0468d80
 2860         -
-- /dev/null
        3372  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2861   3373   
@@ -0,0 +1,12 @@
        3374  +
{
        3375  +
    "credentials": {
        3376  +
        "access_key_id": "AKIDEXAMPLE",
        3377  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3378  +
    },
        3379  +
    "expiration_in_seconds": 3600,
        3380  +
    "normalize": true,
        3381  +
    "region": "us-east-1",
        3382  +
    "service": "service",
        3383  +
    "sign_body": false,
        3384  +
    "timestamp": "2015-08-30T12:36:00Z"
        3385  +
}
              \
 No newline at end of file
 2862   3386   
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
 2863   3387   
similarity index 100%
 2864   3388   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq
 2865   3389   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2866   3390   
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
 2867   3391   
new file mode 100644
 2868   3392   
index 0000000..629487f
 2869         -
-- /dev/null
        3393  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2870   3394   
@@ -0,0 +1 @@
        3395  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2871   3396   
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
 2872   3397   
new file mode 100644
 2873   3398   
index 0000000..0d99b1c
 2874         -
-- /dev/null
        3399  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2875   3400   
@@ -0,0 +1,5 @@
        3401  +
POST / HTTP/1.1
        3402  +
Host:example.amazonaws.com
        3403  +
X-Amz-Date:20150830T123600Z
        3404  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3405  +
 2876   3406   
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
 2877   3407   
similarity index 100%
 2878   3408   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts
 2879   3409   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2880   3410   
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
 2881   3411   
new file mode 100644
 2882   3412   
index 0000000..d3341e7
 2883         -
-- /dev/null
        3413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2884   3414   
@@ -0,0 +1,7 @@
        3415  +
POST
        3416  +
/
        3417  +
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
        3418  +
host:example.amazonaws.com
        3419  +
        3420  +
host
        3421  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2885   3422   
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
 2886   3423   
new file mode 100644
 2887   3424   
index 0000000..79f7e0d
 2888         -
-- /dev/null
        3425  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2889   3426   
@@ -0,0 +1 @@
        3427  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2890   3428   
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
 2891   3429   
new file mode 100644
 2892   3430   
index 0000000..94f1b21
 2893         -
-- /dev/null
        3431  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2894   3432   
@@ -0,0 +1,3 @@
        3433  +
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
        3434  +
Host:example.amazonaws.com
        3435  +
 2895   3436   
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
 2896   3437   
new file mode 100644
 2897   3438   
index 0000000..e8f335b
 2898         -
-- /dev/null
        3439  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2899   3440   
@@ -0,0 +1,4 @@
        3441  +
AWS4-HMAC-SHA256
        3442  +
20150830T123600Z
        3443  +
20150830/us-east-1/service/aws4_request
        3444  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2900   3445   
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
 2901   3446   
similarity index 100%
 2902   3447   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt
 2903   3448   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2904   3449   
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
 2905   3450   
similarity index 99%
 2906   3451   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
 2907   3452   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2908   3453   
index fc4bce6..0db1df1 100644
 2909         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
        3454  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2910   3455   
@@ -1,12 +1,12 @@
 2911   3456   
{
 2912   3457   
    "credentials": {
 2913   3458   
        "access_key_id": "AKIDEXAMPLE",
 2914   3459   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 2915   3460   
    },
 2916   3461   
    "expiration_in_seconds": 3600,
 2917   3462   
    "normalize": true,
 2918   3463   
    "region": "us-east-1",
 2919   3464   
    "service": "service",
 2920   3465   
    "sign_body": true,
 2921   3466   
    "timestamp": "2015-08-30T12:36:00Z"
 2922         -
}
        3467  +
}
              \
 No newline at end of file
 2923   3468   
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
 2924   3469   
new file mode 100644
 2925   3470   
index 0000000..c218fdf
 2926         -
-- /dev/null
        3471  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2927   3472   
@@ -0,0 +1,11 @@
        3473  +
POST
        3474  +
/
        3475  +
        3476  +
content-length:13
        3477  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3478  +
host:example.amazonaws.com
        3479  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3480  +
x-amz-date:20150830T123600Z
        3481  +
        3482  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3483  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2928   3484   
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
 2929   3485   
new file mode 100644
 2930   3486   
index 0000000..836aa8b
 2931         -
-- /dev/null
        3487  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2932   3488   
@@ -0,0 +1 @@
        3489  +
328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
              \
 No newline at end of file
 2933   3490   
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
 2934   3491   
new file mode 100644
 2935   3492   
index 0000000..9262d53
 2936         -
-- /dev/null
        3493  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2937   3494   
@@ -0,0 +1,9 @@
        3495  +
POST / HTTP/1.1
        3496  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3497  +
Host:example.amazonaws.com
        3498  +
Content-Length:13
        3499  +
X-Amz-Date:20150830T123600Z
        3500  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3501  +
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
        3502  +
        3503  +
Param1=value1
              \
 No newline at end of file
 2938   3504   
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
 2939   3505   
new file mode 100644
 2940   3506   
index 0000000..ddbdccc
 2941         -
-- /dev/null
        3507  +
++ 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
 2942   3508   
@@ -0,0 +1,4 @@
        3509  +
AWS4-HMAC-SHA256
        3510  +
20150830T123600Z
        3511  +
20150830/us-east-1/service/aws4_request
        3512  +
a89f1a5b53e37702ee6363ce1da3ce8f54386f3c8f352ae652153c2982a0bc4d
              \
 No newline at end of file
 2943   3513   
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
 2944   3514   
new file mode 100644
 2945   3515   
index 0000000..596a579
 2946         -
-- /dev/null
        3516  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 2947   3517   
@@ -0,0 +1,9 @@
        3518  +
POST
        3519  +
/
        3520  +
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
        3521  +
content-length:13
        3522  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3523  +
host:example.amazonaws.com
        3524  +
        3525  +
content-length;content-type;host
        3526  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2948   3527   
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
 2949   3528   
new file mode 100644
 2950   3529   
index 0000000..bc85cd8
 2951         -
-- /dev/null
        3530  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 2952   3531   
@@ -0,0 +1 @@
        3532  +
0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d
              \
 No newline at end of file
 2953   3533   
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
 2954   3534   
new file mode 100644
 2955   3535   
index 0000000..16b59e5
 2956         -
-- /dev/null
        3536  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 2957   3537   
@@ -0,0 +1,6 @@
        3538  +
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
        3539  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3540  +
Host:example.amazonaws.com
        3541  +
Content-Length:13
        3542  +
        3543  +
Param1=value1
              \
 No newline at end of file
 2958   3544   
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
 2959   3545   
new file mode 100644
 2960   3546   
index 0000000..50074af
 2961         -
-- /dev/null
        3547  +
++ 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
 2962   3548   
@@ -0,0 +1,4 @@
        3549  +
AWS4-HMAC-SHA256
        3550  +
20150830T123600Z
        3551  +
20150830/us-east-1/service/aws4_request
        3552  +
32192353b8ae6d857fac1c71cda066e6af2d3a3127ea7ac1fee22621ab4f05dc
              \
 No newline at end of file
 2963   3553   
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
 2964   3554   
similarity index 89%
 2965   3555   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
 2966   3556   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 2967   3557   
index b711c25..8289eaa 100644
 2968         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
        3558  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 2969   3559   
@@ -1,6 +1,6 @@
 2970   3560   
POST / HTTP/1.1
 2971   3561   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 2972   3562   
Host:example.amazonaws.com
 2973   3563   
Content-Length:13
 2974   3564   
 2975         -
Param1=value1
        3565  +
Param1=value1
              \
 No newline at end of file
 2976   3566   
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
 2977   3567   
similarity index 99%
 2978   3568   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
 2979   3569   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 2980   3570   
index fc4bce6..0db1df1 100644
 2981         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
        3571  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 2982   3572   
@@ -1,12 +1,12 @@
 2983   3573   
{
 2984   3574   
    "credentials": {
 2985   3575   
        "access_key_id": "AKIDEXAMPLE",
 2986   3576   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 2987   3577   
    },
 2988   3578   
    "expiration_in_seconds": 3600,
 2989   3579   
    "normalize": true,
 2990   3580   
    "region": "us-east-1",
 2991   3581   
    "service": "service",
 2992   3582   
    "sign_body": true,
 2993   3583   
    "timestamp": "2015-08-30T12:36:00Z"
 2994         -
}
        3584  +
}
              \
 No newline at end of file
 2995   3585   
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
 2996   3586   
new file mode 100644
 2997   3587   
index 0000000..4d116a5
 2998         -
-- /dev/null
        3588  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 2999   3589   
@@ -0,0 +1,11 @@
        3590  +
POST
        3591  +
/
        3592  +
        3593  +
content-length:13
        3594  +
content-type:application/x-www-form-urlencoded
        3595  +
host:example.amazonaws.com
        3596  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3597  +
x-amz-date:20150830T123600Z
        3598  +
        3599  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3600  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3000   3601   
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
 3001   3602   
new file mode 100644
 3002   3603   
index 0000000..0d2ac37
 3003         -
-- /dev/null
        3604  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 3004   3605   
@@ -0,0 +1 @@
        3606  +
d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
              \
 No newline at end of file
 3005   3607   
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
 3006   3608   
new file mode 100644
 3007   3609   
index 0000000..bd5e49c
 3008         -
-- /dev/null
        3610  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 3009   3611   
@@ -0,0 +1,9 @@
        3612  +
POST / HTTP/1.1
        3613  +
Content-Type:application/x-www-form-urlencoded
        3614  +
Host:example.amazonaws.com
        3615  +
Content-Length:13
        3616  +
X-Amz-Date:20150830T123600Z
        3617  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3618  +
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
        3619  +
        3620  +
Param1=value1
              \
 No newline at end of file
 3010   3621   
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
 3011   3622   
new file mode 100644
 3012   3623   
index 0000000..f1c599c
 3013         -
-- /dev/null
        3624  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 3014   3625   
@@ -0,0 +1,4 @@
        3626  +
AWS4-HMAC-SHA256
        3627  +
20150830T123600Z
        3628  +
20150830/us-east-1/service/aws4_request
        3629  +
b1edd1d03544c25390e32085d55b57acc9a3961bb59415ff86c45c3d89d16cfb
              \
 No newline at end of file
 3015   3630   
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
 3016   3631   
new file mode 100644
 3017   3632   
index 0000000..1fc1bb7
 3018         -
-- /dev/null
        3633  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 3019   3634   
@@ -0,0 +1,9 @@
        3635  +
POST
        3636  +
/
        3637  +
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
        3638  +
content-length:13
        3639  +
content-type:application/x-www-form-urlencoded
        3640  +
host:example.amazonaws.com
        3641  +
        3642  +
content-length;content-type;host
        3643  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3020   3644   
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
 3021   3645   
new file mode 100644
 3022   3646   
index 0000000..98c91b3
 3023         -
-- /dev/null
        3647  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 3024   3648   
@@ -0,0 +1 @@
        3649  +
89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9
              \
 No newline at end of file
 3025   3650   
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
 3026   3651   
new file mode 100644
 3027   3652   
index 0000000..055cd7a
 3028         -
-- /dev/null
        3653  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 3029   3654   
@@ -0,0 +1,6 @@
        3655  +
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
        3656  +
Content-Type:application/x-www-form-urlencoded
        3657  +
Host:example.amazonaws.com
        3658  +
Content-Length:13
        3659  +
        3660  +
Param1=value1
              \
 No newline at end of file
 3030   3661   
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
 3031   3662   
new file mode 100644
 3032   3663   
index 0000000..db7fc27
 3033         -
-- /dev/null
        3664  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 3034   3665   
@@ -0,0 +1,4 @@
        3666  +
AWS4-HMAC-SHA256
        3667  +
20150830T123600Z
        3668  +
20150830/us-east-1/service/aws4_request
        3669  +
ee5059a7c437165a28d0e775e6498be428761255d657d8c04cb1baa41de6514c
              \
 No newline at end of file
 3035   3670   
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
 3036   3671   
similarity index 88%
 3037   3672   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
 3038   3673   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 3039   3674   
index 0091102..760b2d3 100644
 3040         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
        3675  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 3041   3676   
@@ -1,6 +1,6 @@
 3042   3677   
POST / HTTP/1.1
 3043   3678   
Content-Type:application/x-www-form-urlencoded
 3044   3679   
Host:example.amazonaws.com
 3045   3680   
Content-Length:13
 3046   3681   
 3047         -
Param1=value1
        3682  +
Param1=value1
              \
 No newline at end of file
 3048   3683   
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
 3049   3684   
new file mode 100644
 3050   3685   
index 0000000..0468d80
 3051         -
-- /dev/null
        3686  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 3052   3687   
@@ -0,0 +1,12 @@
        3688  +
{
        3689  +
    "credentials": {
        3690  +
        "access_key_id": "AKIDEXAMPLE",
        3691  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3692  +
    },
        3693  +
    "expiration_in_seconds": 3600,
        3694  +
    "normalize": true,
        3695  +
    "region": "us-east-1",
        3696  +
    "service": "service",
        3697  +
    "sign_body": false,
        3698  +
    "timestamp": "2015-08-30T12:36:00Z"
        3699  +
}
              \
 No newline at end of file
 3053   3700   
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
 3054   3701   
similarity index 99%
 3055   3702   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
 3056   3703   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 3057   3704   
index ccb5f43..1bc448e 100644
 3058         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
        3705  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 3059   3706   
@@ -1,10 +1,10 @@
 3060   3707   
GET
 3061   3708   
/
 3062   3709   
 3063   3710   
host:example.amazonaws.com
 3064   3711   
my-header1:value2,value2,value1
 3065   3712   
x-amz-date:20150830T123600Z
 3066   3713   
x-amz-region-set:us-east-1
 3067   3714   
 3068   3715   
host;my-header1;x-amz-date;x-amz-region-set
 3069         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        3716  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3070   3717   
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
 3071   3718   
new file mode 100644
 3072   3719   
index 0000000..489c182
 3073         -
-- /dev/null
        3720  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 3074   3721   
@@ -0,0 +1 @@
        3722  +
304502204862ad283a21f883fc12f1156a6f3fcdbba13d1847e58aa5eb37c666477ea06b022100ee439fac0a975c9a6605b1fa44ad7b654a1f8ac6e868e4e1069a1b3aa35d8113
              \
 No newline at end of file
 3075   3723   
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
 3076   3724   
new file mode 100644
 3077   3725   
index 0000000..e1b8dbf
 3078         -
-- /dev/null
        3726  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 3079   3727   
@@ -0,0 +1,9 @@
        3728  +
GET / HTTP/1.1
        3729  +
Host:example.amazonaws.com
        3730  +
My-Header1:value2
        3731  +
My-Header1:value2
        3732  +
My-Header1:value1
        3733  +
X-Amz-Date:20150830T123600Z
        3734  +
X-Amz-Region-Set:us-east-1
        3735  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=30450220331da6dfebb0d19e5e161b1efa389ccb83cadb60bc71f6791ef71ac6054c44de0221008588b7d5c9f7a79ca9c02a02efbd0f540cda242a64ca1452aa914e050b517724
        3736  +
 3080   3737   
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
 3081   3738   
similarity index 99%
 3082   3739   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
 3083   3740   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 3084   3741   
index 8783461..bfc4619 100644
 3085         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
        3742  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 3086   3743   
@@ -1,4 +1,4 @@
 3087   3744   
AWS4-ECDSA-P256-SHA256
 3088   3745   
20150830T123600Z
 3089   3746   
20150830/service/aws4_request
 3090         -
30f1f7b639b7fd5982a0f700e6d23bf7bb24f2f1d9e1314005bf22130da61cdf
        3747  +
30f1f7b639b7fd5982a0f700e6d23bf7bb24f2f1d9e1314005bf22130da61cdf
              \
 No newline at end of file
 3091   3748   
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
 3092   3749   
new file mode 100644
 3093   3750   
index 0000000..379dcb2
 3094         -
-- /dev/null
        3751  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 3095   3752   
@@ -0,0 +1,4 @@
        3753  +
{
        3754  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3755  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3756  +
}
 3096   3757   
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
 3097   3758   
similarity index 99%
 3098   3759   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
 3099   3760   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 3100   3761   
index 9561297..c05c3f5 100644
 3101         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
        3762  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 3102   3763   
@@ -1,8 +1,8 @@
 3103   3764   
GET
 3104   3765   
/
 3105   3766   
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
 3106   3767   
host:example.amazonaws.com
 3107   3768   
my-header1:value2,value2,value1
 3108   3769   
 3109   3770   
host;my-header1
 3110         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        3771  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3111   3772   
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
 3112   3773   
new file mode 100644
 3113   3774   
index 0000000..de9a4c3
 3114         -
-- /dev/null
        3775  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 3115   3776   
@@ -0,0 +1 @@
        3777  +
3045022100e1e03fa80218cb464404dc4badbdf443f5f5bb504840a2b3803565a28be0388d022063399d4fb8b974906e87a8d67bf7e95334d9dc620817ef92eb2bc6affb1c6a10
              \
 No newline at end of file
 3116   3778   
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
 3117   3779   
new file mode 100644
 3118   3780   
index 0000000..6c6b8c4
 3119         -
-- /dev/null
        3781  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 3120   3782   
@@ -0,0 +1,6 @@
        3783  +
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
        3784  +
Host:example.amazonaws.com
        3785  +
My-Header1:value2
        3786  +
My-Header1:value2
        3787  +
My-Header1:value1
        3788  +
 3121   3789   
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
 3122   3790   
similarity index 99%
 3123   3791   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
 3124   3792   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 3125   3793   
index 3140f6f..4eef106 100644
 3126         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
        3794  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 3127   3795   
@@ -1,4 +1,4 @@
 3128   3796   
AWS4-ECDSA-P256-SHA256
 3129   3797   
20150830T123600Z
 3130   3798   
20150830/service/aws4_request
 3131         -
a6e21a0099c98cbb4ec73928a08e8b116dfd634c471a8c03c4007b5258b664ea
        3799  +
a6e21a0099c98cbb4ec73928a08e8b116dfd634c471a8c03c4007b5258b664ea
              \
 No newline at end of file
 3132   3800   
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
 3133   3801   
similarity index 78%
 3134   3802   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
 3135   3803   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3136   3804   
index 08a0364..40455ce 100644
 3137         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
        3805  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3138   3806   
@@ -1,6 +1,5 @@
 3139   3807   
GET / HTTP/1.1
 3140   3808   
Host:example.amazonaws.com
 3141   3809   
My-Header1:value2
 3142   3810   
My-Header1:value2
 3143   3811   
My-Header1:value1
 3144         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3145   3812   
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
 3146   3813   
new file mode 100644
 3147   3814   
index 0000000..0468d80
 3148         -
-- /dev/null
        3815  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 3149   3816   
@@ -0,0 +1,12 @@
        3817  +
{
        3818  +
    "credentials": {
        3819  +
        "access_key_id": "AKIDEXAMPLE",
        3820  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3821  +
    },
        3822  +
    "expiration_in_seconds": 3600,
        3823  +
    "normalize": true,
        3824  +
    "region": "us-east-1",
        3825  +
    "service": "service",
        3826  +
    "sign_body": false,
        3827  +
    "timestamp": "2015-08-30T12:36:00Z"
        3828  +
}
              \
 No newline at end of file
 3150   3829   
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
 3151   3830   
new file mode 100644
 3152   3831   
index 0000000..69526cd
 3153         -
-- /dev/null
        3832  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 3154   3833   
@@ -0,0 +1,10 @@
        3834  +
GET
        3835  +
/
        3836  +
        3837  +
host:example.amazonaws.com
        3838  +
my-header1:value1 value2 value3
        3839  +
x-amz-date:20150830T123600Z
        3840  +
x-amz-region-set:us-east-1
        3841  +
        3842  +
host;my-header1;x-amz-date;x-amz-region-set
        3843  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3155   3844   
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
 3156   3845   
new file mode 100644
 3157   3846   
index 0000000..d51b4f3
 3158         -
-- /dev/null
        3847  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 3159   3848   
@@ -0,0 +1 @@
        3849  +
304502206a2d7c3572ebcb9a1f34e5fa744250c3fb2f403a0a7e4b0bc196286846a996a8022100d94aacba36ff453394df27966e9cccd7c6065457b6fe828aebe107307cc5e8e9
              \
 No newline at end of file
 3160   3850   
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
 3161   3851   
new file mode 100644
 3162   3852   
index 0000000..8131420
 3163         -
-- /dev/null
        3853  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 3164   3854   
@@ -0,0 +1,9 @@
        3855  +
GET / HTTP/1.1
        3856  +
Host:example.amazonaws.com
        3857  +
My-Header1:value1
        3858  +
  value2
        3859  +
     value3
        3860  +
X-Amz-Date:20150830T123600Z
        3861  +
X-Amz-Region-Set:us-east-1
        3862  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022060b9f2f480a395bf34aa42074697f923c2355e26970987461ce904a6a2eeef52022100fc7ef73838bbfba208a8cf8f3edbe1c8879be7853b677f492db93c30df6fbe02
        3863  +
 3165   3864   
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
 3166   3865   
new file mode 100644
 3167   3866   
index 0000000..e4d99fa
 3168         -
-- /dev/null
        3867  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 3169   3868   
@@ -0,0 +1,4 @@
        3869  +
AWS4-ECDSA-P256-SHA256
        3870  +
20150830T123600Z
        3871  +
20150830/service/aws4_request
        3872  +
3579d4751dd7db30860b89a17b53647c70fd8363ec485836dbf68cfd22313398
              \
 No newline at end of file
 3170   3873   
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
 3171   3874   
new file mode 100644
 3172   3875   
index 0000000..379dcb2
 3173         -
-- /dev/null
        3876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 3174   3877   
@@ -0,0 +1,4 @@
        3878  +
{
        3879  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3880  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3881  +
}
 3175   3882   
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
 3176   3883   
new file mode 100644
 3177   3884   
index 0000000..3c4d52f
 3178         -
-- /dev/null
        3885  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 3179   3886   
@@ -0,0 +1,8 @@
        3887  +
GET
        3888  +
/
        3889  +
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
        3890  +
host:example.amazonaws.com
        3891  +
my-header1:value1 value2 value3
        3892  +
        3893  +
host;my-header1
        3894  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3180   3895   
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
 3181   3896   
new file mode 100644
 3182   3897   
index 0000000..4e63f9a
 3183         -
-- /dev/null
        3898  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 3184   3899   
@@ -0,0 +1 @@
        3900  +
30450220159829015456fd111a27c4e0d6a555da894aefd23c96c5eb915b94bf6788499a022100fd48a0b97d1c32a11ee33873f87953a3ef410978f226b4a708acb9e582828fde
              \
 No newline at end of file
 3185   3901   
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
 3186   3902   
new file mode 100644
 3187   3903   
index 0000000..adf1f09
 3188         -
-- /dev/null
        3904  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 3189   3905   
@@ -0,0 +1,6 @@
        3906  +
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
        3907  +
Host:example.amazonaws.com
        3908  +
My-Header1:value1
        3909  +
  value2
        3910  +
     value3
        3911  +
 3190   3912   
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
 3191   3913   
new file mode 100644
 3192   3914   
index 0000000..e085407
 3193         -
-- /dev/null
        3915  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 3194   3916   
@@ -0,0 +1,4 @@
        3917  +
AWS4-ECDSA-P256-SHA256
        3918  +
20150830T123600Z
        3919  +
20150830/service/aws4_request
        3920  +
960c3db8a6ce71c62c4bc13e5f2a72231a8f1a644d52e688ac1524ecd4b09643
              \
 No newline at end of file
 3195   3921   
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
 3196   3922   
new file mode 100644
 3197   3923   
index 0000000..b5026cd
 3198         -
-- /dev/null
        3924  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 3199   3925   
@@ -0,0 +1,5 @@
        3926  +
GET / HTTP/1.1
        3927  +
Host:example.amazonaws.com
        3928  +
My-Header1:value1
        3929  +
  value2
        3930  +
     value3
 3200   3931   
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
 3201   3932   
new file mode 100644
 3202   3933   
index 0000000..0468d80
 3203         -
-- /dev/null
        3934  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 3204   3935   
@@ -0,0 +1,12 @@
        3936  +
{
        3937  +
    "credentials": {
        3938  +
        "access_key_id": "AKIDEXAMPLE",
        3939  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3940  +
    },
        3941  +
    "expiration_in_seconds": 3600,
        3942  +
    "normalize": true,
        3943  +
    "region": "us-east-1",
        3944  +
    "service": "service",
        3945  +
    "sign_body": false,
        3946  +
    "timestamp": "2015-08-30T12:36:00Z"
        3947  +
}
              \
 No newline at end of file
 3205   3948   
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
 3206   3949   
similarity index 99%
 3207   3950   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
 3208   3951   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3209   3952   
index 9375193..533afdb 100644
 3210         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
        3953  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3211   3954   
@@ -1,10 +1,10 @@
 3212   3955   
GET
 3213   3956   
/
 3214   3957   
 3215   3958   
host:example.amazonaws.com
 3216   3959   
my-header1:value4,value1,value3,value2
 3217   3960   
x-amz-date:20150830T123600Z
 3218   3961   
x-amz-region-set:us-east-1
 3219   3962   
 3220   3963   
host;my-header1;x-amz-date;x-amz-region-set
 3221         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        3964  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3222   3965   
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
 3223   3966   
new file mode 100644
 3224   3967   
index 0000000..057b426
 3225         -
-- /dev/null
        3968  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 3226   3969   
@@ -0,0 +1 @@
        3970  +
3045022005e72f83b232f1fa01d7344267d44a46fa4c193bc3d0ad256e89f92a561eb8fa022100c62a85a22a6018463df69c97da07cd189185dadeede293c659e15514cd28a0c9
              \
 No newline at end of file
 3227   3971   
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
 3228   3972   
new file mode 100644
 3229   3973   
index 0000000..4e4ccf0
 3230         -
-- /dev/null
        3974  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 3231   3975   
@@ -0,0 +1,10 @@
        3976  +
GET / HTTP/1.1
        3977  +
Host:example.amazonaws.com
        3978  +
My-Header1:value4
        3979  +
My-Header1:value1
        3980  +
My-Header1:value3
        3981  +
My-Header1:value2
        3982  +
X-Amz-Date:20150830T123600Z
        3983  +
X-Amz-Region-Set:us-east-1
        3984  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=304402203410301a4cfc805996d0ac5305374d7cdff4e2564fcbd6f6cfed73b227966046022046e36b2ede1f78d2b68ea4534ae59da3de089e58f67ae08490411dfabd77f36e
        3985  +
 3232   3986   
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
 3233   3987   
similarity index 99%
 3234   3988   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
 3235   3989   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3236   3990   
index 6400baf..e68c952 100644
 3237         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
        3991  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3238   3992   
@@ -1,4 +1,4 @@
 3239   3993   
AWS4-ECDSA-P256-SHA256
 3240   3994   
20150830T123600Z
 3241   3995   
20150830/service/aws4_request
 3242         -
e1c3b5d34632ffff080330b3bc31906c8988bf1683f4af689ef3f1811952df36
        3996  +
e1c3b5d34632ffff080330b3bc31906c8988bf1683f4af689ef3f1811952df36
              \
 No newline at end of file
 3243   3997   
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
 3244   3998   
new file mode 100644
 3245   3999   
index 0000000..379dcb2
 3246         -
-- /dev/null
        4000  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 3247   4001   
@@ -0,0 +1,4 @@
        4002  +
{
        4003  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4004  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4005  +
}
 3248   4006   
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
 3249   4007   
similarity index 99%
 3250   4008   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
 3251   4009   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3252   4010   
index ecf494a..68450fe 100644
 3253         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
        4011  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3254   4012   
@@ -1,8 +1,8 @@
 3255   4013   
GET
 3256   4014   
/
 3257   4015   
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
 3258   4016   
host:example.amazonaws.com
 3259   4017   
my-header1:value4,value1,value3,value2
 3260   4018   
 3261   4019   
host;my-header1
 3262         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4020  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3263   4021   
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
 3264   4022   
new file mode 100644
 3265   4023   
index 0000000..9df2eb3
 3266         -
-- /dev/null
        4024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 3267   4025   
@@ -0,0 +1 @@
        4026  +
3045022044e0c722f2d02673c326d0ac38aae57e2877e158b700de702e5dd082be680f65022100841bb5007fb5ece1078add2bf38e84f1b7ea13e67b935d1fd021014eedee46a4
              \
 No newline at end of file
 3268   4027   
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
 3269   4028   
new file mode 100644
 3270   4029   
index 0000000..62f8cb7
 3271         -
-- /dev/null
        4030  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 3272   4031   
@@ -0,0 +1,7 @@
        4032  +
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
        4033  +
Host:example.amazonaws.com
        4034  +
My-Header1:value4
        4035  +
My-Header1:value1
        4036  +
My-Header1:value3
        4037  +
My-Header1:value2
        4038  +
 3273   4039   
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
 3274   4040   
similarity index 99%
 3275   4041   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
 3276   4042   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3277   4043   
index b584179..2bcf7b1 100644
 3278         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
        4044  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3279   4045   
@@ -1,4 +1,4 @@
 3280   4046   
AWS4-ECDSA-P256-SHA256
 3281   4047   
20150830T123600Z
 3282   4048   
20150830/service/aws4_request
 3283         -
e2bf35ea25a1943bf52cfc8348c787db8fd8ca642dc9f2b9443939c2fb0d3c54
        4049  +
e2bf35ea25a1943bf52cfc8348c787db8fd8ca642dc9f2b9443939c2fb0d3c54
              \
 No newline at end of file
 3284   4050   
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
 3285   4051   
similarity index 80%
 3286   4052   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
 3287   4053   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3288   4054   
index f7bd9e6..2c6f49d 100644
 3289         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
        4055  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3290   4056   
@@ -1,7 +1,6 @@
 3291   4057   
GET / HTTP/1.1
 3292   4058   
Host:example.amazonaws.com
 3293   4059   
My-Header1:value4
 3294   4060   
My-Header1:value1
 3295   4061   
My-Header1:value3
 3296   4062   
My-Header1:value2
 3297         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3298   4063   
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
 3299   4064   
new file mode 100644
 3300   4065   
index 0000000..0468d80
 3301         -
-- /dev/null
        4066  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 3302   4067   
@@ -0,0 +1,12 @@
        4068  +
{
        4069  +
    "credentials": {
        4070  +
        "access_key_id": "AKIDEXAMPLE",
        4071  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4072  +
    },
        4073  +
    "expiration_in_seconds": 3600,
        4074  +
    "normalize": true,
        4075  +
    "region": "us-east-1",
        4076  +
    "service": "service",
        4077  +
    "sign_body": false,
        4078  +
    "timestamp": "2015-08-30T12:36:00Z"
        4079  +
}
              \
 No newline at end of file
 3303   4080   
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
 3304   4081   
similarity index 99%
 3305   4082   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
 3306   4083   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3307   4084   
index e91e952..94b6be5 100644
 3308         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
        4085  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3309   4086   
@@ -1,11 +1,11 @@
 3310   4087   
GET
 3311   4088   
/
 3312   4089   
 3313   4090   
host:example.amazonaws.com
 3314   4091   
my-header1:value1
 3315   4092   
my-header2:"a b c"
 3316   4093   
x-amz-date:20150830T123600Z
 3317   4094   
x-amz-region-set:us-east-1
 3318   4095   
 3319   4096   
host;my-header1;my-header2;x-amz-date;x-amz-region-set
 3320         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4097  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3321   4098   
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
 3322   4099   
new file mode 100644
 3323   4100   
index 0000000..bf8c3cb
 3324         -
-- /dev/null
        4101  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 3325   4102   
@@ -0,0 +1 @@
        4103  +
3046022100f05cfb8a9a49ee4540c49ed27e612ddd1a2d168512bad65a96cdf8378254a4bd022100a3eb663e6734125d467fc00d5a41dc6bf476ec167d5c20657ff3135c8b4f7815
              \
 No newline at end of file
 3326   4104   
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
 3327   4105   
new file mode 100644
 3328   4106   
index 0000000..f7f054d
 3329         -
-- /dev/null
        4107  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 3330   4108   
@@ -0,0 +1,8 @@
        4109  +
GET / HTTP/1.1
        4110  +
Host:example.amazonaws.com
        4111  +
My-Header1: value1
        4112  +
My-Header2: "a   b   c"
        4113  +
X-Amz-Date:20150830T123600Z
        4114  +
X-Amz-Region-Set:us-east-1
        4115  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date;x-amz-region-set, Signature=3046022100ce72c874a80cea45e3c5b7cbe76178f8577870e1f97ee1730f57cff45c3d398b022100e4ea7b870335abab5ca57fa740d20b3c5aba2739cf96dd7fa671fc11cf6c3341
        4116  +
 3331   4117   
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
 3332   4118   
similarity index 99%
 3333   4119   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
 3334   4120   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3335   4121   
index 0e407d8..a2c9c05 100644
 3336         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
        4122  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3337   4123   
@@ -1,4 +1,4 @@
 3338   4124   
AWS4-ECDSA-P256-SHA256
 3339   4125   
20150830T123600Z
 3340   4126   
20150830/service/aws4_request
 3341         -
18b43001be9b531ebdd8202144dbd7630ea8a35bc328a7d0e561dda03a876095
        4127  +
18b43001be9b531ebdd8202144dbd7630ea8a35bc328a7d0e561dda03a876095
              \
 No newline at end of file
 3342   4128   
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
 3343   4129   
new file mode 100644
 3344   4130   
index 0000000..379dcb2
 3345         -
-- /dev/null
        4131  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 3346   4132   
@@ -0,0 +1,4 @@
        4133  +
{
        4134  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4135  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4136  +
}
 3347   4137   
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
 3348   4138   
similarity index 99%
 3349   4139   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
 3350   4140   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3351   4141   
index 8a3b042..3a51150 100644
 3352         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
        4142  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3353   4143   
@@ -1,9 +1,9 @@
 3354   4144   
GET
 3355   4145   
/
 3356   4146   
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%3Bmy-header2
 3357   4147   
host:example.amazonaws.com
 3358   4148   
my-header1:value1
 3359   4149   
my-header2:"a b c"
 3360   4150   
 3361   4151   
host;my-header1;my-header2
 3362         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4152  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3363   4153   
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
 3364   4154   
new file mode 100644
 3365   4155   
index 0000000..0033053
 3366         -
-- /dev/null
        4156  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 3367   4157   
@@ -0,0 +1 @@
        4158  +
3045022100a765fa4e0a2c5d56292cc9aa654332858bcbb2af27b8c488157113f2c084776b02206145afa6dbb99993e499863fa36e592b94ddaeefbd778a473348204f26c15547
              \
 No newline at end of file
 3368   4159   
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
 3369   4160   
new file mode 100644
 3370   4161   
index 0000000..1537888
 3371         -
-- /dev/null
        4162  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 3372   4163   
@@ -0,0 +1,5 @@
        4164  +
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
        4165  +
Host:example.amazonaws.com
        4166  +
My-Header1: value1
        4167  +
My-Header2: "a   b   c"
        4168  +
 3373   4169   
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
 3374   4170   
similarity index 99%
 3375   4171   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
 3376   4172   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3377   4173   
index 5eead25..633dc1f 100644
 3378         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
        4174  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3379   4175   
@@ -1,4 +1,4 @@
 3380   4176   
AWS4-ECDSA-P256-SHA256
 3381   4177   
20150830T123600Z
 3382   4178   
20150830/service/aws4_request
 3383         -
4f92ebcf5f0844588e443a2243fafdb64319c6d1ad913c07686129b9991326a3
        4179  +
4f92ebcf5f0844588e443a2243fafdb64319c6d1ad913c07686129b9991326a3
              \
 No newline at end of file
 3384   4180   
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
 3385   4181   
similarity index 75%
 3386   4182   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
 3387   4183   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3388   4184   
index 901f36c..ad1ea98 100644
 3389         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
        4185  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3390   4186   
@@ -1,5 +1,4 @@
 3391   4187   
GET / HTTP/1.1
 3392   4188   
Host:example.amazonaws.com
 3393   4189   
My-Header1: value1
 3394   4190   
My-Header2: "a   b   c"
 3395         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3396   4191   
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
 3397   4192   
new file mode 100644
 3398   4193   
index 0000000..0468d80
 3399         -
-- /dev/null
        4194  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 3400   4195   
@@ -0,0 +1,12 @@
        4196  +
{
        4197  +
    "credentials": {
        4198  +
        "access_key_id": "AKIDEXAMPLE",
        4199  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4200  +
    },
        4201  +
    "expiration_in_seconds": 3600,
        4202  +
    "normalize": true,
        4203  +
    "region": "us-east-1",
        4204  +
    "service": "service",
        4205  +
    "sign_body": false,
        4206  +
    "timestamp": "2015-08-30T12:36:00Z"
        4207  +
}
              \
 No newline at end of file
 3401   4208   
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
 3402   4209   
similarity index 99%
 3403   4210   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
 3404   4211   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3405   4212   
index 47e7128..76db73d 100644
 3406         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
        4213  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3407   4214   
@@ -1,9 +1,9 @@
 3408   4215   
GET
 3409   4216   
/
 3410   4217   
 3411   4218   
host:example.amazonaws.com
 3412   4219   
x-amz-date:20150830T123600Z
 3413   4220   
x-amz-region-set:us-east-1
 3414   4221   
 3415   4222   
host;x-amz-date;x-amz-region-set
 3416         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4223  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3417   4224   
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
 3418   4225   
new file mode 100644
 3419   4226   
index 0000000..cbd6ae2
 3420         -
-- /dev/null
        4227  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3421   4228   
@@ -0,0 +1 @@
        4229  +
3045022002e5e766e09de198957182589c9abe3e7ccd00a8fc6d7bbaf5f0a2c10660d16a022100e6b0835731cd5b72d5abb50e5821d90f5f713339697eb65cf40d34a3facfdbb8
              \
 No newline at end of file
 3422   4230   
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
 3423   4231   
new file mode 100644
 3424   4232   
index 0000000..a343fcf
 3425         -
-- /dev/null
        4233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3426   4234   
@@ -0,0 +1,6 @@
        4235  +
GET /example/.. HTTP/1.1
        4236  +
Host:example.amazonaws.com
        4237  +
X-Amz-Date:20150830T123600Z
        4238  +
X-Amz-Region-Set:us-east-1
        4239  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206ccd591952cdb4a0a002217788234c80eac520f890b0a6ea07b98044f08ba10e0220733126caf0347f7df89773f79b9fae2648ca786e67a7d88ec296d66452da4bec
        4240  +
 3427   4241   
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
 3428   4242   
similarity index 99%
 3429   4243   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
 3430   4244   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3431   4245   
index 95d7219..600f1d8 100644
 3432         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
        4246  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3433   4247   
@@ -1,4 +1,4 @@
 3434   4248   
AWS4-ECDSA-P256-SHA256
 3435   4249   
20150830T123600Z
 3436   4250   
20150830/service/aws4_request
 3437         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4251  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 3438   4252   
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
 3439   4253   
new file mode 100644
 3440   4254   
index 0000000..379dcb2
 3441         -
-- /dev/null
        4255  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3442   4256   
@@ -0,0 +1,4 @@
        4257  +
{
        4258  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4259  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4260  +
}
 3443   4261   
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
 3444   4262   
similarity index 99%
 3445   4263   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
 3446   4264   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3447   4265   
index a34ea26..779c51c 100644
 3448         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
        4266  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3449   4267   
@@ -1,7 +1,7 @@
 3450   4268   
GET
 3451   4269   
/
 3452   4270   
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
 3453   4271   
host:example.amazonaws.com
 3454   4272   
 3455   4273   
host
 3456         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4274  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3457   4275   
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
 3458   4276   
new file mode 100644
 3459   4277   
index 0000000..3cc88e6
 3460         -
-- /dev/null
        4278  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3461   4279   
@@ -0,0 +1 @@
        4280  +
304402200ef7c6ac7bfaaddbf4df3a4b03ab2e4e24e992d305fa133ef0f6c826ad9850e602203ef21f22e239cd1971310c404c80d6e50c5cd06eae1452695ae762d1a9a51c90
              \
 No newline at end of file
 3462   4281   
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
 3463   4282   
new file mode 100644
 3464   4283   
index 0000000..f68dde8
 3465         -
-- /dev/null
        4284  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3466   4285   
@@ -0,0 +1,3 @@
        4286  +
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
        4287  +
Host:example.amazonaws.com
        4288  +
 3467   4289   
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
 3468   4290   
similarity index 99%
 3469   4291   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
 3470   4292   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3471   4293   
index 48f855c..6e29a7e 100644
 3472         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
        4294  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3473   4295   
@@ -1,4 +1,4 @@
 3474   4296   
AWS4-ECDSA-P256-SHA256
 3475   4297   
20150830T123600Z
 3476   4298   
20150830/service/aws4_request
 3477         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        4299  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 3478   4300   
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
 3479   4301   
similarity index 65%
 3480   4302   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
 3481   4303   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3482   4304   
index 9d6d7ca..6aa9f99 100644
 3483         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
        4305  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3484   4306   
@@ -1,3 +1,2 @@
 3485   4307   
GET /example/.. HTTP/1.1
 3486   4308   
Host:example.amazonaws.com
 3487         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3488   4309   
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
 3489   4310   
new file mode 100644
 3490   4311   
index 0000000..0468d80
 3491         -
-- /dev/null
        4312  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3492   4313   
@@ -0,0 +1,12 @@
        4314  +
{
        4315  +
    "credentials": {
        4316  +
        "access_key_id": "AKIDEXAMPLE",
        4317  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4318  +
    },
        4319  +
    "expiration_in_seconds": 3600,
        4320  +
    "normalize": true,
        4321  +
    "region": "us-east-1",
        4322  +
    "service": "service",
        4323  +
    "sign_body": false,
        4324  +
    "timestamp": "2015-08-30T12:36:00Z"
        4325  +
}
              \
 No newline at end of file
 3493   4326   
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
 3494   4327   
similarity index 99%
 3495   4328   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
 3496   4329   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3497   4330   
index 47e7128..76db73d 100644
 3498         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
        4331  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3499   4332   
@@ -1,9 +1,9 @@
 3500   4333   
GET
 3501   4334   
/
 3502   4335   
 3503   4336   
host:example.amazonaws.com
 3504   4337   
x-amz-date:20150830T123600Z
 3505   4338   
x-amz-region-set:us-east-1
 3506   4339   
 3507   4340   
host;x-amz-date;x-amz-region-set
 3508         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4341  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3509   4342   
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
 3510   4343   
new file mode 100644
 3511   4344   
index 0000000..f7a7ebe
 3512         -
-- /dev/null
        4345  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3513   4346   
@@ -0,0 +1 @@
        4347  +
3046022100ea029ea1e7b8715f67cd33b8536e013e53e9c7bcd109770f29a4a28767bb2212022100c95a298283c130266a4c8457590d8c047205b4aef9266b85deeb90e5c73e5caa
              \
 No newline at end of file
 3514   4348   
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
 3515   4349   
new file mode 100644
 3516   4350   
index 0000000..9d2c50d
 3517         -
-- /dev/null
        4351  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3518   4352   
@@ -0,0 +1,6 @@
        4353  +
GET /example1/example2/../.. HTTP/1.1
        4354  +
Host:example.amazonaws.com
        4355  +
X-Amz-Date:20150830T123600Z
        4356  +
X-Amz-Region-Set:us-east-1
        4357  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203edb747d59fe32db47529b2e5e02c9276759b7c43ad9e36ff62d52b8dbeb00e3022007f99e8601938b893fe6dcbac9259fec2f3797b0e3d74fd66d59b09e83b8c1d4
        4358  +
 3519   4359   
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
 3520   4360   
similarity index 99%
 3521   4361   
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
 3522   4362   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3523   4363   
index 95d7219..600f1d8 100644
 3524         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-string-to-sign.txt
        4364  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3525   4365   
@@ -1,4 +1,4 @@
 3526   4366   
AWS4-ECDSA-P256-SHA256
 3527   4367   
20150830T123600Z
 3528   4368   
20150830/service/aws4_request
 3529         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4369  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 3530   4370   
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
 3531   4371   
new file mode 100644
 3532   4372   
index 0000000..379dcb2
 3533         -
-- /dev/null
        4373  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3534   4374   
@@ -0,0 +1,4 @@
        4375  +
{
        4376  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4377  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4378  +
}
 3535   4379   
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
 3536   4380   
similarity index 99%
 3537   4381   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
 3538   4382   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3539   4383   
index a34ea26..779c51c 100644
 3540         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
        4384  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3541   4385   
@@ -1,7 +1,7 @@
 3542   4386   
GET
 3543   4387   
/
 3544   4388   
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
 3545   4389   
host:example.amazonaws.com
 3546   4390   
 3547   4391   
host
 3548         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4392  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3549   4393   
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
 3550   4394   
new file mode 100644
 3551   4395   
index 0000000..45ef286
 3552         -
-- /dev/null
        4396  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3553   4397   
@@ -0,0 +1 @@
        4398  +
304402200afc56cdc43e814e44408999f2fb2fe0f8992877345b09e402b28fb2063e4987022035cdba28f5462e9034f45fc5f879bd2305943f9a1830b0f7fbe6468658ba52c1
              \
 No newline at end of file
 3554   4399   
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
 3555   4400   
new file mode 100644
 3556   4401   
index 0000000..0d16f66
 3557         -
-- /dev/null
        4402  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3558   4403   
@@ -0,0 +1,3 @@
        4404  +
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
        4405  +
Host:example.amazonaws.com
        4406  +
 3559   4407   
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
 3560   4408   
similarity index 99%
 3561   4409   
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
 3562   4410   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3563   4411   
index 48f855c..6e29a7e 100644
 3564         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-string-to-sign.txt
        4412  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3565   4413   
@@ -1,4 +1,4 @@
 3566   4414   
AWS4-ECDSA-P256-SHA256
 3567   4415   
20150830T123600Z
 3568   4416   
20150830/service/aws4_request
 3569         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        4417  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 3570   4418   
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
 3571   4419   
similarity index 70%
 3572   4420   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
 3573   4421   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3574   4422   
index cfd4e8b..a856c10 100644
 3575         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
        4423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3576   4424   
@@ -1,3 +1,2 @@
 3577   4425   
GET /example1/example2/../.. HTTP/1.1
 3578   4426   
Host:example.amazonaws.com
 3579         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3580   4427   
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
 3581   4428   
new file mode 100644
 3582   4429   
index 0000000..7bee5c7
 3583         -
-- /dev/null
        4430  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3584   4431   
@@ -0,0 +1,12 @@
        4432  +
{
        4433  +
    "credentials": {
        4434  +
        "access_key_id": "AKIDEXAMPLE",
        4435  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4436  +
    },
        4437  +
    "expiration_in_seconds": 3600,
        4438  +
    "normalize": false,
        4439  +
    "region": "us-east-1",
        4440  +
    "service": "service",
        4441  +
    "sign_body": false,
        4442  +
    "timestamp": "2015-08-30T12:36:00Z"
        4443  +
}
              \
 No newline at end of file
 3585   4444   
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
 3586   4445   
similarity index 99%
 3587   4446   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
 3588   4447   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3589   4448   
index 5e1d1cf..e4e6d57 100644
 3590         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
        4449  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3591   4450   
@@ -1,9 +1,9 @@
 3592   4451   
GET
 3593   4452   
/example1/example2/../..
 3594   4453   
 3595   4454   
host:example.amazonaws.com
 3596   4455   
x-amz-date:20150830T123600Z
 3597   4456   
x-amz-region-set:us-east-1
 3598   4457   
 3599   4458   
host;x-amz-date;x-amz-region-set
 3600         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4459  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3601   4460   
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
 3602   4461   
new file mode 100644
 3603   4462   
index 0000000..2d1b47c
 3604         -
-- /dev/null
        4463  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3605   4464   
@@ -0,0 +1 @@
        4465  +
30450221009bf86ef8b148904a938fcc5a050aa99cb99cb6a3436a62badfef1b82977d95c4022053e3c11e10fb302a2c39c253b066530404ee5fcca63bf962facd8d072817a69d
              \
 No newline at end of file
 3606   4466   
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
 3607   4467   
new file mode 100644
 3608   4468   
index 0000000..7158179
 3609         -
-- /dev/null
        4469  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3610   4470   
@@ -0,0 +1,6 @@
        4471  +
GET /example1/example2/../.. HTTP/1.1
        4472  +
Host:example.amazonaws.com
        4473  +
X-Amz-Date:20150830T123600Z
        4474  +
X-Amz-Region-Set:us-east-1
        4475  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402205651d45d4f377407303dba0775405efa77683821adff20c0256b94d10710de5b022053fa72420652c55327876c5105da6770cb482f55533e1b0bd7d15fa75f570e46
        4476  +
 3611   4477   
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
 3612   4478   
similarity index 99%
 3613   4479   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
 3614   4480   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3615   4481   
index 1cca6cf..db60c8e 100644
 3616         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
        4482  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3617   4483   
@@ -1,4 +1,4 @@
 3618   4484   
AWS4-ECDSA-P256-SHA256
 3619   4485   
20150830T123600Z
 3620   4486   
20150830/service/aws4_request
 3621         -
7bad1fab948577ec4e860ff2bb06ce9b69f0dd60eb8a9ad7c016b584254f9b5b
        4487  +
7bad1fab948577ec4e860ff2bb06ce9b69f0dd60eb8a9ad7c016b584254f9b5b
              \
 No newline at end of file
 3622   4488   
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
 3623   4489   
new file mode 100644
 3624   4490   
index 0000000..379dcb2
 3625         -
-- /dev/null
        4491  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3626   4492   
@@ -0,0 +1,4 @@
        4493  +
{
        4494  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4495  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4496  +
}
 3627   4497   
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
 3628   4498   
similarity index 99%
 3629   4499   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
 3630   4500   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3631   4501   
index 95dc104..0d963ba 100644
 3632         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
        4502  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3633   4503   
@@ -1,7 +1,7 @@
 3634   4504   
GET
 3635   4505   
/example1/example2/../..
 3636   4506   
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
 3637   4507   
host:example.amazonaws.com
 3638   4508   
 3639   4509   
host
 3640         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4510  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3641   4511   
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
 3642   4512   
new file mode 100644
 3643   4513   
index 0000000..ae774e4
 3644         -
-- /dev/null
        4514  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3645   4515   
@@ -0,0 +1 @@
        4516  +
3046022100a11cd4cae39a6b3553651f9c6360898278d90a3cb8f736184ff6bdb8564decbc022100d86a34623cc34890750a7fe8a30948638f6dace0e558c3ff82a0cf6256067503
              \
 No newline at end of file
 3646   4517   
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
 3647   4518   
new file mode 100644
 3648   4519   
index 0000000..be6b86e
 3649         -
-- /dev/null
        4520  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3650   4521   
@@ -0,0 +1,3 @@
        4522  +
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
        4523  +
Host:example.amazonaws.com
        4524  +
 3651   4525   
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
 3652   4526   
similarity index 99%
 3653   4527   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
 3654   4528   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3655   4529   
index 50edce6..fcc70cd 100644
 3656         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
        4530  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3657   4531   
@@ -1,4 +1,4 @@
 3658   4532   
AWS4-ECDSA-P256-SHA256
 3659   4533   
20150830T123600Z
 3660   4534   
20150830/service/aws4_request
 3661         -
504892d7f7262dd98d79ab7f3bb6f918cd59d491aacb2d76450f6e065479b31a
        4535  +
504892d7f7262dd98d79ab7f3bb6f918cd59d491aacb2d76450f6e065479b31a
              \
 No newline at end of file
 3662   4536   
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
 3663   4537   
new file mode 100644
 3664   4538   
index 0000000..a856c10
 3665         -
-- /dev/null
        4539  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3666   4540   
@@ -0,0 +1,2 @@
        4541  +
GET /example1/example2/../.. HTTP/1.1
        4542  +
Host:example.amazonaws.com
 3667   4543   
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
 3668   4544   
new file mode 100644
 3669   4545   
index 0000000..7bee5c7
 3670         -
-- /dev/null
        4546  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3671   4547   
@@ -0,0 +1,12 @@
        4548  +
{
        4549  +
    "credentials": {
        4550  +
        "access_key_id": "AKIDEXAMPLE",
        4551  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4552  +
    },
        4553  +
    "expiration_in_seconds": 3600,
        4554  +
    "normalize": false,
        4555  +
    "region": "us-east-1",
        4556  +
    "service": "service",
        4557  +
    "sign_body": false,
        4558  +
    "timestamp": "2015-08-30T12:36:00Z"
        4559  +
}
              \
 No newline at end of file
 3672   4560   
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
 3673   4561   
similarity index 99%
 3674   4562   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
 3675   4563   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3676   4564   
index d6a0abe..22def1a 100644
 3677         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
        4565  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3678   4566   
@@ -1,9 +1,9 @@
 3679   4567   
GET
 3680   4568   
/example/..
 3681   4569   
 3682   4570   
host:example.amazonaws.com
 3683   4571   
x-amz-date:20150830T123600Z
 3684   4572   
x-amz-region-set:us-east-1
 3685   4573   
 3686   4574   
host;x-amz-date;x-amz-region-set
 3687         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4575  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3688   4576   
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
 3689   4577   
new file mode 100644
 3690   4578   
index 0000000..9251bad
 3691         -
-- /dev/null
        4579  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3692   4580   
@@ -0,0 +1 @@
        4581  +
3045022100a85167a37a2c6aea42ef9dcb0dcaeaf85ca4ef1a4d8ffea5be550dbd4573471902202193760e5e6bb1ee4aff836769b9739f4563e06749bcaa7553ec1d1377aa5a6d
              \
 No newline at end of file
 3693   4582   
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
 3694   4583   
new file mode 100644
 3695   4584   
index 0000000..f1bb60f
 3696         -
-- /dev/null
        4585  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3697   4586   
@@ -0,0 +1,6 @@
        4587  +
GET /example/.. HTTP/1.1
        4588  +
Host:example.amazonaws.com
        4589  +
X-Amz-Date:20150830T123600Z
        4590  +
X-Amz-Region-Set:us-east-1
        4591  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402201430c834d8a89aca13ebd785da338950559f71ab29f1b7d7b4ad6b090de1a09702206c8d6089b75105d6fc5df5374bbb8abbc33b78951c95b90f9f6c25a657b58ce6
        4592  +
 3698   4593   
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
 3699   4594   
similarity index 99%
 3700   4595   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
 3701   4596   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3702   4597   
index 4a34e93..5673a20 100644
 3703         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
        4598  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3704   4599   
@@ -1,4 +1,4 @@
 3705   4600   
AWS4-ECDSA-P256-SHA256
 3706   4601   
20150830T123600Z
 3707   4602   
20150830/service/aws4_request
 3708         -
c859b5032f2ebd5df0285ff633b495b0e6e962e5adb94731c95e8e993a9a8213
        4603  +
c859b5032f2ebd5df0285ff633b495b0e6e962e5adb94731c95e8e993a9a8213
              \
 No newline at end of file
 3709   4604   
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
 3710   4605   
new file mode 100644
 3711   4606   
index 0000000..379dcb2
 3712         -
-- /dev/null
        4607  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3713   4608   
@@ -0,0 +1,4 @@
        4609  +
{
        4610  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4611  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4612  +
}
 3714   4613   
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
 3715   4614   
similarity index 99%
 3716   4615   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
 3717   4616   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3718   4617   
index b1d123e..a1c22e0 100644
 3719         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
        4618  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3720   4619   
@@ -1,7 +1,7 @@
 3721   4620   
GET
 3722   4621   
/example/..
 3723   4622   
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
 3724   4623   
host:example.amazonaws.com
 3725   4624   
 3726   4625   
host
 3727         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4626  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3728   4627   
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
 3729   4628   
new file mode 100644
 3730   4629   
index 0000000..9f0f686
 3731         -
-- /dev/null
        4630  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3732   4631   
@@ -0,0 +1 @@
        4632  +
3045022074d05647e395d4bf3d751953c7242ee27dd16fbae3f604a272d3acc3d72ba5fb022100ddccd95ac05f60f10d5e95c5847b49018bbfa1084361bf338964408cc2162fff
              \
 No newline at end of file
 3733   4633   
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
 3734   4634   
new file mode 100644
 3735   4635   
index 0000000..d1d451a
 3736         -
-- /dev/null
        4636  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3737   4637   
@@ -0,0 +1,3 @@
        4638  +
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
        4639  +
Host:example.amazonaws.com
        4640  +
 3738   4641   
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
 3739   4642   
similarity index 99%
 3740   4643   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
 3741   4644   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3742   4645   
index a17f5ab..81b41e8 100644
 3743         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
        4646  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3744   4647   
@@ -1,4 +1,4 @@
 3745   4648   
AWS4-ECDSA-P256-SHA256
 3746   4649   
20150830T123600Z
 3747   4650   
20150830/service/aws4_request
 3748         -
bbbb3668f996906ebb2c96ebdc2418af99656315adaf647989ab336c88fb516e
        4651  +
bbbb3668f996906ebb2c96ebdc2418af99656315adaf647989ab336c88fb516e
              \
 No newline at end of file
 3749   4652   
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
 3750   4653   
new file mode 100644
 3751   4654   
index 0000000..6aa9f99
 3752         -
-- /dev/null
        4655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3753   4656   
@@ -0,0 +1,2 @@
        4657  +
GET /example/.. HTTP/1.1
        4658  +
Host:example.amazonaws.com
 3754   4659   
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
 3755   4660   
new file mode 100644
 3756   4661   
index 0000000..0468d80
 3757         -
-- /dev/null
        4662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3758   4663   
@@ -0,0 +1,12 @@
        4664  +
{
        4665  +
    "credentials": {
        4666  +
        "access_key_id": "AKIDEXAMPLE",
        4667  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4668  +
    },
        4669  +
    "expiration_in_seconds": 3600,
        4670  +
    "normalize": true,
        4671  +
    "region": "us-east-1",
        4672  +
    "service": "service",
        4673  +
    "sign_body": false,
        4674  +
    "timestamp": "2015-08-30T12:36:00Z"
        4675  +
}
              \
 No newline at end of file
 3759   4676   
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
 3760   4677   
similarity index 99%
 3761   4678   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
 3762   4679   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3763   4680   
index 47e7128..76db73d 100644
 3764         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
        4681  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3765   4682   
@@ -1,9 +1,9 @@
 3766   4683   
GET
 3767   4684   
/
 3768   4685   
 3769   4686   
host:example.amazonaws.com
 3770   4687   
x-amz-date:20150830T123600Z
 3771   4688   
x-amz-region-set:us-east-1
 3772   4689   
 3773   4690   
host;x-amz-date;x-amz-region-set
 3774         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4691  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3775   4692   
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
 3776   4693   
new file mode 100644
 3777   4694   
index 0000000..ca6e84e
 3778         -
-- /dev/null
        4695  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3779   4696   
@@ -0,0 +1 @@
        4697  +
3045022100e8ed39e8b964e06162ab1cddbff57c449a9b72e2d052a7a3e12a116ae30185ee022003e6eb0fddbaa586225b26877ab145e05a08ac418ef7c966e5daef258b70cbfc
              \
 No newline at end of file
 3780   4698   
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
 3781   4699   
new file mode 100644
 3782   4700   
index 0000000..a7c764c
 3783         -
-- /dev/null
        4701  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3784   4702   
@@ -0,0 +1,6 @@
        4703  +
GET /./ HTTP/1.1
        4704  +
Host:example.amazonaws.com
        4705  +
X-Amz-Date:20150830T123600Z
        4706  +
X-Amz-Region-Set:us-east-1
        4707  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207665172b8612dbbd2c1f3c722c52b7b8dac2cdc5203d86252e21d9610018b153022100c548f3f0c23beeb388f8c8138ce1e883e2cdf2be1d7c5d7c15d4e565bfd6b0dd
        4708  +
 3785   4709   
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
 3786   4710   
similarity index 99%
 3787   4711   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
 3788   4712   
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
 3789   4713   
index 95d7219..600f1d8 100644
 3790         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
        4714  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-string-to-sign.txt
 3791   4715   
@@ -1,4 +1,4 @@
 3792   4716   
AWS4-ECDSA-P256-SHA256
 3793   4717   
20150830T123600Z
 3794   4718   
20150830/service/aws4_request
 3795         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4719  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 3796   4720   
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
 3797   4721   
new file mode 100644
 3798   4722   
index 0000000..379dcb2
 3799         -
-- /dev/null
        4723  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3800   4724   
@@ -0,0 +1,4 @@
        4725  +
{
        4726  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4727  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4728  +
}
 3801   4729   
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
 3802   4730   
similarity index 99%
 3803   4731   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
 3804   4732   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3805   4733   
index a34ea26..779c51c 100644
 3806         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
        4734  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3807   4735   
@@ -1,7 +1,7 @@
 3808   4736   
GET
 3809   4737   
/
 3810   4738   
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
 3811   4739   
host:example.amazonaws.com
 3812   4740   
 3813   4741   
host
 3814         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4742  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3815   4743   
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
 3816   4744   
new file mode 100644
 3817   4745   
index 0000000..4b6ed09
 3818         -
-- /dev/null
        4746  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3819   4747   
@@ -0,0 +1 @@
        4748  +
3046022100ea775dcca84dbada39eb9e7d55183c31d7294d1826d965c2ade1730bd20ac7cb022100aaab5325eed9bb3f93814af0fd0170893cbeeff052d0bb554f91a394fd2f5135
              \
 No newline at end of file
 3820   4749   
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
 3821   4750   
new file mode 100644
 3822   4751   
index 0000000..d6c7176
 3823         -
-- /dev/null
        4752  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3824   4753   
@@ -0,0 +1,3 @@
        4754  +
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
        4755  +
Host:example.amazonaws.com
        4756  +
 3825   4757   
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
 3826   4758   
similarity index 99%
 3827   4759   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
 3828   4760   
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
 3829   4761   
index 48f855c..6e29a7e 100644
 3830         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
        4762  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-string-to-sign.txt
 3831   4763   
@@ -1,4 +1,4 @@
 3832   4764   
AWS4-ECDSA-P256-SHA256
 3833   4765   
20150830T123600Z
 3834   4766   
20150830/service/aws4_request
 3835         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        4767  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 3836   4768   
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
 3837   4769   
similarity index 61%
 3838   4770   
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
 3839   4771   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3840   4772   
index f3537b7..2c5ff38 100644
 3841         -
-- 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
        4773  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3842   4774   
@@ -1,3 +1,2 @@
 3843   4775   
GET /./ HTTP/1.1
 3844   4776   
Host:example.amazonaws.com
 3845         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3846   4777   
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
 3847   4778   
new file mode 100644
 3848   4779   
index 0000000..7bee5c7
 3849         -
-- /dev/null
        4780  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3850   4781   
@@ -0,0 +1,12 @@
        4782  +
{
        4783  +
    "credentials": {
        4784  +
        "access_key_id": "AKIDEXAMPLE",
        4785  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4786  +
    },
        4787  +
    "expiration_in_seconds": 3600,
        4788  +
    "normalize": false,
        4789  +
    "region": "us-east-1",
        4790  +
    "service": "service",
        4791  +
    "sign_body": false,
        4792  +
    "timestamp": "2015-08-30T12:36:00Z"
        4793  +
}
              \
 No newline at end of file
 3851   4794   
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
 3852   4795   
similarity index 99%
 3853   4796   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3854   4797   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3855   4798   
index d05303d..9257ac4 100644
 3856         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
        4799  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3857   4800   
@@ -1,9 +1,9 @@
 3858   4801   
GET
 3859   4802   
/./
 3860   4803   
 3861   4804   
host:example.amazonaws.com
 3862   4805   
x-amz-date:20150830T123600Z
 3863   4806   
x-amz-region-set:us-east-1
 3864   4807   
 3865   4808   
host;x-amz-date;x-amz-region-set
 3866         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4809  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3867   4810   
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
 3868   4811   
new file mode 100644
 3869   4812   
index 0000000..2eb1aa5
 3870         -
-- /dev/null
        4813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3871   4814   
@@ -0,0 +1 @@
        4815  +
30450220430660fe6e8e04ee055a2c56476dcf95c00b3efca267823134664f90a23fdc0f022100f188106c83e13a89e6a487f24d23522520f7a15c40e3aacd0c32284da42c2f5a
              \
 No newline at end of file
 3872   4816   
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
 3873   4817   
new file mode 100644
 3874   4818   
index 0000000..df3b1da
 3875         -
-- /dev/null
        4819  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3876   4820   
@@ -0,0 +1,6 @@
        4821  +
GET /./ HTTP/1.1
        4822  +
Host:example.amazonaws.com
        4823  +
X-Amz-Date:20150830T123600Z
        4824  +
X-Amz-Region-Set:us-east-1
        4825  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022049aaa02168ac9666a94f42238be0a02a7a244b74d6e16bdf64aac7ce8e21e44d02206b9be50186bdd4ee9191c0dd5ccff7e990365bb3b56430653f6fa49a68dbf596
        4826  +
 3877   4827   
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
 3878   4828   
similarity index 99%
 3879   4829   
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
 3880   4830   
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
 3881   4831   
index e1bfb39..754b3ed 100644
 3882         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
        4832  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 3883   4833   
@@ -1,4 +1,4 @@
 3884   4834   
AWS4-ECDSA-P256-SHA256
 3885   4835   
20150830T123600Z
 3886   4836   
20150830/service/aws4_request
 3887         -
a14dce0217a32357c623c3db790988b6b5aa1494a527158b06d3ca4444561a4b
        4837  +
a14dce0217a32357c623c3db790988b6b5aa1494a527158b06d3ca4444561a4b
              \
 No newline at end of file
 3888   4838   
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
 3889   4839   
new file mode 100644
 3890   4840   
index 0000000..379dcb2
 3891         -
-- /dev/null
        4841  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3892   4842   
@@ -0,0 +1,4 @@
        4843  +
{
        4844  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4845  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4846  +
}
 3893   4847   
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
 3894   4848   
similarity index 99%
 3895   4849   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3896   4850   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3897   4851   
index f048d0f..c8edce3 100644
 3898         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
        4852  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3899   4853   
@@ -1,7 +1,7 @@
 3900   4854   
GET
 3901   4855   
/./
 3902   4856   
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
 3903   4857   
host:example.amazonaws.com
 3904   4858   
 3905   4859   
host
 3906         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4860  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3907   4861   
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
 3908   4862   
new file mode 100644
 3909   4863   
index 0000000..d3af3b8
 3910         -
-- /dev/null
        4864  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3911   4865   
@@ -0,0 +1 @@
        4866  +
304402207999228e5213710741e030ffa7dfa83ce3676384c5df044431bc854488a08abd0220248ff8a956bbcbc641c0ec4a7853774f44112b1571f861fc5aebf78282fd7e63
              \
 No newline at end of file
 3912   4867   
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
 3913   4868   
new file mode 100644
 3914   4869   
index 0000000..eb38155
 3915         -
-- /dev/null
        4870  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3916   4871   
@@ -0,0 +1,3 @@
        4872  +
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
        4873  +
Host:example.amazonaws.com
        4874  +
 3917   4875   
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
 3918   4876   
similarity index 99%
 3919   4877   
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
 3920   4878   
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
 3921   4879   
index bfcf245..4f20b8f 100644
 3922         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
        4880  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 3923   4881   
@@ -1,4 +1,4 @@
 3924   4882   
AWS4-ECDSA-P256-SHA256
 3925   4883   
20150830T123600Z
 3926   4884   
20150830/service/aws4_request
 3927         -
0d146fed00cdf50d7a87864583b7a33ca75322aab46b0a2d204f5d0c13440917
        4885  +
0d146fed00cdf50d7a87864583b7a33ca75322aab46b0a2d204f5d0c13440917
              \
 No newline at end of file
 3928   4886   
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
 3929   4887   
new file mode 100644
 3930   4888   
index 0000000..2c5ff38
 3931         -
-- /dev/null
        4889  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3932   4890   
@@ -0,0 +1,2 @@
        4891  +
GET /./ HTTP/1.1
        4892  +
Host:example.amazonaws.com
 3933   4893   
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
 3934   4894   
new file mode 100644
 3935   4895   
index 0000000..0468d80
 3936         -
-- /dev/null
        4896  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3937   4897   
@@ -0,0 +1,12 @@
        4898  +
{
        4899  +
    "credentials": {
        4900  +
        "access_key_id": "AKIDEXAMPLE",
        4901  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4902  +
    },
        4903  +
    "expiration_in_seconds": 3600,
        4904  +
    "normalize": true,
        4905  +
    "region": "us-east-1",
        4906  +
    "service": "service",
        4907  +
    "sign_body": false,
        4908  +
    "timestamp": "2015-08-30T12:36:00Z"
        4909  +
}
              \
 No newline at end of file
 3938   4910   
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
 3939   4911   
similarity index 99%
 3940   4912   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
 3941   4913   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3942   4914   
index 47e7128..76db73d 100644
 3943         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
        4915  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3944   4916   
@@ -1,9 +1,9 @@
 3945   4917   
GET
 3946   4918   
/
 3947   4919   
 3948   4920   
host:example.amazonaws.com
 3949   4921   
x-amz-date:20150830T123600Z
 3950   4922   
x-amz-region-set:us-east-1
 3951   4923   
 3952   4924   
host;x-amz-date;x-amz-region-set
 3953         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4925  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3954   4926   
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
 3955   4927   
new file mode 100644
 3956   4928   
index 0000000..0c049ca
 3957         -
-- /dev/null
        4929  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 3958   4930   
@@ -0,0 +1 @@
        4931  +
304602210084a7310186a866f81dbe8e546f6931dd7c61586d30664d5c11f5904836f72cfd022100c7d80abdccceb1cbcdbbda8b4f3f0ae1ac6229dce800b21ba8298c582fa96a1c
              \
 No newline at end of file
 3959   4932   
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
 3960   4933   
new file mode 100644
 3961   4934   
index 0000000..f4bb1e1
 3962         -
-- /dev/null
        4935  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 3963   4936   
@@ -0,0 +1,6 @@
        4937  +
GET // HTTP/1.1
        4938  +
Host:example.amazonaws.com
        4939  +
X-Amz-Date:20150830T123600Z
        4940  +
X-Amz-Region-Set:us-east-1
        4941  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207c7fe2e91cdbe4529569d58fc3727507375cff81a56cfa26b387895ab6cdbb25022100d38e283efa5ff27d88f10e7367493b1dc49050ba9474531e4acb3ee30fac3739
        4942  +
 3964   4943   
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
 3965   4944   
similarity index 99%
 3966   4945   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
 3967   4946   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3968   4947   
index 95d7219..600f1d8 100644
 3969         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
        4948  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3970   4949   
@@ -1,4 +1,4 @@
 3971   4950   
AWS4-ECDSA-P256-SHA256
 3972   4951   
20150830T123600Z
 3973   4952   
20150830/service/aws4_request
 3974         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4953  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 3975   4954   
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
 3976   4955   
new file mode 100644
 3977   4956   
index 0000000..379dcb2
 3978         -
-- /dev/null
        4957  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 3979   4958   
@@ -0,0 +1,4 @@
        4959  +
{
        4960  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4961  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4962  +
}
 3980   4963   
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
 3981   4964   
similarity index 99%
 3982   4965   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
 3983   4966   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3984   4967   
index a34ea26..779c51c 100644
 3985         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
        4968  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3986   4969   
@@ -1,7 +1,7 @@
 3987   4970   
GET
 3988   4971   
/
 3989   4972   
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
 3990   4973   
host:example.amazonaws.com
 3991   4974   
 3992   4975   
host
 3993         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4976  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3994   4977   
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
 3995   4978   
new file mode 100644
 3996   4979   
index 0000000..ca52293
 3997         -
-- /dev/null
        4980  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 3998   4981   
@@ -0,0 +1 @@
        4982  +
3045022100b1c08ec4e9a6313f2de7bd8ce726845ea7a3cc636a21ab7258a3067836a6601b02206b76d7a9845bfb683eb30d126a1dc4657e8b64762d4bfb976da9fa132c4a9bd7
              \
 No newline at end of file
 3999   4983   
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
 4000   4984   
new file mode 100644
 4001   4985   
index 0000000..4a212a9
 4002         -
-- /dev/null
        4986  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 4003   4987   
@@ -0,0 +1,3 @@
        4988  +
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
        4989  +
Host:example.amazonaws.com
        4990  +
 4004   4991   
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
 4005   4992   
similarity index 99%
 4006   4993   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
 4007   4994   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 4008   4995   
index 48f855c..6e29a7e 100644
 4009         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
        4996  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 4010   4997   
@@ -1,4 +1,4 @@
 4011   4998   
AWS4-ECDSA-P256-SHA256
 4012   4999   
20150830T123600Z
 4013   5000   
20150830/service/aws4_request
 4014         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        5001  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4015   5002   
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
 4016   5003   
similarity index 61%
 4017   5004   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
 4018   5005   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 4019   5006   
index ede8e3c..25bc21e 100644
 4020         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
        5007  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 4021   5008   
@@ -1,3 +1,2 @@
 4022   5009   
GET // HTTP/1.1
 4023   5010   
Host:example.amazonaws.com
 4024         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4025   5011   
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
 4026   5012   
new file mode 100644
 4027   5013   
index 0000000..0468d80
 4028         -
-- /dev/null
        5014  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 4029   5015   
@@ -0,0 +1,12 @@
        5016  +
{
        5017  +
    "credentials": {
        5018  +
        "access_key_id": "AKIDEXAMPLE",
        5019  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5020  +
    },
        5021  +
    "expiration_in_seconds": 3600,
        5022  +
    "normalize": true,
        5023  +
    "region": "us-east-1",
        5024  +
    "service": "service",
        5025  +
    "sign_body": false,
        5026  +
    "timestamp": "2015-08-30T12:36:00Z"
        5027  +
}
              \
 No newline at end of file
 4030   5028   
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
 4031   5029   
similarity index 99%
 4032   5030   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
 4033   5031   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 4034   5032   
index 2e36c20..a51f1ba 100644
 4035         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
        5033  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 4036   5034   
@@ -1,9 +1,9 @@
 4037   5035   
GET
 4038   5036   
/example
 4039   5037   
 4040   5038   
host:example.amazonaws.com
 4041   5039   
x-amz-date:20150830T123600Z
 4042   5040   
x-amz-region-set:us-east-1
 4043   5041   
 4044   5042   
host;x-amz-date;x-amz-region-set
 4045         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5043  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4046   5044   
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
 4047   5045   
new file mode 100644
 4048   5046   
index 0000000..f5c871f
 4049         -
-- /dev/null
        5047  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 4050   5048   
@@ -0,0 +1 @@
        5049  +
304502206b0f9b99fe4e4b3bbcb69dd6ca076c847e676161b6fb4cd2bc776f357ece3d07022100fafc5606c7b1a45aa6ce6a7a3a68b07875315b8f952f9a192a420e407e8d1cef
              \
 No newline at end of file
 4051   5050   
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
 4052   5051   
new file mode 100644
 4053   5052   
index 0000000..bda4718
 4054         -
-- /dev/null
        5053  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 4055   5054   
@@ -0,0 +1,6 @@
        5055  +
GET /./example HTTP/1.1
        5056  +
Host:example.amazonaws.com
        5057  +
X-Amz-Date:20150830T123600Z
        5058  +
X-Amz-Region-Set:us-east-1
        5059  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221008cb5fa4d42bdd0c293d58ce748128be3a41693d25cfd701e281bf0c0bc28f41a022100b863217c8f05146ff1b4282706bc78781b1425c2d36a09127116e852e31fc974
        5060  +
 4056   5061   
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
 4057   5062   
similarity index 99%
 4058   5063   
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
 4059   5064   
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
 4060   5065   
index cd30e8b..2ffe879 100644
 4061         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-string-to-sign.txt
        5066  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-string-to-sign.txt
 4062   5067   
@@ -1,4 +1,4 @@
 4063   5068   
AWS4-ECDSA-P256-SHA256
 4064   5069   
20150830T123600Z
 4065   5070   
20150830/service/aws4_request
 4066         -
823cb165e35e124f862c99c89a46414c24e3800f149377591e35a4848317e825
        5071  +
823cb165e35e124f862c99c89a46414c24e3800f149377591e35a4848317e825
              \
 No newline at end of file
 4067   5072   
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
 4068   5073   
new file mode 100644
 4069   5074   
index 0000000..379dcb2
 4070         -
-- /dev/null
        5075  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 4071   5076   
@@ -0,0 +1,4 @@
        5077  +
{
        5078  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5079  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5080  +
}
 4072   5081   
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
 4073   5082   
similarity index 99%
 4074   5083   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
 4075   5084   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 4076   5085   
index 77cf28d..45151ea 100644
 4077         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
        5086  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 4078   5087   
@@ -1,7 +1,7 @@
 4079   5088   
GET
 4080   5089   
/example
 4081   5090   
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
 4082   5091   
host:example.amazonaws.com
 4083   5092   
 4084   5093   
host
 4085         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5094  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4086   5095   
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
 4087   5096   
new file mode 100644
 4088   5097   
index 0000000..11ad7bf
 4089         -
-- /dev/null
        5098  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 4090   5099   
@@ -0,0 +1 @@
        5100  +
3045022004b3d54ffdc33558a93c158a156ef1b50963d051e58ecb88b6809629d6b93860022100d88f70cb68de54e8abc628cb2325bcb32fab1a207d482010955f844812ad5174
              \
 No newline at end of file
 4091   5101   
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
 4092   5102   
new file mode 100644
 4093   5103   
index 0000000..a7537b1
 4094         -
-- /dev/null
        5104  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 4095   5105   
@@ -0,0 +1,3 @@
        5106  +
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
        5107  +
Host:example.amazonaws.com
        5108  +
 4096   5109   
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
 4097   5110   
similarity index 99%
 4098   5111   
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
 4099   5112   
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
 4100   5113   
index 49d9b24..b486672 100644
 4101         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-string-to-sign.txt
        5114  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 4102   5115   
@@ -1,4 +1,4 @@
 4103   5116   
AWS4-ECDSA-P256-SHA256
 4104   5117   
20150830T123600Z
 4105   5118   
20150830/service/aws4_request
 4106         -
0cc67a8acfed5946b645794c649dd98d3485728119cdf17d38985ba0ff55abca
        5119  +
0cc67a8acfed5946b645794c649dd98d3485728119cdf17d38985ba0ff55abca
              \
 No newline at end of file
 4107   5120   
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
 4108   5121   
similarity index 65%
 4109   5122   
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
 4110   5123   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 4111   5124   
index 3c91071..5d919c9 100644
 4112         -
-- 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
        5125  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 4113   5126   
@@ -1,3 +1,2 @@
 4114   5127   
GET /./example HTTP/1.1
 4115   5128   
Host:example.amazonaws.com
 4116         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4117   5129   
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
 4118   5130   
new file mode 100644
 4119   5131   
index 0000000..7bee5c7
 4120         -
-- /dev/null
        5132  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 4121   5133   
@@ -0,0 +1,12 @@
        5134  +
{
        5135  +
    "credentials": {
        5136  +
        "access_key_id": "AKIDEXAMPLE",
        5137  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5138  +
    },
        5139  +
    "expiration_in_seconds": 3600,
        5140  +
    "normalize": false,
        5141  +
    "region": "us-east-1",
        5142  +
    "service": "service",
        5143  +
    "sign_body": false,
        5144  +
    "timestamp": "2015-08-30T12:36:00Z"
        5145  +
}
              \
 No newline at end of file
 4122   5146   
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
 4123   5147   
similarity index 99%
 4124   5148   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 4125   5149   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 4126   5150   
index 4444842..2355a69 100644
 4127         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
        5151  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 4128   5152   
@@ -1,9 +1,9 @@
 4129   5153   
GET
 4130   5154   
/./example
 4131   5155   
 4132   5156   
host:example.amazonaws.com
 4133   5157   
x-amz-date:20150830T123600Z
 4134   5158   
x-amz-region-set:us-east-1
 4135   5159   
 4136   5160   
host;x-amz-date;x-amz-region-set
 4137         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5161  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4138   5162   
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
 4139   5163   
new file mode 100644
 4140   5164   
index 0000000..9c8f737
 4141         -
-- /dev/null
        5165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 4142   5166   
@@ -0,0 +1 @@
        5167  +
3044022056618e95bf64058b8174e9e52790352380946d9a0a4ab332b530a63f497a80800220105ebcd6c6ee9b034157d21e7c81fdfb72ca640961cee9b49de82e5c1f80ac5e
              \
 No newline at end of file
 4143   5168   
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
 4144   5169   
new file mode 100644
 4145   5170   
index 0000000..aa5980d
 4146         -
-- /dev/null
        5171  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 4147   5172   
@@ -0,0 +1,6 @@
        5173  +
GET /./example HTTP/1.1
        5174  +
Host:example.amazonaws.com
        5175  +
X-Amz-Date:20150830T123600Z
        5176  +
X-Amz-Region-Set:us-east-1
        5177  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221009e2c768ae9904c3d04eba53cfbb7460034029fb1f169b51f82623cc53ae25dc7022100bfe47ecde858ad9ae3311bba5a4fd45fcacdb1795cc6825f0939e5d929a464bf
        5178  +
 4148   5179   
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
 4149   5180   
similarity index 99%
 4150   5181   
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
 4151   5182   
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
 4152   5183   
index cc63510..d056816 100644
 4153         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
        5184  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 4154   5185   
@@ -1,4 +1,4 @@
 4155   5186   
AWS4-ECDSA-P256-SHA256
 4156   5187   
20150830T123600Z
 4157   5188   
20150830/service/aws4_request
 4158         -
407314cdff397462b2458ba1860907adefcbb73fd630ddbd3de7300d2f773804
        5189  +
407314cdff397462b2458ba1860907adefcbb73fd630ddbd3de7300d2f773804
              \
 No newline at end of file
 4159   5190   
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
 4160   5191   
new file mode 100644
 4161   5192   
index 0000000..379dcb2
 4162         -
-- /dev/null
        5193  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 4163   5194   
@@ -0,0 +1,4 @@
        5195  +
{
        5196  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5197  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5198  +
}
 4164   5199   
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
 4165   5200   
similarity index 99%
 4166   5201   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 4167   5202   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 4168   5203   
index ed2cb2d..df9928e 100644
 4169         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
        5204  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 4170   5205   
@@ -1,7 +1,7 @@
 4171   5206   
GET
 4172   5207   
/./example
 4173   5208   
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
 4174   5209   
host:example.amazonaws.com
 4175   5210   
 4176   5211   
host
 4177         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5212  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4178   5213   
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
 4179   5214   
new file mode 100644
 4180   5215   
index 0000000..bb4d86b
 4181         -
-- /dev/null
        5216  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 4182   5217   
@@ -0,0 +1 @@
        5218  +
304502202c31415712324143f4f20aebbd0f8a2fd4fcdd49d68ac95cd6815db3c0e6407b022100cb46cb62bbd024da2e29445c3378a32057b68b272fb2a08c79bfdcbc398505f3
              \
 No newline at end of file
 4183   5219   
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
 4184   5220   
new file mode 100644
 4185   5221   
index 0000000..0061136
 4186         -
-- /dev/null
        5222  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 4187   5223   
@@ -0,0 +1,3 @@
        5224  +
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
        5225  +
Host:example.amazonaws.com
        5226  +
 4188   5227   
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
 4189   5228   
similarity index 99%
 4190   5229   
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
 4191   5230   
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
 4192   5231   
index c9f3b6d..418f2d6 100644
 4193         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
        5232  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 4194   5233   
@@ -1,4 +1,4 @@
 4195   5234   
AWS4-ECDSA-P256-SHA256
 4196   5235   
20150830T123600Z
 4197   5236   
20150830/service/aws4_request
 4198         -
efbe4f47c2acbb53fbfd0be6846cfa35a48c21f3f800e741278dae7b721302b4
        5237  +
efbe4f47c2acbb53fbfd0be6846cfa35a48c21f3f800e741278dae7b721302b4
              \
 No newline at end of file
 4199   5238   
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
 4200   5239   
new file mode 100644
 4201   5240   
index 0000000..5d919c9
 4202         -
-- /dev/null
        5241  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 4203   5242   
@@ -0,0 +1,2 @@
        5243  +
GET /./example HTTP/1.1
        5244  +
Host:example.amazonaws.com
 4204   5245   
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
 4205   5246   
new file mode 100644
 4206   5247   
index 0000000..7bee5c7
 4207         -
-- /dev/null
        5248  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 4208   5249   
@@ -0,0 +1,12 @@
        5250  +
{
        5251  +
    "credentials": {
        5252  +
        "access_key_id": "AKIDEXAMPLE",
        5253  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5254  +
    },
        5255  +
    "expiration_in_seconds": 3600,
        5256  +
    "normalize": false,
        5257  +
    "region": "us-east-1",
        5258  +
    "service": "service",
        5259  +
    "sign_body": false,
        5260  +
    "timestamp": "2015-08-30T12:36:00Z"
        5261  +
}
              \
 No newline at end of file
 4209   5262   
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
 4210   5263   
similarity index 99%
 4211   5264   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
 4212   5265   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 4213   5266   
index 8a4d33b..5f809da 100644
 4214         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
        5267  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 4215   5268   
@@ -1,9 +1,9 @@
 4216   5269   
GET
 4217   5270   
//
 4218   5271   
 4219   5272   
host:example.amazonaws.com
 4220   5273   
x-amz-date:20150830T123600Z
 4221   5274   
x-amz-region-set:us-east-1
 4222   5275   
 4223   5276   
host;x-amz-date;x-amz-region-set
 4224         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5277  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4225   5278   
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
 4226   5279   
new file mode 100644
 4227   5280   
index 0000000..60179e9
 4228         -
-- /dev/null
        5281  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 4229   5282   
@@ -0,0 +1 @@
        5283  +
3046022100fee7e772befdf85d3f9871798d5e08e93ad3f5d5d408b41387ba55714244809b0221008268d33835753dcdbd0a4d149d902eed071c41b70c230ecf56e0120a0f7d72a1
              \
 No newline at end of file
 4230   5284   
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
 4231   5285   
new file mode 100644
 4232   5286   
index 0000000..72bf1b7
 4233         -
-- /dev/null
        5287  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 4234   5288   
@@ -0,0 +1,6 @@
        5289  +
GET // HTTP/1.1
        5290  +
Host:example.amazonaws.com
        5291  +
X-Amz-Date:20150830T123600Z
        5292  +
X-Amz-Region-Set:us-east-1
        5293  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022061f03990d40a274470a1621b6e12b64452083a61218be77e48132a965da27377022100cdff18369b7361b1e33bd6cb5b216cdf88d390121447d442f59ccf84eb6489f7
        5294  +
 4235   5295   
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
 4236   5296   
similarity index 99%
 4237   5297   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
 4238   5298   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 4239   5299   
index 874c01c..2b3bf67 100644
 4240         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
        5300  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 4241   5301   
@@ -1,4 +1,4 @@
 4242   5302   
AWS4-ECDSA-P256-SHA256
 4243   5303   
20150830T123600Z
 4244   5304   
20150830/service/aws4_request
 4245         -
fc8f42c7ce50ba8830a34b16d9fb478170176d78c81339e8d7e31d4baa9ec9f4
        5305  +
fc8f42c7ce50ba8830a34b16d9fb478170176d78c81339e8d7e31d4baa9ec9f4
              \
 No newline at end of file
 4246   5306   
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
 4247   5307   
new file mode 100644
 4248   5308   
index 0000000..379dcb2
 4249         -
-- /dev/null
        5309  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 4250   5310   
@@ -0,0 +1,4 @@
        5311  +
{
        5312  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5313  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5314  +
}
 4251   5315   
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
 4252   5316   
similarity index 99%
 4253   5317   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
 4254   5318   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 4255   5319   
index 81d7b0b..d10ad29 100644
 4256         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
        5320  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 4257   5321   
@@ -1,7 +1,7 @@
 4258   5322   
GET
 4259   5323   
//
 4260   5324   
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
 4261   5325   
host:example.amazonaws.com
 4262   5326   
 4263   5327   
host
 4264         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5328  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4265   5329   
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
 4266   5330   
new file mode 100644
 4267   5331   
index 0000000..d9bd824
 4268         -
-- /dev/null
        5332  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 4269   5333   
@@ -0,0 +1 @@
        5334  +
3045022100abcadf84ed6f4bf5c19df3220b13e370ef093e5e7a5a5093c1a796a3de7804710220568ec0dafd60aa764002ce2ac7c89f403b47142dc7e0e48ded1691929488c88e
              \
 No newline at end of file
 4270   5335   
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
 4271   5336   
new file mode 100644
 4272   5337   
index 0000000..19d1d46
 4273         -
-- /dev/null
        5338  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 4274   5339   
@@ -0,0 +1,3 @@
        5340  +
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
        5341  +
Host:example.amazonaws.com
        5342  +
 4275   5343   
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
 4276   5344   
similarity index 99%
 4277   5345   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
 4278   5346   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 4279   5347   
index 17e5279..24c8a5e 100644
 4280         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
        5348  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 4281   5349   
@@ -1,4 +1,4 @@
 4282   5350   
AWS4-ECDSA-P256-SHA256
 4283   5351   
20150830T123600Z
 4284   5352   
20150830/service/aws4_request
 4285         -
633e0570a745c18cc22e43af8be65cfed3e7173061ec403353734bdfae90e0b6
        5353  +
633e0570a745c18cc22e43af8be65cfed3e7173061ec403353734bdfae90e0b6
              \
 No newline at end of file
 4286   5354   
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
 4287   5355   
new file mode 100644
 4288   5356   
index 0000000..25bc21e
 4289         -
-- /dev/null
        5357  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 4290   5358   
@@ -0,0 +1,2 @@
        5359  +
GET // HTTP/1.1
        5360  +
Host:example.amazonaws.com
 4291   5361   
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
 4292   5362   
new file mode 100644
 4293   5363   
index 0000000..0468d80
 4294         -
-- /dev/null
        5364  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 4295   5365   
@@ -0,0 +1,12 @@
        5366  +
{
        5367  +
    "credentials": {
        5368  +
        "access_key_id": "AKIDEXAMPLE",
        5369  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5370  +
    },
        5371  +
    "expiration_in_seconds": 3600,
        5372  +
    "normalize": true,
        5373  +
    "region": "us-east-1",
        5374  +
    "service": "service",
        5375  +
    "sign_body": false,
        5376  +
    "timestamp": "2015-08-30T12:36:00Z"
        5377  +
}
              \
 No newline at end of file
 4296   5378   
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
 4297   5379   
similarity index 99%
 4298   5380   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
 4299   5381   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 4300   5382   
index fdf9c48..a8e9e02 100644
 4301         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
        5383  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 4302   5384   
@@ -1,9 +1,9 @@
 4303   5385   
GET
 4304   5386   
/example/
 4305   5387   
 4306   5388   
host:example.amazonaws.com
 4307   5389   
x-amz-date:20150830T123600Z
 4308   5390   
x-amz-region-set:us-east-1
 4309   5391   
 4310   5392   
host;x-amz-date;x-amz-region-set
 4311         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5393  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4312   5394   
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
 4313   5395   
new file mode 100644
 4314   5396   
index 0000000..ffe1b60
 4315         -
-- /dev/null
        5397  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 4316   5398   
@@ -0,0 +1 @@
        5399  +
304402205dd203fd6b973e5fb088569ec27db1e267ef4a728f177e88fcc65f299255c0ab02206da878f40c64094595aa4e808849b69025f1c9b9f4be0f0e6ab8cd7a04e81d77
              \
 No newline at end of file
 4317   5400   
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
 4318   5401   
new file mode 100644
 4319   5402   
index 0000000..3189f55
 4320         -
-- /dev/null
        5403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 4321   5404   
@@ -0,0 +1,6 @@
        5405  +
GET //example// HTTP/1.1
        5406  +
Host:example.amazonaws.com
        5407  +
X-Amz-Date:20150830T123600Z
        5408  +
X-Amz-Region-Set:us-east-1
        5409  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203d34870fcc77b0f5a3f6d440cd1cecb75c7e534cfbcc68f60743d308ae92fef602200f9fbaacc5010b9a7e046b1b5ae58764bd32c24c47ef65b63ad9ff756c478e4d
        5410  +
 4322   5411   
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
 4323   5412   
similarity index 99%
 4324   5413   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
 4325   5414   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 4326   5415   
index 8f9c95e..430020e 100644
 4327         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
        5416  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 4328   5417   
@@ -1,4 +1,4 @@
 4329   5418   
AWS4-ECDSA-P256-SHA256
 4330   5419   
20150830T123600Z
 4331   5420   
20150830/service/aws4_request
 4332         -
ea6c9c4bc1e85b94f2579cebbc85a84c3f8eaa055c006697555f074dd68509a6
        5421  +
ea6c9c4bc1e85b94f2579cebbc85a84c3f8eaa055c006697555f074dd68509a6
              \
 No newline at end of file
 4333   5422   
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
 4334   5423   
new file mode 100644
 4335   5424   
index 0000000..379dcb2
 4336         -
-- /dev/null
        5425  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 4337   5426   
@@ -0,0 +1,4 @@
        5427  +
{
        5428  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5429  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5430  +
}
 4338   5431   
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
 4339   5432   
similarity index 99%
 4340   5433   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
 4341   5434   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 4342   5435   
index 1046735..8d41e37 100644
 4343         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
        5436  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 4344   5437   
@@ -1,7 +1,7 @@
 4345   5438   
GET
 4346   5439   
/example/
 4347   5440   
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
 4348   5441   
host:example.amazonaws.com
 4349   5442   
 4350   5443   
host
 4351         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5444  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4352   5445   
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
 4353   5446   
new file mode 100644
 4354   5447   
index 0000000..93a0fa4
 4355         -
-- /dev/null
        5448  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 4356   5449   
@@ -0,0 +1 @@
        5450  +
3045022100dfd2281b396d138207f0e58889bd6cc4d95ffd8d64e6f37ef2a9f2a15cab6944022060d05a747cd4e3c49cb50bf58d834ae917cd1ebd1524a352fb64f4d54f9ba279
              \
 No newline at end of file
 4357   5451   
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
 4358   5452   
new file mode 100644
 4359   5453   
index 0000000..65c8cb6
 4360         -
-- /dev/null
        5454  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 4361   5455   
@@ -0,0 +1,3 @@
        5456  +
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
        5457  +
Host:example.amazonaws.com
        5458  +
 4362   5459   
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
 4363   5460   
similarity index 99%
 4364   5461   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
 4365   5462   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 4366   5463   
index b293cc2..0f4c4c5 100644
 4367         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
        5464  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 4368   5465   
@@ -1,4 +1,4 @@
 4369   5466   
AWS4-ECDSA-P256-SHA256
 4370   5467   
20150830T123600Z
 4371   5468   
20150830/service/aws4_request
 4372         -
ab3f7b8af0ce16e0faf508160fb13d890874992d74f36214ae9eec7437361f2b
        5469  +
ab3f7b8af0ce16e0faf508160fb13d890874992d74f36214ae9eec7437361f2b
              \
 No newline at end of file
 4373   5470   
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
 4374   5471   
similarity index 65%
 4375   5472   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
 4376   5473   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 4377   5474   
index a4307ce..12e0931 100644
 4378         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
        5475  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 4379   5476   
@@ -1,3 +1,2 @@
 4380   5477   
GET //example// HTTP/1.1
 4381   5478   
Host:example.amazonaws.com
 4382         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4383   5479   
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
 4384   5480   
new file mode 100644
 4385   5481   
index 0000000..7bee5c7
 4386         -
-- /dev/null
        5482  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 4387   5483   
@@ -0,0 +1,12 @@
        5484  +
{
        5485  +
    "credentials": {
        5486  +
        "access_key_id": "AKIDEXAMPLE",
        5487  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5488  +
    },
        5489  +
    "expiration_in_seconds": 3600,
        5490  +
    "normalize": false,
        5491  +
    "region": "us-east-1",
        5492  +
    "service": "service",
        5493  +
    "sign_body": false,
        5494  +
    "timestamp": "2015-08-30T12:36:00Z"
        5495  +
}
              \
 No newline at end of file
 4388   5496   
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
 4389   5497   
similarity index 99%
 4390   5498   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
 4391   5499   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 4392   5500   
index a9c55f6..76f55ed 100644
 4393         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
        5501  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 4394   5502   
@@ -1,9 +1,9 @@
 4395   5503   
GET
 4396   5504   
//example//
 4397   5505   
 4398   5506   
host:example.amazonaws.com
 4399   5507   
x-amz-date:20150830T123600Z
 4400   5508   
x-amz-region-set:us-east-1
 4401   5509   
 4402   5510   
host;x-amz-date;x-amz-region-set
 4403         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5511  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4404   5512   
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
 4405   5513   
new file mode 100644
 4406   5514   
index 0000000..de333b2
 4407         -
-- /dev/null
        5515  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 4408   5516   
@@ -0,0 +1 @@
        5517  +
3044022039ccb6afb5f0b574cfc8fec2e9158269bbe28f9e5747acc032d1ea17617f8b2002204933ee3e4ad4ec425c90593a68db99fcece29ae45906dec40c2204290cedf8bd
              \
 No newline at end of file
 4409   5518   
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
 4410   5519   
new file mode 100644
 4411   5520   
index 0000000..773ce63
 4412         -
-- /dev/null
        5521  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 4413   5522   
@@ -0,0 +1,6 @@
        5523  +
GET //example// HTTP/1.1
        5524  +
Host:example.amazonaws.com
        5525  +
X-Amz-Date:20150830T123600Z
        5526  +
X-Amz-Region-Set:us-east-1
        5527  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502202450e5abfccb424d5a0e2d5d1a084e76abc5290ae567a97f5174bfed575fd519022100a5e743040a2bdd3cd7889070e1d190d5782e7591a715370f9bea04dc2702dbab
        5528  +
 4414   5529   
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
 4415   5530   
similarity index 99%
 4416   5531   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
 4417   5532   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 4418   5533   
index 5c4c2cd..46c3265 100644
 4419         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
        5534  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 4420   5535   
@@ -1,4 +1,4 @@
 4421   5536   
AWS4-ECDSA-P256-SHA256
 4422   5537   
20150830T123600Z
 4423   5538   
20150830/service/aws4_request
 4424         -
bf8c459a6a7f3879f55bff41e4dca65f69df4628456904e47f83013c0deb7276
        5539  +
bf8c459a6a7f3879f55bff41e4dca65f69df4628456904e47f83013c0deb7276
              \
 No newline at end of file
 4425   5540   
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
 4426   5541   
new file mode 100644
 4427   5542   
index 0000000..379dcb2
 4428         -
-- /dev/null
        5543  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 4429   5544   
@@ -0,0 +1,4 @@
        5545  +
{
        5546  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5547  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5548  +
}
 4430   5549   
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
 4431   5550   
similarity index 99%
 4432   5551   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
 4433   5552   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 4434   5553   
index c878ab4..6047ccf 100644
 4435         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
        5554  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 4436   5555   
@@ -1,7 +1,7 @@
 4437   5556   
GET
 4438   5557   
//example//
 4439   5558   
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
 4440   5559   
host:example.amazonaws.com
 4441   5560   
 4442   5561   
host
 4443         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5562  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4444   5563   
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
 4445   5564   
new file mode 100644
 4446   5565   
index 0000000..d61fcd0
 4447         -
-- /dev/null
        5566  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 4448   5567   
@@ -0,0 +1 @@
        5568  +
3045022100fa1d3e99997a184d59e23fb8bfeca08a5f94f2e7b89b0320d11deacab3593f0f022009c0785ec02c5dda370a3eb714feb51e3b0d56df674571bf7146bf8277897e65
              \
 No newline at end of file
 4449   5569   
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
 4450   5570   
new file mode 100644
 4451   5571   
index 0000000..3e37b5b
 4452         -
-- /dev/null
        5572  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 4453   5573   
@@ -0,0 +1,3 @@
        5574  +
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
        5575  +
Host:example.amazonaws.com
        5576  +
 4454   5577   
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
 4455   5578   
similarity index 99%
 4456   5579   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
 4457   5580   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 4458   5581   
index 5f59645..2537d28 100644
 4459         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
        5582  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 4460   5583   
@@ -1,4 +1,4 @@
 4461   5584   
AWS4-ECDSA-P256-SHA256
 4462   5585   
20150830T123600Z
 4463   5586   
20150830/service/aws4_request
 4464         -
660b4a6f0bd53b287cefb21cdf69c1574303de44d2e9f7759b5379b428b70157
        5587  +
660b4a6f0bd53b287cefb21cdf69c1574303de44d2e9f7759b5379b428b70157
              \
 No newline at end of file
 4465   5588   
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
 4466   5589   
new file mode 100644
 4467   5590   
index 0000000..12e0931
 4468         -
-- /dev/null
        5591  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 4469   5592   
@@ -0,0 +1,2 @@
        5593  +
GET //example// HTTP/1.1
        5594  +
Host:example.amazonaws.com
 4470   5595   
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
 4471   5596   
new file mode 100644
 4472   5597   
index 0000000..0468d80
 4473         -
-- /dev/null
        5598  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 4474   5599   
@@ -0,0 +1,12 @@
        5600  +
{
        5601  +
    "credentials": {
        5602  +
        "access_key_id": "AKIDEXAMPLE",
        5603  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5604  +
    },
        5605  +
    "expiration_in_seconds": 3600,
        5606  +
    "normalize": true,
        5607  +
    "region": "us-east-1",
        5608  +
    "service": "service",
        5609  +
    "sign_body": false,
        5610  +
    "timestamp": "2015-08-30T12:36:00Z"
        5611  +
}
              \
 No newline at end of file
 4475   5612   
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
 4476   5613   
new file mode 100644
 4477   5614   
index 0000000..0b2b616
 4478         -
-- /dev/null
        5615  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 4479   5616   
@@ -0,0 +1,9 @@
        5617  +
GET
        5618  +
/example%20space/
        5619  +
        5620  +
host:example.amazonaws.com
        5621  +
x-amz-date:20150830T123600Z
        5622  +
x-amz-region-set:us-east-1
        5623  +
        5624  +
host;x-amz-date;x-amz-region-set
        5625  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4480   5626   
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
 4481   5627   
new file mode 100644
 4482   5628   
index 0000000..6e7841d
 4483         -
-- /dev/null
        5629  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 4484   5630   
@@ -0,0 +1 @@
        5631  +
304502202292b4f0e4f1495b9ceb3b77349efeffdce42cb5461f810db3983005c1e772ca022100b4b6175661196a82f5b59968315517e1ffdde58d2e3eba10d3bfe171cde625c4
              \
 No newline at end of file
 4485   5632   
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
 4486   5633   
new file mode 100644
 4487   5634   
index 0000000..0969cd3
 4488         -
-- /dev/null
        5635  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 4489   5636   
@@ -0,0 +1,6 @@
        5637  +
GET /example space/ HTTP/1.1
        5638  +
Host:example.amazonaws.com
        5639  +
X-Amz-Date:20150830T123600Z
        5640  +
X-Amz-Region-Set:us-east-1
        5641  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100e8e0ec99a8d287073e078543fdbdeba108cdef097a52c7556874076072350200022100e59d9e0f48209bea00faa47d485d850eb72747db83927a2a43b5ebab5ca2b545
        5642  +
 4490   5643   
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
 4491   5644   
new file mode 100644
 4492   5645   
index 0000000..ddae6e2
 4493         -
-- /dev/null
        5646  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 4494   5647   
@@ -0,0 +1,4 @@
        5648  +
AWS4-ECDSA-P256-SHA256
        5649  +
20150830T123600Z
        5650  +
20150830/service/aws4_request
        5651  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 4495   5652   
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
 4496   5653   
new file mode 100644
 4497   5654   
index 0000000..379dcb2
 4498         -
-- /dev/null
        5655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 4499   5656   
@@ -0,0 +1,4 @@
        5657  +
{
        5658  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5659  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5660  +
}
 4500   5661   
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
 4501   5662   
new file mode 100644
 4502   5663   
index 0000000..a66b3cb
 4503         -
-- /dev/null
        5664  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 4504   5665   
@@ -0,0 +1,7 @@
        5666  +
GET
        5667  +
/example%20space/
        5668  +
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
        5669  +
host:example.amazonaws.com
        5670  +
        5671  +
host
        5672  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4505   5673   
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
 4506   5674   
new file mode 100644
 4507   5675   
index 0000000..b3253ae
 4508         -
-- /dev/null
        5676  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 4509   5677   
@@ -0,0 +1 @@
        5678  +
3045022100fc068fdda7586bec9ac9ed341e7a81bf1e1f8c60fee6e22165868ecac62e404d02200620b5d68b9be75210336618fc0a884439ce1ae93085adb03e27f1ce7ca4912e
              \
 No newline at end of file
 4510   5679   
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
 4511   5680   
new file mode 100644
 4512   5681   
index 0000000..9e335b2
 4513         -
-- /dev/null
        5682  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 4514   5683   
@@ -0,0 +1,3 @@
        5684  +
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
        5685  +
Host:example.amazonaws.com
        5686  +
 4515   5687   
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
 4516   5688   
new file mode 100644
 4517   5689   
index 0000000..b6ff6fb
 4518         -
-- /dev/null
        5690  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 4519   5691   
@@ -0,0 +1,4 @@
        5692  +
AWS4-ECDSA-P256-SHA256
        5693  +
20150830T123600Z
        5694  +
20150830/service/aws4_request
        5695  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 4520   5696   
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
 4521   5697   
new file mode 100644
 4522   5698   
index 0000000..ab509ab
 4523         -
-- /dev/null
        5699  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 4524   5700   
@@ -0,0 +1,2 @@
        5701  +
GET /example space/ HTTP/1.1
        5702  +
Host:example.amazonaws.com
 4525   5703   
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
 4526   5704   
new file mode 100644
 4527   5705   
index 0000000..7bee5c7
 4528         -
-- /dev/null
        5706  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 4529   5707   
@@ -0,0 +1,12 @@
        5708  +
{
        5709  +
    "credentials": {
        5710  +
        "access_key_id": "AKIDEXAMPLE",
        5711  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5712  +
    },
        5713  +
    "expiration_in_seconds": 3600,
        5714  +
    "normalize": false,
        5715  +
    "region": "us-east-1",
        5716  +
    "service": "service",
        5717  +
    "sign_body": false,
        5718  +
    "timestamp": "2015-08-30T12:36:00Z"
        5719  +
}
              \
 No newline at end of file
 4530   5720   
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
 4531   5721   
new file mode 100644
 4532   5722   
index 0000000..0b2b616
 4533         -
-- /dev/null
        5723  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 4534   5724   
@@ -0,0 +1,9 @@
        5725  +
GET
        5726  +
/example%20space/
        5727  +
        5728  +
host:example.amazonaws.com
        5729  +
x-amz-date:20150830T123600Z
        5730  +
x-amz-region-set:us-east-1
        5731  +
        5732  +
host;x-amz-date;x-amz-region-set
        5733  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4535   5734   
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
 4536   5735   
new file mode 100644
 4537   5736   
index 0000000..e75ae08
 4538         -
-- /dev/null
        5737  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 4539   5738   
@@ -0,0 +1 @@
        5739  +
3046022100881d1dce37131cd3248fa4cfb63f050e8985c3de5a58f654a8b263d52ad576180221009316e13742504474cf33631bb5f2fa89f4990c911ad317be831a6de015cf4054
              \
 No newline at end of file
 4540   5740   
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
 4541   5741   
new file mode 100644
 4542   5742   
index 0000000..cb089db
 4543         -
-- /dev/null
        5743  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 4544   5744   
@@ -0,0 +1,6 @@
        5745  +
GET /example space/ HTTP/1.1
        5746  +
Host:example.amazonaws.com
        5747  +
X-Amz-Date:20150830T123600Z
        5748  +
X-Amz-Region-Set:us-east-1
        5749  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100a26695d793a8e7d2ed2a3495402e9b4bf8e5b05e767d303f57d9515f617ebae5022100c4b89f5648567c08b6d173b6d733f5c012bb615cd38039109f64db56efecc851
        5750  +
 4545   5751   
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
 4546   5752   
new file mode 100644
 4547   5753   
index 0000000..ddae6e2
 4548         -
-- /dev/null
        5754  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 4549   5755   
@@ -0,0 +1,4 @@
        5756  +
AWS4-ECDSA-P256-SHA256
        5757  +
20150830T123600Z
        5758  +
20150830/service/aws4_request
        5759  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 4550   5760   
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
 4551   5761   
new file mode 100644
 4552   5762   
index 0000000..379dcb2
 4553         -
-- /dev/null
        5763  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 4554   5764   
@@ -0,0 +1,4 @@
        5765  +
{
        5766  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5767  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5768  +
}
 4555   5769   
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
 4556   5770   
new file mode 100644
 4557   5771   
index 0000000..a66b3cb
 4558         -
-- /dev/null
        5772  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 4559   5773   
@@ -0,0 +1,7 @@
        5774  +
GET
        5775  +
/example%20space/
        5776  +
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
        5777  +
host:example.amazonaws.com
        5778  +
        5779  +
host
        5780  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4560   5781   
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
 4561   5782   
new file mode 100644
 4562   5783   
index 0000000..66a80c3
 4563         -
-- /dev/null
        5784  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 4564   5785   
@@ -0,0 +1 @@
        5786  +
304502201825fe5d62f321a740cbe590ce0c0c17045eed9acbbbd574d3cefbec349d06c5022100bcd482f85374b24d9f1f5000d2de7e12a4e0c8f5277e73d29c41ecc45390e731
              \
 No newline at end of file
 4565   5787   
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
 4566   5788   
new file mode 100644
 4567   5789   
index 0000000..7d1b9d9
 4568         -
-- /dev/null
        5790  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 4569   5791   
@@ -0,0 +1,3 @@
        5792  +
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
        5793  +
Host:example.amazonaws.com
        5794  +
 4570   5795   
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
 4571   5796   
new file mode 100644
 4572   5797   
index 0000000..b6ff6fb
 4573         -
-- /dev/null
        5798  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 4574   5799   
@@ -0,0 +1,4 @@
        5800  +
AWS4-ECDSA-P256-SHA256
        5801  +
20150830T123600Z
        5802  +
20150830/service/aws4_request
        5803  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 4575   5804   
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
 4576   5805   
new file mode 100644
 4577   5806   
index 0000000..ab509ab
 4578         -
-- /dev/null
        5807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 4579   5808   
@@ -0,0 +1,2 @@
        5809  +
GET /example space/ HTTP/1.1
        5810  +
Host:example.amazonaws.com
 4580   5811   
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
 4581   5812   
new file mode 100644
 4582   5813   
index 0000000..0468d80
 4583         -
-- /dev/null
        5814  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 4584   5815   
@@ -0,0 +1,12 @@
        5816  +
{
        5817  +
    "credentials": {
        5818  +
        "access_key_id": "AKIDEXAMPLE",
        5819  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5820  +
    },
        5821  +
    "expiration_in_seconds": 3600,
        5822  +
    "normalize": true,
        5823  +
    "region": "us-east-1",
        5824  +
    "service": "service",
        5825  +
    "sign_body": false,
        5826  +
    "timestamp": "2015-08-30T12:36:00Z"
        5827  +
}
              \
 No newline at end of file
 4585   5828   
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
 4586   5829   
similarity index 99%
 4587   5830   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
 4588   5831   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 4589   5832   
index b0db648..46d76bb 100644
 4590         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
        5833  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 4591   5834   
@@ -1,9 +1,9 @@
 4592   5835   
GET
 4593   5836   
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 4594   5837   
 4595   5838   
host:example.amazonaws.com
 4596   5839   
x-amz-date:20150830T123600Z
 4597   5840   
x-amz-region-set:us-east-1
 4598   5841   
 4599   5842   
host;x-amz-date;x-amz-region-set
 4600         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5843  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4601   5844   
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
 4602   5845   
new file mode 100644
 4603   5846   
index 0000000..53c0cb6
 4604         -
-- /dev/null
        5847  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 4605   5848   
@@ -0,0 +1 @@
        5849  +
304502204303d34750ced762f4e5af2c61ba70c9f5830d8a5c7fc418a02823d61673ca32022100c26cf8f38007155cb8bd3e684697063ad8f421a91be796d78b14b126e25d3680
              \
 No newline at end of file
 4606   5850   
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
 4607   5851   
new file mode 100644
 4608   5852   
index 0000000..3bdb653
 4609         -
-- /dev/null
        5853  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 4610   5854   
@@ -0,0 +1,6 @@
        5855  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5856  +
Host:example.amazonaws.com
        5857  +
X-Amz-Date:20150830T123600Z
        5858  +
X-Amz-Region-Set:us-east-1
        5859  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206a228bcbe26141c2c5065525b98ea00b793470e04e655006269f740e320215930220160015e35502fa89a96f5fed59981af0896b60ecea6a68606a0be368bca73f2c
        5860  +
 4611   5861   
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
 4612   5862   
similarity index 99%
 4613   5863   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
 4614   5864   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 4615   5865   
index 20c7cd6..3b30173 100644
 4616         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
        5866  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 4617   5867   
@@ -1,4 +1,4 @@
 4618   5868   
AWS4-ECDSA-P256-SHA256
 4619   5869   
20150830T123600Z
 4620   5870   
20150830/service/aws4_request
 4621         -
b48c0f7d7cdaa2cd05e4b789c913063becd96ccace5296a334c950040e58bcac
        5871  +
b48c0f7d7cdaa2cd05e4b789c913063becd96ccace5296a334c950040e58bcac
              \
 No newline at end of file
 4622   5872   
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
 4623   5873   
new file mode 100644
 4624   5874   
index 0000000..379dcb2
 4625         -
-- /dev/null
        5875  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 4626   5876   
@@ -0,0 +1,4 @@
        5877  +
{
        5878  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5879  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5880  +
}
 4627   5881   
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
 4628   5882   
similarity index 99%
 4629   5883   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
 4630   5884   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 4631   5885   
index f9fb726..7e93f58 100644
 4632         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
        5886  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 4633   5887   
@@ -1,7 +1,7 @@
 4634   5888   
GET
 4635   5889   
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 4636   5890   
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
 4637   5891   
host:example.amazonaws.com
 4638   5892   
 4639   5893   
host
 4640         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5894  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4641   5895   
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
 4642   5896   
new file mode 100644
 4643   5897   
index 0000000..48311a8
 4644         -
-- /dev/null
        5898  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 4645   5899   
@@ -0,0 +1 @@
        5900  +
3045022100a8e6e2918ceb211f77810150d828be217af238ca95db6f88264d668ffacefb8b02204122d651c775a3ed8f40f3bfe37a2c8fec28cd53027b599eddd7115e06ca4bb0
              \
 No newline at end of file
 4646   5901   
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
 4647   5902   
new file mode 100644
 4648   5903   
index 0000000..82da9be
 4649         -
-- /dev/null
        5904  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 4650   5905   
@@ -0,0 +1,3 @@
        5906  +
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
        5907  +
Host:example.amazonaws.com
        5908  +
 4651   5909   
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
 4652   5910   
similarity index 99%
 4653   5911   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
 4654   5912   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 4655   5913   
index ef06e89..4aab9a2 100644
 4656         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
        5914  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 4657   5915   
@@ -1,4 +1,4 @@
 4658   5916   
AWS4-ECDSA-P256-SHA256
 4659   5917   
20150830T123600Z
 4660   5918   
20150830/service/aws4_request
 4661         -
a967a5035e5dc574f94fb9f0de0faf9d56e889c26d9a65d7d0a15d89690280d1
        5919  +
a967a5035e5dc574f94fb9f0de0faf9d56e889c26d9a65d7d0a15d89690280d1
              \
 No newline at end of file
 4662   5920   
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
 4663   5921   
similarity index 80%
 4664   5922   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
 4665   5923   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4666   5924   
index da760cd..a149694 100644
 4667         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
        5925  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4668   5926   
@@ -1,3 +1,2 @@
 4669   5927   
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4670   5928   
Host:example.amazonaws.com
 4671         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4672   5929   
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
 4673   5930   
new file mode 100644
 4674   5931   
index 0000000..0468d80
 4675         -
-- /dev/null
        5932  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 4676   5933   
@@ -0,0 +1,12 @@
        5934  +
{
        5935  +
    "credentials": {
        5936  +
        "access_key_id": "AKIDEXAMPLE",
        5937  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5938  +
    },
        5939  +
    "expiration_in_seconds": 3600,
        5940  +
    "normalize": true,
        5941  +
    "region": "us-east-1",
        5942  +
    "service": "service",
        5943  +
    "sign_body": false,
        5944  +
    "timestamp": "2015-08-30T12:36:00Z"
        5945  +
}
              \
 No newline at end of file
 4677   5946   
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
 4678   5947   
new file mode 100644
 4679   5948   
index 0000000..0f1afe7
 4680         -
-- /dev/null
        5949  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 4681   5950   
@@ -0,0 +1,9 @@
        5951  +
GET
        5952  +
/%E1%88%B4
        5953  +
        5954  +
host:example.amazonaws.com
        5955  +
x-amz-date:20150830T123600Z
        5956  +
x-amz-region-set:us-east-1
        5957  +
        5958  +
host;x-amz-date;x-amz-region-set
        5959  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4682   5960   
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
 4683   5961   
new file mode 100644
 4684   5962   
index 0000000..4b9af6c
 4685         -
-- /dev/null
        5963  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 4686   5964   
@@ -0,0 +1 @@
        5965  +
3044022009b73628ce2929e224b781c591bdc93fc3381cef5f63992eefb82a286276fa0902203cbc6071d1be7b8c91ec0a04b921881c48cbea2a0a86481f6fa7a983e36190c0
              \
 No newline at end of file
 4687   5966   
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
 4688   5967   
new file mode 100644
 4689   5968   
index 0000000..d42d7b3
 4690         -
-- /dev/null
        5969  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 4691   5970   
@@ -0,0 +1,6 @@
        5971  +
GET /ሴ HTTP/1.1
        5972  +
Host:example.amazonaws.com
        5973  +
X-Amz-Date:20150830T123600Z
        5974  +
X-Amz-Region-Set:us-east-1
        5975  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210082c462efc22f340d7d20b19e0c9b38400e9395bedd9269e01e959ef915ca2846022050d38df1572786ef8befe01d888335c15b0f17fb1d795858fa3cb79e060ba375
        5976  +
 4692   5977   
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
 4693   5978   
new file mode 100644
 4694   5979   
index 0000000..0827f62
 4695         -
-- /dev/null
        5980  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 4696   5981   
@@ -0,0 +1,4 @@
        5982  +
AWS4-ECDSA-P256-SHA256
        5983  +
20150830T123600Z
        5984  +
20150830/service/aws4_request
        5985  +
7c8a7084825e715f0e217a7470ce3611bcfedb5b70329d9b36bba5cefd39c11a
              \
 No newline at end of file
 4697   5986   
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
 4698   5987   
new file mode 100644
 4699   5988   
index 0000000..379dcb2
 4700         -
-- /dev/null
        5989  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 4701   5990   
@@ -0,0 +1,4 @@
        5991  +
{
        5992  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5993  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5994  +
}
 4702   5995   
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
 4703   5996   
new file mode 100644
 4704   5997   
index 0000000..a41a2f8
 4705         -
-- /dev/null
        5998  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 4706   5999   
@@ -0,0 +1,7 @@
        6000  +
GET
        6001  +
/%E1%88%B4
        6002  +
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
        6003  +
host:example.amazonaws.com
        6004  +
        6005  +
host
        6006  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4707   6007   
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
 4708   6008   
new file mode 100644
 4709   6009   
index 0000000..a5c7f4f
 4710         -
-- /dev/null
        6010  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 4711   6011   
@@ -0,0 +1 @@
        6012  +
30460221008cf2ac3d46b7529fe7b73add56626a546fc9372b458e197dbd355198465e0918022100c059b86e01bd11d31c5fe19ee7c73fe3b8058ad2cebe2fe74c779c4a6a95684a
              \
 No newline at end of file
 4712   6013   
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
 4713   6014   
new file mode 100644
 4714   6015   
index 0000000..492ed33
 4715         -
-- /dev/null
        6016  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 4716   6017   
@@ -0,0 +1,3 @@
        6018  +
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
        6019  +
Host:example.amazonaws.com
        6020  +
 4717   6021   
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
 4718   6022   
new file mode 100644
 4719   6023   
index 0000000..a93108f
 4720         -
-- /dev/null
        6024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 4721   6025   
@@ -0,0 +1,4 @@
        6026  +
AWS4-ECDSA-P256-SHA256
        6027  +
20150830T123600Z
        6028  +
20150830/service/aws4_request
        6029  +
b77c78c8276c5eac930db70b21b69b34d0c2560e1a963ab28e28481ef6a4ff66
              \
 No newline at end of file
 4722   6030   
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
 4723   6031   
new file mode 100644
 4724   6032   
index 0000000..9e273f6
 4725         -
-- /dev/null
        6033  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 4726   6034   
@@ -0,0 +1,2 @@
        6035  +
GET /ሴ HTTP/1.1
        6036  +
Host:example.amazonaws.com
 4727   6037   
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
 4728   6038   
new file mode 100644
 4729   6039   
index 0000000..0468d80
 4730         -
-- /dev/null
        6040  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 4731   6041   
@@ -0,0 +1,12 @@
        6042  +
{
        6043  +
    "credentials": {
        6044  +
        "access_key_id": "AKIDEXAMPLE",
        6045  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6046  +
    },
        6047  +
    "expiration_in_seconds": 3600,
        6048  +
    "normalize": true,
        6049  +
    "region": "us-east-1",
        6050  +
    "service": "service",
        6051  +
    "sign_body": false,
        6052  +
    "timestamp": "2015-08-30T12:36:00Z"
        6053  +
}
              \
 No newline at end of file
 4732   6054   
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
 4733   6055   
similarity index 99%
 4734   6056   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
 4735   6057   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4736   6058   
index bb9d4bf..edc0bb4 100644
 4737         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
        6059  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4738   6060   
@@ -1,9 +1,9 @@
 4739   6061   
GET
 4740   6062   
/
 4741   6063   
Param1=value1
 4742   6064   
host:example.amazonaws.com
 4743   6065   
x-amz-date:20150830T123600Z
 4744   6066   
x-amz-region-set:us-east-1
 4745   6067   
 4746   6068   
host;x-amz-date;x-amz-region-set
 4747         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6069  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4748   6070   
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
 4749   6071   
new file mode 100644
 4750   6072   
index 0000000..ee9a272
 4751         -
-- /dev/null
        6073  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 4752   6074   
@@ -0,0 +1 @@
        6075  +
3044022075e5fe54105695e4af6f5b59ff39f4f1d84de3bfdd546a6b9212936a78e743ac02204f25f3b9826688eb9743088f426eabd6b306432fd2c4c5c5aa2bbb9058267542
              \
 No newline at end of file
 4753   6076   
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
 4754   6077   
new file mode 100644
 4755   6078   
index 0000000..2090343
 4756         -
-- /dev/null
        6079  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 4757   6080   
@@ -0,0 +1,6 @@
        6081  +
GET /?Param1=value1 HTTP/1.1
        6082  +
Host:example.amazonaws.com
        6083  +
X-Amz-Date:20150830T123600Z
        6084  +
X-Amz-Region-Set:us-east-1
        6085  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210093d40fe05684ddadfadfafc4b8565d18ca94d590fc897577224bf09696bbde6102206f12bb5e2503781303cf6880c0a2136d4b820221eb9d6ac5ad61378b16b8ea5d
        6086  +
 4758   6087   
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
 4759   6088   
similarity index 99%
 4760   6089   
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
 4761   6090   
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
 4762   6091   
index a176f1d..06ed74f 100644
 4763         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-string-to-sign.txt
        6092  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-string-to-sign.txt
 4764   6093   
@@ -1,4 +1,4 @@
 4765   6094   
AWS4-ECDSA-P256-SHA256
 4766   6095   
20150830T123600Z
 4767   6096   
20150830/service/aws4_request
 4768         -
894f4237e92aae973c992da1d1f39d7a5913a23e9f7cbcf085e9550685eb498a
        6097  +
894f4237e92aae973c992da1d1f39d7a5913a23e9f7cbcf085e9550685eb498a
              \
 No newline at end of file
 4769   6098   
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
 4770   6099   
new file mode 100644
 4771   6100   
index 0000000..379dcb2
 4772         -
-- /dev/null
        6101  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 4773   6102   
@@ -0,0 +1,4 @@
        6103  +
{
        6104  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6105  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6106  +
}
 4774   6107   
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
 4775   6108   
similarity index 99%
 4776   6109   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
 4777   6110   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4778   6111   
index 344384b..a875d70 100644
 4779         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
        6112  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4780   6113   
@@ -1,7 +1,7 @@
 4781   6114   
GET
 4782   6115   
/
 4783   6116   
Param1=value1&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
 4784   6117   
host:example.amazonaws.com
 4785   6118   
 4786   6119   
host
 4787         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6120  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4788   6121   
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
 4789   6122   
new file mode 100644
 4790   6123   
index 0000000..ef93624
 4791         -
-- /dev/null
        6124  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 4792   6125   
@@ -0,0 +1 @@
        6126  +
30460221009a9e99aefe8effed47320e6e9f54cb943e2f72ce638ed7aae2a6711240304b82022100a90e99f053dd51912a6993299229e19aebbd81e68d4d24a1bdedcc6717c9f456
              \
 No newline at end of file
 4793   6127   
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
 4794   6128   
new file mode 100644
 4795   6129   
index 0000000..92829f7
 4796         -
-- /dev/null
        6130  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 4797   6131   
@@ -0,0 +1,3 @@
        6132  +
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
        6133  +
Host:example.amazonaws.com
        6134  +
 4798   6135   
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
 4799   6136   
similarity index 99%
 4800   6137   
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
 4801   6138   
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
 4802   6139   
index b625052..4ff9191 100644
 4803         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-string-to-sign.txt
        6140  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-string-to-sign.txt
 4804   6141   
@@ -1,4 +1,4 @@
 4805   6142   
AWS4-ECDSA-P256-SHA256
 4806   6143   
20150830T123600Z
 4807   6144   
20150830/service/aws4_request
 4808         -
07551f1d699afeb50d6811a527ab7b0270b60448ea27d8cbccb9750d68287b3f
        6145  +
07551f1d699afeb50d6811a527ab7b0270b60448ea27d8cbccb9750d68287b3f
              \
 No newline at end of file
 4809   6146   
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
 4810   6147   
similarity index 67%
 4811   6148   
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
 4812   6149   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4813   6150   
index 970d0a0..f4a03bb 100644
 4814         -
-- 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
        6151  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4815   6152   
@@ -1,3 +1,2 @@
 4816   6153   
GET /?Param1=value1 HTTP/1.1
 4817   6154   
Host:example.amazonaws.com
 4818         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4819   6155   
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
 4820   6156   
new file mode 100644
 4821   6157   
index 0000000..0468d80
 4822         -
-- /dev/null
        6158  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 4823   6159   
@@ -0,0 +1,12 @@
        6160  +
{
        6161  +
    "credentials": {
        6162  +
        "access_key_id": "AKIDEXAMPLE",
        6163  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6164  +
    },
        6165  +
    "expiration_in_seconds": 3600,
        6166  +
    "normalize": true,
        6167  +
    "region": "us-east-1",
        6168  +
    "service": "service",
        6169  +
    "sign_body": false,
        6170  +
    "timestamp": "2015-08-30T12:36:00Z"
        6171  +
}
              \
 No newline at end of file
 4824   6172   
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
 4825   6173   
new file mode 100644
 4826   6174   
index 0000000..da07537
 4827         -
-- /dev/null
        6175  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 4828   6176   
@@ -0,0 +1,9 @@
        6177  +
GET
        6178  +
/
        6179  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        6180  +
host:example.amazonaws.com
        6181  +
x-amz-date:20150830T123600Z
        6182  +
x-amz-region-set:us-east-1
        6183  +
        6184  +
host;x-amz-date;x-amz-region-set
        6185  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4829   6186   
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
 4830   6187   
new file mode 100644
 4831   6188   
index 0000000..edb21e5
 4832         -
-- /dev/null
        6189  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 4833   6190   
@@ -0,0 +1 @@
        6191  +
304402201c9d8aa856d87542e2fc29ccb3841bf604d7582a8ab2ca8e6c9e21c98693f35502207052f84ecd1dc8b6468a536e9d1bdc990cf14bae8142c1cc945f15bcf0e87613
              \
 No newline at end of file
 4834   6192   
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
 4835   6193   
new file mode 100644
 4836   6194   
index 0000000..e60394c
 4837         -
-- /dev/null
        6195  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 4838   6196   
@@ -0,0 +1,6 @@
        6197  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        6198  +
Host:example.amazonaws.com
        6199  +
X-Amz-Date:20150830T123600Z
        6200  +
X-Amz-Region-Set:us-east-1
        6201  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100cef3137947f52af13fe5591d4ddcff0260176e7b2a668b43ac8f0cba2e489fe502203b4fe53c9fe3e8925643fe0e4c3ec0b3ea6262917bf7300d2e2abb399078e6de
        6202  +
 4839   6203   
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
 4840   6204   
new file mode 100644
 4841   6205   
index 0000000..1dfc886
 4842         -
-- /dev/null
        6206  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 4843   6207   
@@ -0,0 +1,4 @@
        6208  +
AWS4-ECDSA-P256-SHA256
        6209  +
20150830T123600Z
        6210  +
20150830/service/aws4_request
        6211  +
55568a29040b287c72015a5ab482d9aaceeb1e9881f3bc946378bc3d6079f6a5
              \
 No newline at end of file
 4844   6212   
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
 4845   6213   
new file mode 100644
 4846   6214   
index 0000000..379dcb2
 4847         -
-- /dev/null
        6215  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 4848   6216   
@@ -0,0 +1,4 @@
        6217  +
{
        6218  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6219  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6220  +
}
 4849   6221   
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
 4850   6222   
new file mode 100644
 4851   6223   
index 0000000..e94dc0c
 4852         -
-- /dev/null
        6224  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 4853   6225   
@@ -0,0 +1,7 @@
        6226  +
GET
        6227  +
/
        6228  +
%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
        6229  +
host:example.amazonaws.com
        6230  +
        6231  +
host
        6232  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4854   6233   
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
 4855   6234   
new file mode 100644
 4856   6235   
index 0000000..7489437
 4857         -
-- /dev/null
        6236  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4858   6237   
@@ -0,0 +1 @@
        6238  +
3046022100dcc853d7fbd59ceebd1ac57d404b979a7252cf88c79dcc6d58167902750235fd022100ffa98128e35b03aa434287165980f78533e9e6dfc80373cea82b047f4f0554ee
              \
 No newline at end of file
 4859   6239   
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
 4860   6240   
new file mode 100644
 4861   6241   
index 0000000..90c0e73
 4862         -
-- /dev/null
        6242  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4863   6243   
@@ -0,0 +1,3 @@
        6244  +
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
        6245  +
Host:example.amazonaws.com
        6246  +
 4864   6247   
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
 4865   6248   
new file mode 100644
 4866   6249   
index 0000000..ab8a711
 4867         -
-- /dev/null
        6250  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4868   6251   
@@ -0,0 +1,4 @@
        6252  +
AWS4-ECDSA-P256-SHA256
        6253  +
20150830T123600Z
        6254  +
20150830/service/aws4_request
        6255  +
56d9ab07692614338f2aa44f1018ad4102b19305fba8b83383d2d7c6ca816614
              \
 No newline at end of file
 4869   6256   
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
 4870   6257   
new file mode 100644
 4871   6258   
index 0000000..368c6e3
 4872         -
-- /dev/null
        6259  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4873   6260   
@@ -0,0 +1,2 @@
        6261  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        6262  +
Host:example.amazonaws.com
 4874   6263   
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
 4875   6264   
new file mode 100644
 4876   6265   
index 0000000..0468d80
 4877         -
-- /dev/null
        6266  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4878   6267   
@@ -0,0 +1,12 @@
        6268  +
{
        6269  +
    "credentials": {
        6270  +
        "access_key_id": "AKIDEXAMPLE",
        6271  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6272  +
    },
        6273  +
    "expiration_in_seconds": 3600,
        6274  +
    "normalize": true,
        6275  +
    "region": "us-east-1",
        6276  +
    "service": "service",
        6277  +
    "sign_body": false,
        6278  +
    "timestamp": "2015-08-30T12:36:00Z"
        6279  +
}
              \
 No newline at end of file
 4879   6280   
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
 4880   6281   
similarity index 99%
 4881   6282   
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
 4882   6283   
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
 4883   6284   
index 74f625a..3db56f7 100644
 4884         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/header-canonical-request.txt
        6285  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-canonical-request.txt
 4885   6286   
@@ -1,9 +1,9 @@
 4886   6287   
GET
 4887   6288   
/
 4888   6289   
Param1=value1&Param2=value2
 4889   6290   
host:example.amazonaws.com
 4890   6291   
x-amz-date:20150830T123600Z
 4891   6292   
x-amz-region-set:us-east-1
 4892   6293   
 4893   6294   
host;x-amz-date;x-amz-region-set
 4894         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6295  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4895   6296   
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
 4896   6297   
new file mode 100644
 4897   6298   
index 0000000..e6042bc
 4898         -
-- /dev/null
        6299  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4899   6300   
@@ -0,0 +1 @@
        6301  +
3045022100b342b0d62487d235a5baf82e970102670a8d7af34c61f086125d204a90724d9e022070304e846de3de228c57e528b61f4addfdb5fa788a8a452e483c6a286d8803f5
              \
 No newline at end of file
 4900   6302   
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
 4901   6303   
new file mode 100644
 4902   6304   
index 0000000..5505969
 4903         -
-- /dev/null
        6305  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4904   6306   
@@ -0,0 +1,6 @@
        6307  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        6308  +
Host:example.amazonaws.com
        6309  +
X-Amz-Date:20150830T123600Z
        6310  +
X-Amz-Region-Set:us-east-1
        6311  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220394fa0699225f403514cb4db03b7c479f64c5f9864bf520b871bb23a054d6517022100d4445c909fc62a43c6c485a8582621e0e14c6ef1e4218072bc2dcaffc1188f18
        6312  +
 4905   6313   
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
 4906   6314   
similarity index 99%
 4907   6315   
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
 4908   6316   
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
 4909   6317   
index 44873b7..e8f5e31 100644
 4910         -
-- 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
        6318  +
++ 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
 4911   6319   
@@ -1,4 +1,4 @@
 4912   6320   
AWS4-ECDSA-P256-SHA256
 4913   6321   
20150830T123600Z
 4914   6322   
20150830/service/aws4_request
 4915         -
cc07b29e0d0f0b2d6aa296621a5608fd9c2271159b9b2f737f682704ebb96482
        6323  +
cc07b29e0d0f0b2d6aa296621a5608fd9c2271159b9b2f737f682704ebb96482
              \
 No newline at end of file
 4916   6324   
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
 4917   6325   
new file mode 100644
 4918   6326   
index 0000000..379dcb2
 4919         -
-- /dev/null
        6327  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4920   6328   
@@ -0,0 +1,4 @@
        6329  +
{
        6330  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6331  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6332  +
}
 4921   6333   
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
 4922   6334   
similarity index 99%
 4923   6335   
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
 4924   6336   
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
 4925   6337   
index 6d30727..3fe6a9f 100644
 4926         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/query-canonical-request.txt
        6338  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-canonical-request.txt
 4927   6339   
@@ -1,7 +1,7 @@
 4928   6340   
GET
 4929   6341   
/
 4930   6342   
Param1=value1&Param2=value2&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
 4931   6343   
host:example.amazonaws.com
 4932   6344   
 4933   6345   
host
 4934         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6346  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4935   6347   
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
 4936   6348   
new file mode 100644
 4937   6349   
index 0000000..3f35de8
 4938         -
-- /dev/null
        6350  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4939   6351   
@@ -0,0 +1 @@
        6352  +
304402207c976c47b1bcf7333ad10fcf78498bb14a368a6cd8f58703d47c9e91c4468c13022059a3715bafae9410271bf3355ccd0bbc622fe90f3c0168203d83323297789de5
              \
 No newline at end of file
 4940   6353   
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
 4941   6354   
new file mode 100644
 4942   6355   
index 0000000..30b336b
 4943         -
-- /dev/null
        6356  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4944   6357   
@@ -0,0 +1,3 @@
        6358  +
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
        6359  +
Host:example.amazonaws.com
        6360  +
 4945   6361   
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
 4946   6362   
similarity index 99%
 4947   6363   
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
 4948   6364   
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
 4949   6365   
index 99d0510..7f0565f 100644
 4950         -
-- 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
        6366  +
++ 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
 4951   6367   
@@ -1,4 +1,4 @@
 4952   6368   
AWS4-ECDSA-P256-SHA256
 4953   6369   
20150830T123600Z
 4954   6370   
20150830/service/aws4_request
 4955         -
c688584c3dbae2868c4911c825239f2c9375e66b9962f21db60b9b2fcd75bf45
        6371  +
c688584c3dbae2868c4911c825239f2c9375e66b9962f21db60b9b2fcd75bf45
              \
 No newline at end of file
 4956   6372   
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
 4957   6373   
similarity index 100%
 4958   6374   
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
 4959   6375   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 4960   6376   
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
 4961   6377   
new file mode 100644
 4962   6378   
index 0000000..0468d80
 4963         -
-- /dev/null
        6379  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 4964   6380   
@@ -0,0 +1,12 @@
        6381  +
{
        6382  +
    "credentials": {
        6383  +
        "access_key_id": "AKIDEXAMPLE",
        6384  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6385  +
    },
        6386  +
    "expiration_in_seconds": 3600,
        6387  +
    "normalize": true,
        6388  +
    "region": "us-east-1",
        6389  +
    "service": "service",
        6390  +
    "sign_body": false,
        6391  +
    "timestamp": "2015-08-30T12:36:00Z"
        6392  +
}
              \
 No newline at end of file
 4965   6393   
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
 4966   6394   
similarity index 99%
 4967   6395   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
 4968   6396   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4969   6397   
index 816c862..cc4537a 100644
 4970         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
        6398  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4971   6399   
@@ -1,9 +1,9 @@
 4972   6400   
GET
 4973   6401   
/
 4974   6402   
-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 4975   6403   
host:example.amazonaws.com
 4976   6404   
x-amz-date:20150830T123600Z
 4977   6405   
x-amz-region-set:us-east-1
 4978   6406   
 4979   6407   
host;x-amz-date;x-amz-region-set
 4980         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6408  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4981   6409   
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
 4982   6410   
new file mode 100644
 4983   6411   
index 0000000..70d38c1
 4984         -
-- /dev/null
        6412  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 4985   6413   
@@ -0,0 +1 @@
        6414  +
3045022100ce7ae9d07bea650598803710644006d47de14a884d0777abd71ccf76164a36c70220256f34ad94c5cb1291a05f7680c2a0068c51d2a31a4e2fe2100d4a58197565ed
              \
 No newline at end of file
 4986   6415   
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
 4987   6416   
new file mode 100644
 4988   6417   
index 0000000..0647eea
 4989         -
-- /dev/null
        6418  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 4990   6419   
@@ -0,0 +1,6 @@
        6420  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        6421  +
Host:example.amazonaws.com
        6422  +
X-Amz-Date:20150830T123600Z
        6423  +
X-Amz-Region-Set:us-east-1
        6424  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220023b0ce37b4e3f7fe6b6e155dab72846b461d22ff4820f019a07afef476f61ee022100f985e993037270cc48ac905b360046d077770a2b28aa829ea909430b1b3ed8aa
        6425  +
 4991   6426   
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
 4992   6427   
similarity index 99%
 4993   6428   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
 4994   6429   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 4995   6430   
index 6129fc5..cc19d14 100644
 4996         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
        6431  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 4997   6432   
@@ -1,4 +1,4 @@
 4998   6433   
AWS4-ECDSA-P256-SHA256
 4999   6434   
20150830T123600Z
 5000   6435   
20150830/service/aws4_request
 5001         -
377b8a3e195894659b84cd1c475dc8a3663a663360a349430c0c3b82bd82b77b
        6436  +
377b8a3e195894659b84cd1c475dc8a3663a663360a349430c0c3b82bd82b77b
              \
 No newline at end of file
 5002   6437   
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
 5003   6438   
new file mode 100644
 5004   6439   
index 0000000..379dcb2
 5005         -
-- /dev/null
        6440  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 5006   6441   
@@ -0,0 +1,4 @@
        6442  +
{
        6443  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6444  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6445  +
}
 5007   6446   
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
 5008   6447   
similarity index 99%
 5009   6448   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
 5010   6449   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 5011   6450   
index b77ee9f..ed6a10e 100644
 5012         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
        6451  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 5013   6452   
@@ -1,7 +1,7 @@
 5014   6453   
GET
 5015   6454   
/
 5016   6455   
-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&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
 5017   6456   
host:example.amazonaws.com
 5018   6457   
 5019   6458   
host
 5020         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6459  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5021   6460   
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
 5022   6461   
new file mode 100644
 5023   6462   
index 0000000..2ceba7b
 5024         -
-- /dev/null
        6463  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 5025   6464   
@@ -0,0 +1 @@
        6465  +
30450220720698c40b04f1a2e1f94e91ed9a59f8b2a2e70cb55e6dd245d0aec039cad6ea022100b2076666b780735e1ddabf773f141ff49f8df3686ffb6c4c7798ba22470e3819
              \
 No newline at end of file
 5026   6466   
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
 5027   6467   
new file mode 100644
 5028   6468   
index 0000000..0cd6d0a
 5029         -
-- /dev/null
        6469  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 5030   6470   
@@ -0,0 +1,3 @@
        6471  +
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
        6472  +
Host:example.amazonaws.com
        6473  +
 5031   6474   
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
 5032   6475   
similarity index 99%
 5033   6476   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
 5034   6477   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 5035   6478   
index 1cfed7a..aad1421 100644
 5036         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
        6479  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 5037   6480   
@@ -1,4 +1,4 @@
 5038   6481   
AWS4-ECDSA-P256-SHA256
 5039   6482   
20150830T123600Z
 5040   6483   
20150830/service/aws4_request
 5041         -
5d8923c620c699f856a35a6eb8dd786fd4c8c6ab0a35c552caeb5b648989433f
        6484  +
5d8923c620c699f856a35a6eb8dd786fd4c8c6ab0a35c552caeb5b648989433f
              \
 No newline at end of file
 5042   6485   
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
 5043   6486   
similarity index 86%
 5044   6487   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
 5045   6488   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 5046   6489   
index d2833b3..36b2fe3 100644
 5047         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
        6490  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 5048   6491   
@@ -1,3 +1,2 @@
 5049   6492   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 5050   6493   
Host:example.amazonaws.com
 5051         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5052   6494   
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
 5053   6495   
new file mode 100644
 5054   6496   
index 0000000..0468d80
 5055         -
-- /dev/null
        6497  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 5056   6498   
@@ -0,0 +1,12 @@
        6499  +
{
        6500  +
    "credentials": {
        6501  +
        "access_key_id": "AKIDEXAMPLE",
        6502  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6503  +
    },
        6504  +
    "expiration_in_seconds": 3600,
        6505  +
    "normalize": true,
        6506  +
    "region": "us-east-1",
        6507  +
    "service": "service",
        6508  +
    "sign_body": false,
        6509  +
    "timestamp": "2015-08-30T12:36:00Z"
        6510  +
}
              \
 No newline at end of file
 5057   6511   
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
 5058   6512   
new file mode 100644
 5059   6513   
index 0000000..76db73d
 5060         -
-- /dev/null
        6514  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 5061   6515   
@@ -0,0 +1,9 @@
        6516  +
GET
        6517  +
/
        6518  +
        6519  +
host:example.amazonaws.com
        6520  +
x-amz-date:20150830T123600Z
        6521  +
x-amz-region-set:us-east-1
        6522  +
        6523  +
host;x-amz-date;x-amz-region-set
        6524  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5062   6525   
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
 5063   6526   
new file mode 100644
 5064   6527   
index 0000000..281cc62
 5065         -
-- /dev/null
        6528  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 5066   6529   
@@ -0,0 +1 @@
        6530  +
304402202f36c5363f01990fac07fb18efd255fb82fa3807a8a84946f0b5ac2b71ac96f5022068a86869075a8ca0fe4f875f6a07af6df16538f156dba648c9a96b7c3d687924
              \
 No newline at end of file
 5067   6531   
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
 5068   6532   
new file mode 100644
 5069   6533   
index 0000000..cce9925
 5070         -
-- /dev/null
        6534  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 5071   6535   
@@ -0,0 +1,6 @@
        6536  +
GET / HTTP/1.1
        6537  +
Host:example.amazonaws.com
        6538  +
X-Amz-Date:20150830T123600Z
        6539  +
X-Amz-Region-Set:us-east-1
        6540  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502201f8540fba7741deef60d162a2cf5a8abece28db296174e82420ae6790d93b8af022100d3109ac9ec7995b9e976efa2c54b278d3fab0737e3c73483771773d2061d8f3f
        6541  +
 5072   6542   
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
 5073   6543   
new file mode 100644
 5074   6544   
index 0000000..600f1d8
 5075         -
-- /dev/null
        6545  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 5076   6546   
@@ -0,0 +1,4 @@
        6547  +
AWS4-ECDSA-P256-SHA256
        6548  +
20150830T123600Z
        6549  +
20150830/service/aws4_request
        6550  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 5077   6551   
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
 5078   6552   
new file mode 100644
 5079   6553   
index 0000000..379dcb2
 5080         -
-- /dev/null
        6554  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 5081   6555   
@@ -0,0 +1,4 @@
        6556  +
{
        6557  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6558  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6559  +
}
 5082   6560   
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
 5083   6561   
new file mode 100644
 5084   6562   
index 0000000..779c51c
 5085         -
-- /dev/null
        6563  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 5086   6564   
@@ -0,0 +1,7 @@
        6565  +
GET
        6566  +
/
        6567  +
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
        6568  +
host:example.amazonaws.com
        6569  +
        6570  +
host
        6571  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5087   6572   
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
 5088   6573   
new file mode 100644
 5089   6574   
index 0000000..2979e5e
 5090         -
-- /dev/null
        6575  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 5091   6576   
@@ -0,0 +1 @@
        6577  +
304402203840161a4739cd19b33c2186657554e140b84ce1fe9021074f154410b97ffad002200606f4430d72826616b2cd47590fcee42bbf23cb0287458389a43f9e6edd897d
              \
 No newline at end of file
 5092   6578   
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
 5093   6579   
new file mode 100644
 5094   6580   
index 0000000..1b3179c
 5095         -
-- /dev/null
        6581  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 5096   6582   
@@ -0,0 +1,3 @@
        6583  +
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
        6584  +
Host:example.amazonaws.com
        6585  +
 5097   6586   
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
 5098   6587   
new file mode 100644
 5099   6588   
index 0000000..6e29a7e
 5100         -
-- /dev/null
        6589  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 5101   6590   
@@ -0,0 +1,4 @@
        6591  +
AWS4-ECDSA-P256-SHA256
        6592  +
20150830T123600Z
        6593  +
20150830/service/aws4_request
        6594  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 5102   6595   
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
 5103   6596   
similarity index 60%
 5104   6597   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
 5105   6598   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 5106   6599   
index 0f7a9bf..e659c3b 100644
 5107         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
        6600  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 5108   6601   
@@ -1,3 +1,2 @@
 5109   6602   
GET / HTTP/1.1
 5110   6603   
Host:example.amazonaws.com
 5111         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5112   6604   
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
 5113   6605   
new file mode 100644
 5114   6606   
index 0000000..0468d80
 5115         -
-- /dev/null
        6607  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 5116   6608   
@@ -0,0 +1,12 @@
        6609  +
{
        6610  +
    "credentials": {
        6611  +
        "access_key_id": "AKIDEXAMPLE",
        6612  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6613  +
    },
        6614  +
    "expiration_in_seconds": 3600,
        6615  +
    "normalize": true,
        6616  +
    "region": "us-east-1",
        6617  +
    "service": "service",
        6618  +
    "sign_body": false,
        6619  +
    "timestamp": "2015-08-30T12:36:00Z"
        6620  +
}
              \
 No newline at end of file
 5117   6621   
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
 5118   6622   
new file mode 100644
 5119   6623   
index 0000000..8841ddf
 5120         -
-- /dev/null
        6624  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 5121   6625   
@@ -0,0 +1,9 @@
        6626  +
GET
        6627  +
/
        6628  +
%E1%88%B4=bar
        6629  +
host:example.amazonaws.com
        6630  +
x-amz-date:20150830T123600Z
        6631  +
x-amz-region-set:us-east-1
        6632  +
        6633  +
host;x-amz-date;x-amz-region-set
        6634  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5122   6635   
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
 5123   6636   
new file mode 100644
 5124   6637   
index 0000000..1497add
 5125         -
-- /dev/null
        6638  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 5126   6639   
@@ -0,0 +1 @@
        6640  +
3046022100b47fe24b090d857f34597a58a4e8acd0ea9639462e606af7e1fa1e2c3fae1d630221008ce7f870adf7d2c06f299da0c9870402b027c6a50ff027881655a664ff294cc3
              \
 No newline at end of file
 5127   6641   
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
 5128   6642   
new file mode 100644
 5129   6643   
index 0000000..961bc10
 5130         -
-- /dev/null
        6644  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 5131   6645   
@@ -0,0 +1,6 @@
        6646  +
GET /?ሴ=bar HTTP/1.1
        6647  +
Host:example.amazonaws.com
        6648  +
X-Amz-Date:20150830T123600Z
        6649  +
X-Amz-Region-Set:us-east-1
        6650  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502206e0b9d70bb0413a557946314e04739d721c9f301d452c072590edfdcb9320572022100846f242fb0346c8c56c76a6f0e70c521d7ac02742f09c2e7b5253f1e9afe5a44
        6651  +
 5132   6652   
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
 5133   6653   
new file mode 100644
 5134   6654   
index 0000000..e78ed70
 5135         -
-- /dev/null
        6655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 5136   6656   
@@ -0,0 +1,4 @@
        6657  +
AWS4-ECDSA-P256-SHA256
        6658  +
20150830T123600Z
        6659  +
20150830/service/aws4_request
        6660  +
b27131d754045e85823698b1fe3fc9694c17b16d97f4c43cef2359a1233c7b76
              \
 No newline at end of file
 5137   6661   
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
 5138   6662   
new file mode 100644
 5139   6663   
index 0000000..379dcb2
 5140         -
-- /dev/null
        6664  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 5141   6665   
@@ -0,0 +1,4 @@
        6666  +
{
        6667  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6668  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6669  +
}
 5142   6670   
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
 5143   6671   
new file mode 100644
 5144   6672   
index 0000000..6d5ae93
 5145         -
-- /dev/null
        6673  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 5146   6674   
@@ -0,0 +1,7 @@
        6675  +
GET
        6676  +
/
        6677  +
%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
        6678  +
host:example.amazonaws.com
        6679  +
        6680  +
host
        6681  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5147   6682   
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
 5148   6683   
new file mode 100644
 5149   6684   
index 0000000..92107f2
 5150         -
-- /dev/null
        6685  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 5151   6686   
@@ -0,0 +1 @@
        6687  +
3044022076d8b03a19db63abc106c50f13487d5363f1eac2c77bc4eda764eadba8f84c6502205c0aa76554ba223a97958be9ff34aca35d84cb7b8c7ba698793ead9e6788e241
              \
 No newline at end of file
 5152   6688   
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
 5153   6689   
new file mode 100644
 5154   6690   
index 0000000..bb8a75b
 5155         -
-- /dev/null
        6691  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 5156   6692   
@@ -0,0 +1,3 @@
        6693  +
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
        6694  +
Host:example.amazonaws.com
        6695  +
 5157   6696   
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
 5158   6697   
new file mode 100644
 5159   6698   
index 0000000..9fa94c7
 5160         -
-- /dev/null
        6699  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 5161   6700   
@@ -0,0 +1,4 @@
        6701  +
AWS4-ECDSA-P256-SHA256
        6702  +
20150830T123600Z
        6703  +
20150830/service/aws4_request
        6704  +
e22d57192c68232f914afff959b8aa1027756098f879c7d4d7615a2469f85c1f
              \
 No newline at end of file
 5162   6705   
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
 5163   6706   
new file mode 100644
 5164   6707   
index 0000000..aff333a
 5165         -
-- /dev/null
        6708  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 5166   6709   
@@ -0,0 +1,2 @@
        6710  +
GET /?ሴ=bar HTTP/1.1
        6711  +
Host:example.amazonaws.com
 5167   6712   
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
 5168   6713   
new file mode 100644
 5169   6714   
index 0000000..a334e18
 5170         -
-- /dev/null
        6715  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 5171   6716   
@@ -0,0 +1,13 @@
        6717  +
{
        6718  +
    "credentials": {
        6719  +
        "access_key_id": "AKIDEXAMPLE",
        6720  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6721  +
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
        6722  +
    },
        6723  +
    "expiration_in_seconds": 3600,
        6724  +
    "normalize": true,
        6725  +
    "region": "us-east-1",
        6726  +
    "service": "service",
        6727  +
    "sign_body": false,
        6728  +
    "timestamp": "2015-08-30T12:36:00Z"
        6729  +
}
              \
 No newline at end of file
 5172   6730   
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
 5173   6731   
similarity index 99%
 5174   6732   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
 5175   6733   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 5176   6734   
index f14defd..0e9ad42 100644
 5177         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
        6735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 5178   6736   
@@ -1,10 +1,10 @@
 5179   6737   
GET
 5180   6738   
/
 5181   6739   
 5182   6740   
host:example.amazonaws.com
 5183   6741   
x-amz-date:20150830T123600Z
 5184   6742   
x-amz-region-set:us-east-1
 5185   6743   
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
 5186   6744   
 5187   6745   
host;x-amz-date;x-amz-region-set;x-amz-security-token
 5188         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6746  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5189   6747   
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
 5190   6748   
new file mode 100644
 5191   6749   
index 0000000..a7673b5
 5192         -
-- /dev/null
        6750  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 5193   6751   
@@ -0,0 +1 @@
        6752  +
3044022035c6bc9a8cab8a434bd8bd1cc3b6f1401842f530f1537722ad10d72a1577f8c80220101352fe0720715efbab80f82edb133175f0b61cad85daf943ad615852f9ae10
              \
 No newline at end of file
 5194   6753   
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
 5195   6754   
new file mode 100644
 5196   6755   
index 0000000..ed16e76
 5197         -
-- /dev/null
        6756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 5198   6757   
@@ -0,0 +1,7 @@
        6758  +
GET / HTTP/1.1
        6759  +
Host:example.amazonaws.com
        6760  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        6761  +
X-Amz-Date:20150830T123600Z
        6762  +
X-Amz-Region-Set:us-east-1
        6763  +
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
        6764  +
 5199   6765   
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
 5200   6766   
similarity index 99%
 5201   6767   
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
 5202   6768   
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
 5203   6769   
index 4edece5..6c1ec65 100644
 5204         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-string-to-sign.txt
        6770  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-string-to-sign.txt
 5205   6771   
@@ -1,4 +1,4 @@
 5206   6772   
AWS4-ECDSA-P256-SHA256
 5207   6773   
20150830T123600Z
 5208   6774   
20150830/service/aws4_request
 5209         -
79893373104239a0547df489af395ec3c1b8873a8601f07f11ffd3f1ac557e7d
        6775  +
79893373104239a0547df489af395ec3c1b8873a8601f07f11ffd3f1ac557e7d
              \
 No newline at end of file
 5210   6776   
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
 5211   6777   
new file mode 100644
 5212   6778   
index 0000000..379dcb2
 5213         -
-- /dev/null
        6779  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 5214   6780   
@@ -0,0 +1,4 @@
        6781  +
{
        6782  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6783  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6784  +
}
 5215   6785   
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
 5216   6786   
similarity index 99%
 5217   6787   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
 5218   6788   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 5219   6789   
index 7c042af..1876b42 100644
 5220         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
        6790  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 5221   6791   
@@ -1,7 +1,7 @@
 5222   6792   
GET
 5223   6793   
/
 5224   6794   
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-Security-Token=6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267&X-Amz-SignedHeaders=host
 5225   6795   
host:example.amazonaws.com
 5226   6796   
 5227   6797   
host
 5228         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6798  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5229   6799   
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
 5230   6800   
new file mode 100644
 5231   6801   
index 0000000..903dfb4
 5232         -
-- /dev/null
        6802  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 5233   6803   
@@ -0,0 +1 @@
        6804  +
3046022100d51f7ae1ac1b6b3db6c40f69aafb4306f81cdd2d87a85f69b2c4cb8fd057cf21022100cdb787a698c3f53d961f5b6279a0ff246097f50c874bcbf7a249bf4c0f118fb3
              \
 No newline at end of file
 5234   6805   
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
 5235   6806   
new file mode 100644
 5236   6807   
index 0000000..bf1d246
 5237         -
-- /dev/null
        6808  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 5238   6809   
@@ -0,0 +1,3 @@
        6810  +
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
        6811  +
Host:example.amazonaws.com
        6812  +
 5239   6813   
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
 5240   6814   
similarity index 99%
 5241   6815   
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
 5242   6816   
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
 5243   6817   
index 0fd066a..f1b1790 100644
 5244         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-string-to-sign.txt
        6818  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-string-to-sign.txt
 5245   6819   
@@ -1,4 +1,4 @@
 5246   6820   
AWS4-ECDSA-P256-SHA256
 5247   6821   
20150830T123600Z
 5248   6822   
20150830/service/aws4_request
 5249         -
496062b4c2ed2175fe08ad084158783fa8d013c694542af721d49b25d1ebd390
        6823  +
496062b4c2ed2175fe08ad084158783fa8d013c694542af721d49b25d1ebd390
              \
 No newline at end of file
 5250   6824   
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
 5251   6825   
similarity index 60%
 5252   6826   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
 5253   6827   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 5254   6828   
index 0f7a9bf..e659c3b 100644
 5255         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
        6829  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 5256   6830   
@@ -1,3 +1,2 @@
 5257   6831   
GET / HTTP/1.1
 5258   6832   
Host:example.amazonaws.com
 5259         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5260   6833   
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
 5261   6834   
new file mode 100644
 5262   6835   
index 0000000..76db73d
 5263         -
-- /dev/null
        6836  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 5264   6837   
@@ -0,0 +1,9 @@
        6838  +
GET
        6839  +
/
        6840  +
        6841  +
host:example.amazonaws.com
        6842  +
x-amz-date:20150830T123600Z
        6843  +
x-amz-region-set:us-east-1
        6844  +
        6845  +
host;x-amz-date;x-amz-region-set
        6846  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5265   6847   
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
 5266   6848   
new file mode 100644
 5267   6849   
index 0000000..0468d80
 5268         -
-- /dev/null
        6850  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 5269   6851   
@@ -0,0 +1,12 @@
        6852  +
{
        6853  +
    "credentials": {
        6854  +
        "access_key_id": "AKIDEXAMPLE",
        6855  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6856  +
    },
        6857  +
    "expiration_in_seconds": 3600,
        6858  +
    "normalize": true,
        6859  +
    "region": "us-east-1",
        6860  +
    "service": "service",
        6861  +
    "sign_body": false,
        6862  +
    "timestamp": "2015-08-30T12:36:00Z"
        6863  +
}
              \
 No newline at end of file
 5270   6864   
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
 5271   6865   
new file mode 100644
 5272   6866   
index 0000000..76db73d
 5273         -
-- /dev/null
        6867  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 5274   6868   
@@ -0,0 +1,9 @@
        6869  +
GET
        6870  +
/
        6871  +
        6872  +
host:example.amazonaws.com
        6873  +
x-amz-date:20150830T123600Z
        6874  +
x-amz-region-set:us-east-1
        6875  +
        6876  +
host;x-amz-date;x-amz-region-set
        6877  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5275   6878   
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
 5276   6879   
new file mode 100644
 5277   6880   
index 0000000..a96ff24
 5278         -
-- /dev/null
        6881  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 5279   6882   
@@ -0,0 +1 @@
        6883  +
3045022018b4e277d0281864beb51d3600e23f88510ea5031d68ddfbb68614b82a5eb7d2022100effb9c5f22ed9ef3ae0ab243d21f06bce82365bbb79529a07b6888c343ae5f8c
              \
 No newline at end of file
 5280   6884   
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
 5281   6885   
new file mode 100644
 5282   6886   
index 0000000..689078b
 5283         -
-- /dev/null
        6887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 5284   6888   
@@ -0,0 +1,6 @@
        6889  +
GET / HTTP/1.1
        6890  +
Host:example.amazonaws.com
        6891  +
X-Amz-Date:20150830T123600Z
        6892  +
X-Amz-Region-Set:us-east-1
        6893  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100fddaaf816a31e30d04973875b13bc27b98da10907a3a1872fd5819a221334abc022100de2ee81d83b54f31efc82834de07e6cd4d5c6f25bfa08e0f29a15bb0977c343e
        6894  +
 5285   6895   
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
 5286   6896   
new file mode 100644
 5287   6897   
index 0000000..600f1d8
 5288         -
-- /dev/null
        6898  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 5289   6899   
@@ -0,0 +1,4 @@
        6900  +
AWS4-ECDSA-P256-SHA256
        6901  +
20150830T123600Z
        6902  +
20150830/service/aws4_request
        6903  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 5290   6904   
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
 5291   6905   
new file mode 100644
 5292   6906   
index 0000000..379dcb2
 5293         -
-- /dev/null
        6907  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 5294   6908   
@@ -0,0 +1,4 @@
        6909  +
{
        6910  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6911  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6912  +
}
 5295   6913   
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
 5296   6914   
new file mode 100644
 5297   6915   
index 0000000..779c51c
 5298         -
-- /dev/null
        6916  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 5299   6917   
@@ -0,0 +1,7 @@
        6918  +
GET
        6919  +
/
        6920  +
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
        6921  +
host:example.amazonaws.com
        6922  +
        6923  +
host
        6924  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5300   6925   
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
 5301   6926   
new file mode 100644
 5302   6927   
index 0000000..cc42158
 5303         -
-- /dev/null
        6928  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 5304   6929   
@@ -0,0 +1 @@
        6930  +
3045022100b3246f8e1442dd58e73292ae1294720c3256ee58f6cea50f3a3f83b4a4b0331a0220329693f7745c9008a5887c0529ceccb0fae4e16d707b712ea66acdbaf963769a
              \
 No newline at end of file
 5305   6931   
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
 5306   6932   
new file mode 100644
 5307   6933   
index 0000000..dc6d01d
 5308         -
-- /dev/null
        6934  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 5309   6935   
@@ -0,0 +1,3 @@
        6936  +
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
        6937  +
Host:example.amazonaws.com
        6938  +
 5310   6939   
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
 5311   6940   
new file mode 100644
 5312   6941   
index 0000000..6e29a7e
 5313         -
-- /dev/null
        6942  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 5314   6943   
@@ -0,0 +1,4 @@
        6944  +
AWS4-ECDSA-P256-SHA256
        6945  +
20150830T123600Z
        6946  +
20150830/service/aws4_request
        6947  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 5315   6948   
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
 5316   6949   
new file mode 100644
 5317   6950   
index 0000000..e659c3b
 5318         -
-- /dev/null
        6951  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 5319   6952   
@@ -0,0 +1,2 @@
        6953  +
GET / HTTP/1.1
        6954  +
Host:example.amazonaws.com
 5320   6955   
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
 5321   6956   
new file mode 100644
 5322   6957   
index 0000000..600f1d8
 5323         -
-- /dev/null
        6958  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 5324   6959   
@@ -0,0 +1,4 @@
        6960  +
AWS4-ECDSA-P256-SHA256
        6961  +
20150830T123600Z
        6962  +
20150830/service/aws4_request
        6963  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 5325   6964   
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
 5326   6965   
new file mode 100644
 5327   6966   
index 0000000..0468d80
 5328         -
-- /dev/null
        6967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 5329   6968   
@@ -0,0 +1,12 @@
        6969  +
{
        6970  +
    "credentials": {
        6971  +
        "access_key_id": "AKIDEXAMPLE",
        6972  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6973  +
    },
        6974  +
    "expiration_in_seconds": 3600,
        6975  +
    "normalize": true,
        6976  +
    "region": "us-east-1",
        6977  +
    "service": "service",
        6978  +
    "sign_body": false,
        6979  +
    "timestamp": "2015-08-30T12:36:00Z"
        6980  +
}
              \
 No newline at end of file
 5330   6981   
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
 5331   6982   
similarity index 99%
 5332   6983   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
 5333   6984   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 5334   6985   
index a6942c1..e881ac7 100644
 5335         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
        6986  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 5336   6987   
@@ -1,9 +1,9 @@
 5337   6988   
POST
 5338   6989   
/
 5339   6990   
 5340   6991   
host:example.amazonaws.com
 5341   6992   
x-amz-date:20150830T123600Z
 5342   6993   
x-amz-region-set:us-east-1
 5343   6994   
 5344   6995   
host;x-amz-date;x-amz-region-set
 5345         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6996  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5346   6997   
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
 5347   6998   
new file mode 100644
 5348   6999   
index 0000000..4210210
 5349         -
-- /dev/null
        7000  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 5350   7001   
@@ -0,0 +1 @@
        7002  +
3044022025397839d55c2147eead39170f5b1758c9f9fb4ccbcda4c8612a23df8e90c13d022079f5fc1377201691a11be43def8be12fe882e998589317508ff67b8dbe982722
              \
 No newline at end of file
 5351   7003   
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
 5352   7004   
new file mode 100644
 5353   7005   
index 0000000..257b110
 5354         -
-- /dev/null
        7006  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 5355   7007   
@@ -0,0 +1,6 @@
        7008  +
POST / HTTP/1.1
        7009  +
Host:example.amazonaws.com
        7010  +
X-Amz-Date:20150830T123600Z
        7011  +
X-Amz-Region-Set:us-east-1
        7012  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304602210081bb2a93eae5cce843abe0e7cac2f0e4cecdd0a79cb8d60e5b9dc4c8e8906b61022100e18c8119f50b8218da995ada62080d88ff75d2f02309c3685a02dfb9a83b103f
        7013  +
 5356   7014   
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
 5357   7015   
similarity index 99%
 5358   7016   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
 5359   7017   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 5360   7018   
index d5650cb..f8adf13 100644
 5361         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
        7019  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 5362   7020   
@@ -1,4 +1,4 @@
 5363   7021   
AWS4-ECDSA-P256-SHA256
 5364   7022   
20150830T123600Z
 5365   7023   
20150830/service/aws4_request
 5366         -
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
        7024  +
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
              \
 No newline at end of file
 5367   7025   
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
 5368   7026   
new file mode 100644
 5369   7027   
index 0000000..379dcb2
 5370         -
-- /dev/null
        7028  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 5371   7029   
@@ -0,0 +1,4 @@
        7030  +
{
        7031  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7032  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7033  +
}
 5372   7034   
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
 5373   7035   
similarity index 99%
 5374   7036   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
 5375   7037   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 5376   7038   
index e48ce07..5ea8e3c 100644
 5377         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
        7039  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 5378   7040   
@@ -1,7 +1,7 @@
 5379   7041   
POST
 5380   7042   
/
 5381   7043   
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
 5382   7044   
host:example.amazonaws.com
 5383   7045   
 5384   7046   
host
 5385         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7047  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5386   7048   
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
 5387   7049   
new file mode 100644
 5388   7050   
index 0000000..9e2069e
 5389         -
-- /dev/null
        7051  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 5390   7052   
@@ -0,0 +1 @@
        7053  +
304402204afe4ce8de62e37853d0cb8a00f9601532fdeca89d6d8591c72d5bbf728bee2f02202feb0d8e680cab063e0c3c9090c0483f400511678ce83169ddce3e6d040f9ed8
              \
 No newline at end of file
 5391   7054   
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
 5392   7055   
new file mode 100644
 5393   7056   
index 0000000..67f5d29
 5394         -
-- /dev/null
        7057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 5395   7058   
@@ -0,0 +1,3 @@
        7059  +
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
        7060  +
Host:example.amazonaws.com
        7061  +
 5396   7062   
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
 5397   7063   
similarity index 99%
 5398   7064   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
 5399   7065   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 5400   7066   
index 34e3382..711c162 100644
 5401         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
        7067  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 5402   7068   
@@ -1,4 +1,4 @@
 5403   7069   
AWS4-ECDSA-P256-SHA256
 5404   7070   
20150830T123600Z
 5405   7071   
20150830/service/aws4_request
 5406         -
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
        7072  +
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
              \
 No newline at end of file
 5407   7073   
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
 5408   7074   
similarity index 61%
 5409   7075   
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
 5410   7076   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 5411   7077   
index 3dc4179..3f0a82a 100644
 5412         -
-- 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
        7078  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 5413   7079   
@@ -1,3 +1,2 @@
 5414   7080   
POST / HTTP/1.1
 5415   7081   
Host:example.amazonaws.com
 5416         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5417   7082   
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
 5418   7083   
new file mode 100644
 5419   7084   
index 0000000..0468d80
 5420         -
-- /dev/null
        7085  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 5421   7086   
@@ -0,0 +1,12 @@
        7087  +
{
        7088  +
    "credentials": {
        7089  +
        "access_key_id": "AKIDEXAMPLE",
        7090  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7091  +
    },
        7092  +
    "expiration_in_seconds": 3600,
        7093  +
    "normalize": true,
        7094  +
    "region": "us-east-1",
        7095  +
    "service": "service",
        7096  +
    "sign_body": false,
        7097  +
    "timestamp": "2015-08-30T12:36:00Z"
        7098  +
}
              \
 No newline at end of file
 5422   7099   
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
 5423   7100   
similarity index 99%
 5424   7101   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
 5425   7102   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 5426   7103   
index a8e1727..2883822 100644
 5427         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
        7104  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 5428   7105   
@@ -1,10 +1,10 @@
 5429   7106   
POST
 5430   7107   
/
 5431   7108   
 5432   7109   
host:example.amazonaws.com
 5433   7110   
my-header1:value1
 5434   7111   
x-amz-date:20150830T123600Z
 5435   7112   
x-amz-region-set:us-east-1
 5436   7113   
 5437   7114   
host;my-header1;x-amz-date;x-amz-region-set
 5438         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7115  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5439   7116   
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
 5440   7117   
new file mode 100644
 5441   7118   
index 0000000..e3c2e6e
 5442         -
-- /dev/null
        7119  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 5443   7120   
@@ -0,0 +1 @@
        7121  +
304502210097752f8c9953078cbb6b370471cb7029aea9517d59fb835d8befce66a91e6c4a022043a8c62681ff76e6cbaaeaed2fff2fcfee8efceebb7bd9e562ecd5a08b2c563f
              \
 No newline at end of file
 5444   7122   
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
 5445   7123   
new file mode 100644
 5446   7124   
index 0000000..1d6e288
 5447         -
-- /dev/null
        7125  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 5448   7126   
@@ -0,0 +1,7 @@
        7127  +
POST / HTTP/1.1
        7128  +
Host:example.amazonaws.com
        7129  +
My-Header1:value1
        7130  +
X-Amz-Date:20150830T123600Z
        7131  +
X-Amz-Region-Set:us-east-1
        7132  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3046022100a5dc03771b33997d8eeb15d639cb7bdef2aff78a4a59c7996070e5f94fe149780221009a732061539208209ba0ae6755bef956c258a0c0ac6a6916489486efde21cfeb
        7133  +
 5449   7134   
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
 5450   7135   
similarity index 99%
 5451   7136   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
 5452   7137   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 5453   7138   
index f6e3e9b..7c5236a 100644
 5454         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
        7139  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 5455   7140   
@@ -1,4 +1,4 @@
 5456   7141   
AWS4-ECDSA-P256-SHA256
 5457   7142   
20150830T123600Z
 5458   7143   
20150830/service/aws4_request
 5459         -
b92b1e85236a12f9d118f85fb6686c83b0e83fb3428f8d4da3cc9acb2851fcfa
        7144  +
b92b1e85236a12f9d118f85fb6686c83b0e83fb3428f8d4da3cc9acb2851fcfa
              \
 No newline at end of file
 5460   7145   
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
 5461   7146   
new file mode 100644
 5462   7147   
index 0000000..379dcb2
 5463         -
-- /dev/null
        7148  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 5464   7149   
@@ -0,0 +1,4 @@
        7150  +
{
        7151  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7152  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7153  +
}
 5465   7154   
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
 5466   7155   
similarity index 99%
 5467   7156   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
 5468   7157   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 5469   7158   
index 0ae73e1..2cf3f29 100644
 5470         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
        7159  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 5471   7160   
@@ -1,8 +1,8 @@
 5472   7161   
POST
 5473   7162   
/
 5474   7163   
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
 5475   7164   
host:example.amazonaws.com
 5476   7165   
my-header1:value1
 5477   7166   
 5478   7167   
host;my-header1
 5479         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7168  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5480   7169   
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
 5481   7170   
new file mode 100644
 5482   7171   
index 0000000..2a08401
 5483         -
-- /dev/null
        7172  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 5484   7173   
@@ -0,0 +1 @@
        7174  +
304502204f2a31513c9bea5c92dd8045e226dc1db150f768e60b538cacce157c623873dc022100ab5d654ce3c7b917656cec2cf58a3689159e89deed5241ca21e19a40173674c4
              \
 No newline at end of file
 5485   7175   
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
 5486   7176   
new file mode 100644
 5487   7177   
index 0000000..8d2343f
 5488         -
-- /dev/null
        7178  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 5489   7179   
@@ -0,0 +1,4 @@
        7180  +
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
        7181  +
Host:example.amazonaws.com
        7182  +
My-Header1:value1
        7183  +
 5490   7184   
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
 5491   7185   
similarity index 99%
 5492   7186   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
 5493   7187   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 5494   7188   
index 8cb96bf..2c4db7a 100644
 5495         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
        7189  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 5496   7190   
@@ -1,4 +1,4 @@
 5497   7191   
AWS4-ECDSA-P256-SHA256
 5498   7192   
20150830T123600Z
 5499   7193   
20150830/service/aws4_request
 5500         -
336638ab840d4785edc7db35ab9c036bc15ffb2dc1a4e05b04f3a7cd7407593f
        7194  +
336638ab840d4785edc7db35ab9c036bc15ffb2dc1a4e05b04f3a7cd7407593f
              \
 No newline at end of file
 5501   7195   
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
 5502   7196   
similarity index 69%
 5503   7197   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
 5504   7198   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 5505   7199   
index 0253f19..917720e 100644
 5506         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
        7200  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 5507   7201   
@@ -1,4 +1,3 @@
 5508   7202   
POST / HTTP/1.1
 5509   7203   
Host:example.amazonaws.com
 5510   7204   
My-Header1:value1
 5511         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5512   7205   
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
 5513   7206   
new file mode 100644
 5514   7207   
index 0000000..0468d80
 5515         -
-- /dev/null
        7208  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 5516   7209   
@@ -0,0 +1,12 @@
        7210  +
{
        7211  +
    "credentials": {
        7212  +
        "access_key_id": "AKIDEXAMPLE",
        7213  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7214  +
    },
        7215  +
    "expiration_in_seconds": 3600,
        7216  +
    "normalize": true,
        7217  +
    "region": "us-east-1",
        7218  +
    "service": "service",
        7219  +
    "sign_body": false,
        7220  +
    "timestamp": "2015-08-30T12:36:00Z"
        7221  +
}
              \
 No newline at end of file
 5517   7222   
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
 5518   7223   
similarity index 99%
 5519   7224   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
 5520   7225   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 5521   7226   
index 1dc3ef8..164e65c 100644
 5522         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
        7227  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 5523   7228   
@@ -1,10 +1,10 @@
 5524   7229   
POST
 5525   7230   
/
 5526   7231   
 5527   7232   
host:example.amazonaws.com
 5528   7233   
my-header1:VALUE1
 5529   7234   
x-amz-date:20150830T123600Z
 5530   7235   
x-amz-region-set:us-east-1
 5531   7236   
 5532   7237   
host;my-header1;x-amz-date;x-amz-region-set
 5533         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7238  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5534   7239   
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
 5535   7240   
new file mode 100644
 5536   7241   
index 0000000..7072b0e
 5537         -
-- /dev/null
        7242  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 5538   7243   
@@ -0,0 +1 @@
        7244  +
304402207b3baf259f5d29f13511eb4c9b236045c43168ca70369ed639611f4bff9eb6490220465e922e8b19146de9c70147440f4ee80a3318f0c756c8050dbfd641e6ff0456
              \
 No newline at end of file
 5539   7245   
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
 5540   7246   
new file mode 100644
 5541   7247   
index 0000000..17f5e3e
 5542         -
-- /dev/null
        7248  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 5543   7249   
@@ -0,0 +1,7 @@
        7250  +
POST / HTTP/1.1
        7251  +
Host:example.amazonaws.com
        7252  +
My-Header1:VALUE1
        7253  +
X-Amz-Date:20150830T123600Z
        7254  +
X-Amz-Region-Set:us-east-1
        7255  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022100c72dd4d54c45d3eb30858c6227e9512f41b7379b7c685e39e0cd39a793d7ee3102205c900d330270e31d2f7b5138fb3d791b6743f6f3b9ffbc34a4adcc8307591b11
        7256  +
 5544   7257   
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
 5545   7258   
similarity index 99%
 5546   7259   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
 5547   7260   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 5548   7261   
index 59c7e45..620f54e 100644
 5549         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
        7262  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 5550   7263   
@@ -1,4 +1,4 @@
 5551   7264   
AWS4-ECDSA-P256-SHA256
 5552   7265   
20150830T123600Z
 5553   7266   
20150830/service/aws4_request
 5554         -
7de5a74bc45fb5c8a90faada2ab9538e69e4a5eb7f330f62387715669cecd492
        7267  +
7de5a74bc45fb5c8a90faada2ab9538e69e4a5eb7f330f62387715669cecd492
              \
 No newline at end of file
 5555   7268   
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
 5556   7269   
new file mode 100644
 5557   7270   
index 0000000..379dcb2
 5558         -
-- /dev/null
        7271  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 5559   7272   
@@ -0,0 +1,4 @@
        7273  +
{
        7274  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7275  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7276  +
}
 5560   7277   
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
 5561   7278   
similarity index 99%
 5562   7279   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
 5563   7280   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 5564   7281   
index 377e6f3..23e0da3 100644
 5565         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
        7282  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 5566   7283   
@@ -1,8 +1,8 @@
 5567   7284   
POST
 5568   7285   
/
 5569   7286   
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
 5570   7287   
host:example.amazonaws.com
 5571   7288   
my-header1:VALUE1
 5572   7289   
 5573   7290   
host;my-header1
 5574         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7291  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5575   7292   
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
 5576   7293   
new file mode 100644
 5577   7294   
index 0000000..a18acb8
 5578         -
-- /dev/null
        7295  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 5579   7296   
@@ -0,0 +1 @@
        7297  +
30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
              \
 No newline at end of file
 5580   7298   
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
 5581   7299   
new file mode 100644
 5582   7300   
index 0000000..7cbdcfa
 5583         -
-- /dev/null
        7301  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 5584   7302   
@@ -0,0 +1,4 @@
        7303  +
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
        7304  +
Host:example.amazonaws.com
        7305  +
My-Header1:VALUE1
        7306  +
 5585   7307   
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
 5586   7308   
similarity index 99%
 5587   7309   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
 5588   7310   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 5589   7311   
index 84a7afd..0c90627 100644
 5590         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
        7312  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 5591   7313   
@@ -1,4 +1,4 @@
 5592   7314   
AWS4-ECDSA-P256-SHA256
 5593   7315   
20150830T123600Z
 5594   7316   
20150830/service/aws4_request
 5595         -
949fb555e05d3289760ff0f0566ad73a69ed865000d9843b93a15b916dbc8b6f
        7317  +
949fb555e05d3289760ff0f0566ad73a69ed865000d9843b93a15b916dbc8b6f
              \
 No newline at end of file
 5596   7318   
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
 5597   7319   
similarity index 69%
 5598   7320   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
 5599   7321   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 5600   7322   
index 3f9987a..5f14c91 100644
 5601         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
        7323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 5602   7324   
@@ -1,4 +1,3 @@
 5603   7325   
POST / HTTP/1.1
 5604   7326   
Host:example.amazonaws.com
 5605   7327   
My-Header1:VALUE1
 5606         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5607   7328   
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
 5608   7329   
new file mode 100644
 5609   7330   
index 0000000..8f1d5ce
 5610         -
-- /dev/null
        7331  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 5611   7332   
@@ -0,0 +1,14 @@
        7333  +
{
        7334  +
    "credentials": {
        7335  +
        "access_key_id": "AKIDEXAMPLE",
        7336  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        7337  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        7338  +
    },
        7339  +
    "expiration_in_seconds": 3600,
        7340  +
    "normalize": true,
        7341  +
    "region": "us-east-1",
        7342  +
    "service": "service",
        7343  +
    "sign_body": false,
        7344  +
    "timestamp": "2015-08-30T12:36:00Z",
        7345  +
    "omit_session_token": true
        7346  +
}
 5612   7347   
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
 5613   7348   
similarity index 99%
 5614   7349   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
 5615   7350   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 5616   7351   
index a6942c1..e881ac7 100644
 5617         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
        7352  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 5618   7353   
@@ -1,9 +1,9 @@
 5619   7354   
POST
 5620   7355   
/
 5621   7356   
 5622   7357   
host:example.amazonaws.com
 5623   7358   
x-amz-date:20150830T123600Z
 5624   7359   
x-amz-region-set:us-east-1
 5625   7360   
 5626   7361   
host;x-amz-date;x-amz-region-set
 5627         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7362  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5628   7363   
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
 5629   7364   
new file mode 100644
 5630   7365   
index 0000000..9c5ecb9
 5631         -
-- /dev/null
        7366  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 5632   7367   
@@ -0,0 +1 @@
        7368  +
3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
              \
 No newline at end of file
 5633   7369   
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
 5634   7370   
similarity index 52%
 5635   7371   
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
 5636   7372   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 5637   7373   
index 9d91775..61b6527 100644
 5638         -
-- 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
        7374  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 5639   7375   
@@ -1,4 +1,7 @@
 5640   7376   
POST / HTTP/1.1
 5641   7377   
Host:example.amazonaws.com
        7378  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 5642   7379   
X-Amz-Date:20150830T123600Z
 5643         -
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 No newline at end of file
        7380  +
X-Amz-Region-Set:us-east-1
        7381  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
        7382  +
 5644   7383   
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
 5645   7384   
similarity index 99%
 5646   7385   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
 5647   7386   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 5648   7387   
index d5650cb..f8adf13 100644
 5649         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
        7388  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 5650   7389   
@@ -1,4 +1,4 @@
 5651   7390   
AWS4-ECDSA-P256-SHA256
 5652   7391   
20150830T123600Z
 5653   7392   
20150830/service/aws4_request
 5654         -
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
        7393  +
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
              \
 No newline at end of file
 5655   7394   
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
 5656   7395   
new file mode 100644
 5657   7396   
index 0000000..379dcb2
 5658         -
-- /dev/null
        7397  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 5659   7398   
@@ -0,0 +1,4 @@
        7399  +
{
        7400  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7401  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7402  +
}
 5660   7403   
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
 5661   7404   
similarity index 99%
 5662   7405   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
 5663   7406   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 5664   7407   
index e48ce07..5ea8e3c 100644
 5665         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
        7408  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 5666   7409   
@@ -1,7 +1,7 @@
 5667   7410   
POST
 5668   7411   
/
 5669   7412   
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
 5670   7413   
host:example.amazonaws.com
 5671   7414   
 5672   7415   
host
 5673         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7416  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5674   7417   
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
 5675   7418   
new file mode 100644
 5676   7419   
index 0000000..ff8823a
 5677         -
-- /dev/null
        7420  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 5678   7421   
@@ -0,0 +1 @@
        7422  +
3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
              \
 No newline at end of file
 5679   7423   
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
 5680   7424   
new file mode 100644
 5681   7425   
index 0000000..cfac41b
 5682         -
-- /dev/null
        7426  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 5683   7427   
@@ -0,0 +1,3 @@
        7428  +
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
        7429  +
Host:example.amazonaws.com
        7430  +
 5684   7431   
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
 5685   7432   
similarity index 99%
 5686   7433   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
 5687   7434   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 5688   7435   
index 34e3382..711c162 100644
 5689         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
        7436  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 5690   7437   
@@ -1,4 +1,4 @@
 5691   7438   
AWS4-ECDSA-P256-SHA256
 5692   7439   
20150830T123600Z
 5693   7440   
20150830/service/aws4_request
 5694         -
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
        7441  +
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
              \
 No newline at end of file
 5695   7442   
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
 5696   7443   
similarity index 61%
 5697   7444   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
 5698   7445   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 5699   7446   
index 3dc4179..3f0a82a 100644
 5700         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
        7447  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 5701   7448   
@@ -1,3 +1,2 @@
 5702   7449   
POST / HTTP/1.1
 5703   7450   
Host:example.amazonaws.com
 5704         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5705   7451   
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
 5706   7452   
new file mode 100644
 5707   7453   
index 0000000..5187392
 5708         -
-- /dev/null
        7454  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 5709   7455   
@@ -0,0 +1,14 @@
        7456  +
{
        7457  +
    "credentials": {
        7458  +
        "access_key_id": "AKIDEXAMPLE",
        7459  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        7460  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        7461  +
    },
        7462  +
    "expiration_in_seconds": 3600,
        7463  +
    "normalize": true,
        7464  +
    "region": "us-east-1",
        7465  +
    "service": "service",
        7466  +
    "sign_body": false,
        7467  +
    "timestamp": "2015-08-30T12:36:00Z",
        7468  +
    "omit_session_token": false
        7469  +
}
 5710   7470   
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
 5711   7471   
similarity index 99%
 5712   7472   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
 5713   7473   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 5714   7474   
index dd408c8..e95924e 100644
 5715         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
        7475  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 5716   7476   
@@ -1,10 +1,10 @@
 5717   7477   
POST
 5718   7478   
/
 5719   7479   
 5720   7480   
host:example.amazonaws.com
 5721   7481   
x-amz-date:20150830T123600Z
 5722   7482   
x-amz-region-set:us-east-1
 5723   7483   
x-amz-security-token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 5724   7484   
 5725   7485   
host;x-amz-date;x-amz-region-set;x-amz-security-token
 5726         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7486  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5727   7487   
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
 5728   7488   
new file mode 100644
 5729   7489   
index 0000000..1573f07
 5730         -
-- /dev/null
        7490  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 5731   7491   
@@ -0,0 +1 @@
        7492  +
30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
              \
 No newline at end of file
 5732   7493   
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
 5733   7494   
new file mode 100644
 5734   7495   
index 0000000..6ef9a08
 5735         -
-- /dev/null
        7496  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 5736   7497   
@@ -0,0 +1,7 @@
        7498  +
POST / HTTP/1.1
        7499  +
Host:example.amazonaws.com
        7500  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        7501  +
X-Amz-Date:20150830T123600Z
        7502  +
X-Amz-Region-Set:us-east-1
        7503  +
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
        7504  +
 5737   7505   
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
 5738   7506   
similarity index 99%
 5739   7507   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
 5740   7508   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 5741   7509   
index f352b54..3c3235f 100644
 5742         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
        7510  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 5743   7511   
@@ -1,4 +1,4 @@
 5744   7512   
AWS4-ECDSA-P256-SHA256
 5745   7513   
20150830T123600Z
 5746   7514   
20150830/service/aws4_request
 5747         -
964c15d46a67b327b877c02d680c81cb75df04e85144142e190da565ff0d029f
        7515  +
964c15d46a67b327b877c02d680c81cb75df04e85144142e190da565ff0d029f
              \
 No newline at end of file
 5748   7516   
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
 5749   7517   
new file mode 100644
 5750   7518   
index 0000000..379dcb2
 5751         -
-- /dev/null
        7519  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 5752   7520   
@@ -0,0 +1,4 @@
        7521  +
{
        7522  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7523  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7524  +
}
 5753   7525   
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
 5754   7526   
similarity index 99%
 5755   7527   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
 5756   7528   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 5757   7529   
index 832cdc0..63b7de5 100644
 5758         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
        7530  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 5759   7531   
@@ -1,7 +1,7 @@
 5760   7532   
POST
 5761   7533   
/
 5762   7534   
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-Security-Token=AQoDYXdzEPT%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI%2FqkPpKPi%2FkMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d%2Bxo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz%2BscqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR%2FoLxBA%3D%3D&X-Amz-SignedHeaders=host
 5763   7535   
host:example.amazonaws.com
 5764   7536   
 5765   7537   
host
 5766         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7538  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5767   7539   
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
 5768   7540   
new file mode 100644
 5769   7541   
index 0000000..713f57c
 5770         -
-- /dev/null
        7542  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 5771   7543   
@@ -0,0 +1 @@
        7544  +
304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
              \
 No newline at end of file
 5772   7545   
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
 5773   7546   
new file mode 100644
 5774   7547   
index 0000000..32c3bb3
 5775         -
-- /dev/null
        7548  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 5776   7549   
@@ -0,0 +1,3 @@
        7550  +
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
        7551  +
Host:example.amazonaws.com
        7552  +
 5777   7553   
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
 5778   7554   
similarity index 99%
 5779   7555   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
 5780   7556   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 5781   7557   
index d7f3668..b46cd8c 100644
 5782         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
        7558  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 5783   7559   
@@ -1,4 +1,4 @@
 5784   7560   
AWS4-ECDSA-P256-SHA256
 5785   7561   
20150830T123600Z
 5786   7562   
20150830/service/aws4_request
 5787         -
c3a8ba26c461df46b5010b756fb8644fd922a2aea95d77b56295e5e4d3bb155f
        7563  +
c3a8ba26c461df46b5010b756fb8644fd922a2aea95d77b56295e5e4d3bb155f
              \
 No newline at end of file
 5788   7564   
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
 5789   7565   
similarity index 60%
 5790   7566   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
 5791   7567   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 5792   7568   
index 8b5efc8..3f0a82a 100644
 5793         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
        7569  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 5794   7570   
@@ -1,3 +1,2 @@
 5795   7571   
POST / HTTP/1.1
 5796   7572   
Host:example.amazonaws.com
 5797         -
X-Amz-Date:20150830T123600Z
 5798   7573   
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
 5799   7574   
new file mode 100644
 5800   7575   
index 0000000..0468d80
 5801         -
-- /dev/null
        7576  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 5802   7577   
@@ -0,0 +1,12 @@
        7578  +
{
        7579  +
    "credentials": {
        7580  +
        "access_key_id": "AKIDEXAMPLE",
        7581  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7582  +
    },
        7583  +
    "expiration_in_seconds": 3600,
        7584  +
    "normalize": true,
        7585  +
    "region": "us-east-1",
        7586  +
    "service": "service",
        7587  +
    "sign_body": false,
        7588  +
    "timestamp": "2015-08-30T12:36:00Z"
        7589  +
}
              \
 No newline at end of file
 5803   7590   
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
 5804   7591   
similarity index 99%
 5805   7592   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
 5806   7593   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 5807   7594   
index 02af60f..34b8c11 100644
 5808         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
        7595  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 5809   7596   
@@ -1,9 +1,9 @@
 5810   7597   
POST
 5811   7598   
/
 5812   7599   
Param1=value1
 5813   7600   
host:example.amazonaws.com
 5814   7601   
x-amz-date:20150830T123600Z
 5815   7602   
x-amz-region-set:us-east-1
 5816   7603   
 5817   7604   
host;x-amz-date;x-amz-region-set
 5818         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7605  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5819   7606   
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
 5820   7607   
new file mode 100644
 5821   7608   
index 0000000..aac6427
 5822         -
-- /dev/null
        7609  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 5823   7610   
@@ -0,0 +1 @@
        7611  +
3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
              \
 No newline at end of file
 5824   7612   
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
 5825   7613   
new file mode 100644
 5826   7614   
index 0000000..a611436
 5827         -
-- /dev/null
        7615  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 5828   7616   
@@ -0,0 +1,6 @@
        7617  +
POST /?Param1=value1 HTTP/1.1
        7618  +
Host:example.amazonaws.com
        7619  +
X-Amz-Date:20150830T123600Z
        7620  +
X-Amz-Region-Set:us-east-1
        7621  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
        7622  +
 5829   7623   
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
 5830   7624   
similarity index 99%
 5831   7625   
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
 5832   7626   
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
 5833   7627   
index 4256b4f..ad88dff 100644
 5834         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-string-to-sign.txt
        7628  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-string-to-sign.txt
 5835   7629   
@@ -1,4 +1,4 @@
 5836   7630   
AWS4-ECDSA-P256-SHA256
 5837   7631   
20150830T123600Z
 5838   7632   
20150830/service/aws4_request
 5839         -
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
        7633  +
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
              \
 No newline at end of file
 5840   7634   
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
 5841   7635   
new file mode 100644
 5842   7636   
index 0000000..379dcb2
 5843         -
-- /dev/null
        7637  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 5844   7638   
@@ -0,0 +1,4 @@
        7639  +
{
        7640  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7641  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7642  +
}
 5845   7643   
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
 5846   7644   
similarity index 99%
 5847   7645   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
 5848   7646   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 5849   7647   
index fa84bbd..76d5ad6 100644
 5850         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
        7648  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 5851   7649   
@@ -1,7 +1,7 @@
 5852   7650   
POST
 5853   7651   
/
 5854   7652   
Param1=value1&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
 5855   7653   
host:example.amazonaws.com
 5856   7654   
 5857   7655   
host
 5858         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7656  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5859   7657   
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
 5860   7658   
new file mode 100644
 5861   7659   
index 0000000..4cb1c94
 5862         -
-- /dev/null
        7660  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 5863   7661   
@@ -0,0 +1 @@
        7662  +
3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
              \
 No newline at end of file
 5864   7663   
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
 5865   7664   
new file mode 100644
 5866   7665   
index 0000000..bd22b97
 5867         -
-- /dev/null
        7666  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 5868   7667   
@@ -0,0 +1,3 @@
        7668  +
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
        7669  +
Host:example.amazonaws.com
        7670  +
 5869   7671   
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
 5870   7672   
similarity index 99%
 5871   7673   
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
 5872   7674   
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
 5873   7675   
index de270ef..8c9d319 100644
 5874         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-string-to-sign.txt
        7676  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-string-to-sign.txt
 5875   7677   
@@ -1,4 +1,4 @@
 5876   7678   
AWS4-ECDSA-P256-SHA256
 5877   7679   
20150830T123600Z
 5878   7680   
20150830/service/aws4_request
 5879         -
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
        7681  +
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
              \
 No newline at end of file
 5880   7682   
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
 5881   7683   
similarity index 67%
 5882   7684   
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
 5883   7685   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 5884   7686   
index 9157bc7..c9d6e5d 100644
 5885         -
-- 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
        7687  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 5886   7688   
@@ -1,3 +1,2 @@
 5887   7689   
POST /?Param1=value1 HTTP/1.1
 5888   7690   
Host:example.amazonaws.com
 5889         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5890   7691   
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
 5891   7692   
new file mode 100644
 5892   7693   
index 0000000..0468d80
 5893         -
-- /dev/null
        7694  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 5894   7695   
@@ -0,0 +1,12 @@
        7696  +
{
        7697  +
    "credentials": {
        7698  +
        "access_key_id": "AKIDEXAMPLE",
        7699  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7700  +
    },
        7701  +
    "expiration_in_seconds": 3600,
        7702  +
    "normalize": true,
        7703  +
    "region": "us-east-1",
        7704  +
    "service": "service",
        7705  +
    "sign_body": false,
        7706  +
    "timestamp": "2015-08-30T12:36:00Z"
        7707  +
}
              \
 No newline at end of file
 5895   7708   
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
 5896   7709   
similarity index 99%
 5897   7710   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
 5898   7711   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 5899   7712   
index 02af60f..34b8c11 100644
 5900         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
        7713  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 5901   7714   
@@ -1,9 +1,9 @@
 5902   7715   
POST
 5903   7716   
/
 5904   7717   
Param1=value1
 5905   7718   
host:example.amazonaws.com
 5906   7719   
x-amz-date:20150830T123600Z
 5907   7720   
x-amz-region-set:us-east-1
 5908   7721   
 5909   7722   
host;x-amz-date;x-amz-region-set
 5910         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7723  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5911   7724   
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
 5912   7725   
new file mode 100644
 5913   7726   
index 0000000..34f75c8
 5914         -
-- /dev/null
        7727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 5915   7728   
@@ -0,0 +1 @@
        7729  +
3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
              \
 No newline at end of file
 5916   7730   
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
 5917   7731   
new file mode 100644
 5918   7732   
index 0000000..c731408
 5919         -
-- /dev/null
        7733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 5920   7734   
@@ -0,0 +1,6 @@
        7735  +
POST /?Param1=value1 HTTP/1.1
        7736  +
Host:example.amazonaws.com
        7737  +
X-Amz-Date:20150830T123600Z
        7738  +
X-Amz-Region-Set:us-east-1
        7739  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
        7740  +
 5921   7741   
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
 5922   7742   
similarity index 99%
 5923   7743   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
 5924   7744   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 5925   7745   
index 4256b4f..ad88dff 100644
 5926         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
        7746  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 5927   7747   
@@ -1,4 +1,4 @@
 5928   7748   
AWS4-ECDSA-P256-SHA256
 5929   7749   
20150830T123600Z
 5930   7750   
20150830/service/aws4_request
 5931         -
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
        7751  +
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
              \
 No newline at end of file
 5932   7752   
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
 5933   7753   
new file mode 100644
 5934   7754   
index 0000000..379dcb2
 5935         -
-- /dev/null
        7755  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 5936   7756   
@@ -0,0 +1,4 @@
        7757  +
{
        7758  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7759  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7760  +
}
 5937   7761   
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
 5938   7762   
similarity index 99%
 5939   7763   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
 5940   7764   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 5941   7765   
index fa84bbd..76d5ad6 100644
 5942         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
        7766  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 5943   7767   
@@ -1,7 +1,7 @@
 5944   7768   
POST
 5945   7769   
/
 5946   7770   
Param1=value1&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
 5947   7771   
host:example.amazonaws.com
 5948   7772   
 5949   7773   
host
 5950         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7774  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5951   7775   
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
 5952   7776   
new file mode 100644
 5953   7777   
index 0000000..ae000d6
 5954         -
-- /dev/null
        7778  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 5955   7779   
@@ -0,0 +1 @@
        7780  +
304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
              \
 No newline at end of file
 5956   7781   
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
 5957   7782   
new file mode 100644
 5958   7783   
index 0000000..a868f7d
 5959         -
-- /dev/null
        7784  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 5960   7785   
@@ -0,0 +1,3 @@
        7786  +
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
        7787  +
Host:example.amazonaws.com
        7788  +
 5961   7789   
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
 5962   7790   
similarity index 99%
 5963   7791   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
 5964   7792   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 5965   7793   
index de270ef..8c9d319 100644
 5966         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
        7794  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 5967   7795   
@@ -1,4 +1,4 @@
 5968   7796   
AWS4-ECDSA-P256-SHA256
 5969   7797   
20150830T123600Z
 5970   7798   
20150830/service/aws4_request
 5971         -
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
        7799  +
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
              \
 No newline at end of file
 5972   7800   
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
 5973   7801   
similarity index 67%
 5974   7802   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
 5975   7803   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 5976   7804   
index 9157bc7..c9d6e5d 100644
 5977         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
        7805  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 5978   7806   
@@ -1,3 +1,2 @@
 5979   7807   
POST /?Param1=value1 HTTP/1.1
 5980   7808   
Host:example.amazonaws.com
 5981         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5982   7809   
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
 5983   7810   
new file mode 100644
 5984   7811   
index 0000000..0468d80
 5985         -
-- /dev/null
        7812  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 5986   7813   
@@ -0,0 +1,12 @@
        7814  +
{
        7815  +
    "credentials": {
        7816  +
        "access_key_id": "AKIDEXAMPLE",
        7817  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7818  +
    },
        7819  +
    "expiration_in_seconds": 3600,
        7820  +
    "normalize": true,
        7821  +
    "region": "us-east-1",
        7822  +
    "service": "service",
        7823  +
    "sign_body": false,
        7824  +
    "timestamp": "2015-08-30T12:36:00Z"
        7825  +
}
              \
 No newline at end of file
 5987   7826   
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
 5988   7827   
similarity index 99%
 5989   7828   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
 5990   7829   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 5991   7830   
index a6942c1..e881ac7 100644
 5992         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
        7831  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 5993   7832   
@@ -1,9 +1,9 @@
 5994   7833   
POST
 5995   7834   
/
 5996   7835   
 5997   7836   
host:example.amazonaws.com
 5998   7837   
x-amz-date:20150830T123600Z
 5999   7838   
x-amz-region-set:us-east-1
 6000   7839   
 6001   7840   
host;x-amz-date;x-amz-region-set
 6002         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7841  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 6003   7842   
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
 6004   7843   
new file mode 100644
 6005   7844   
index 0000000..7c5e47b
 6006         -
-- /dev/null
        7845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 6007   7846   
@@ -0,0 +1 @@
        7847  +
3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
              \
 No newline at end of file
 6008   7848   
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
 6009   7849   
new file mode 100644
 6010   7850   
index 0000000..c0e50a0
 6011         -
-- /dev/null
        7851  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 6012   7852   
@@ -0,0 +1,6 @@
        7853  +
POST / HTTP/1.1
        7854  +
Host:example.amazonaws.com
        7855  +
X-Amz-Date:20150830T123600Z
        7856  +
X-Amz-Region-Set:us-east-1
        7857  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
        7858  +
 6013   7859   
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
 6014   7860   
similarity index 99%
 6015   7861   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
 6016   7862   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 6017   7863   
index d5650cb..f8adf13 100644
 6018         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
        7864  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 6019   7865   
@@ -1,4 +1,4 @@
 6020   7866   
AWS4-ECDSA-P256-SHA256
 6021   7867   
20150830T123600Z
 6022   7868   
20150830/service/aws4_request
 6023         -
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
        7869  +
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
              \
 No newline at end of file
 6024   7870   
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
 6025   7871   
new file mode 100644
 6026   7872   
index 0000000..379dcb2
 6027         -
-- /dev/null
        7873  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 6028   7874   
@@ -0,0 +1,4 @@
        7875  +
{
        7876  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7877  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7878  +
}
 6029   7879   
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
 6030   7880   
similarity index 99%
 6031   7881   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
 6032   7882   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 6033   7883   
index e48ce07..5ea8e3c 100644
 6034         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
        7884  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 6035   7885   
@@ -1,7 +1,7 @@
 6036   7886   
POST
 6037   7887   
/
 6038   7888   
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
 6039   7889   
host:example.amazonaws.com
 6040   7890   
 6041   7891   
host
 6042         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7892  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 6043   7893   
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
 6044   7894   
new file mode 100644
 6045   7895   
index 0000000..ea8e3b4
 6046         -
-- /dev/null
        7896  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 6047   7897   
@@ -0,0 +1 @@
        7898  +
30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
              \
 No newline at end of file
 6048   7899   
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
 6049   7900   
new file mode 100644
 6050   7901   
index 0000000..616973f
 6051         -
-- /dev/null
        7902  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 6052   7903   
@@ -0,0 +1,3 @@
        7904  +
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
        7905  +
Host:example.amazonaws.com
        7906  +
 6053   7907   
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
 6054   7908   
similarity index 99%
 6055   7909   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
 6056   7910   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 6057   7911   
index 34e3382..711c162 100644
 6058         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
        7912  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 6059   7913   
@@ -1,4 +1,4 @@
 6060   7914   
AWS4-ECDSA-P256-SHA256
 6061   7915   
20150830T123600Z
 6062   7916   
20150830/service/aws4_request
 6063         -
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
        7917  +
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
              \
 No newline at end of file
 6064   7918   
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
 6065   7919   
new file mode 100644
 6066   7920   
index 0000000..3f0a82a
 6067         -
-- /dev/null
        7921  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 6068   7922   
@@ -0,0 +1,2 @@
        7923  +
POST / HTTP/1.1
        7924  +
Host:example.amazonaws.com
 6069   7925   
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
 6070   7926   
new file mode 100644
 6071   7927   
index 0000000..0db1df1
 6072         -
-- /dev/null
        7928  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 6073   7929   
@@ -0,0 +1,12 @@
        7930  +
{
        7931  +
    "credentials": {
        7932  +
        "access_key_id": "AKIDEXAMPLE",
        7933  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7934  +
    },
        7935  +
    "expiration_in_seconds": 3600,
        7936  +
    "normalize": true,
        7937  +
    "region": "us-east-1",
        7938  +
    "service": "service",
        7939  +
    "sign_body": true,
        7940  +
    "timestamp": "2015-08-30T12:36:00Z"
        7941  +
}
              \
 No newline at end of file
 6074   7942   
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
 6075   7943   
similarity index 62%
 6076   7944   
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
 6077   7945   
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
 6078   7946   
index 05ab787..62639b2 100644
 6079         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
        7947  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 6080   7948   
@@ -1,12 +1,12 @@
 6081   7949   
POST
 6082   7950   
/
 6083   7951   
 6084   7952   
content-length:13
 6085   7953   
content-type:application/x-www-form-urlencoded; charset=utf-8
 6086   7954   
host:example.amazonaws.com
 6087         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7955  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 6088   7956   
x-amz-date:20150830T123600Z
 6089   7957   
x-amz-region-set:us-east-1
 6090   7958   
 6091   7959   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 6092         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7960  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6093   7961   
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
 6094   7962   
new file mode 100644
 6095   7963   
index 0000000..006ec2e
 6096         -
-- /dev/null
        7964  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 6097   7965   
@@ -0,0 +1 @@
        7966  +
3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
              \
 No newline at end of file
 6098   7967   
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
 6099   7968   
new file mode 100644
 6100   7969   
index 0000000..87a11f2
 6101         -
-- /dev/null
        7970  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 6102   7971   
@@ -0,0 +1,10 @@
        7972  +
POST / HTTP/1.1
        7973  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        7974  +
Host:example.amazonaws.com
        7975  +
Content-Length:13
        7976  +
X-Amz-Date:20150830T123600Z
        7977  +
X-Amz-Region-Set:us-east-1
        7978  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        7979  +
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
        7980  +
        7981  +
Param1=value1
              \
 No newline at end of file
 6103   7982   
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
 6104   7983   
new file mode 100644
 6105   7984   
index 0000000..c047afb
 6106         -
-- /dev/null
        7985  +
++ 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
 6107   7986   
@@ -0,0 +1,4 @@
        7987  +
AWS4-ECDSA-P256-SHA256
        7988  +
20150830T123600Z
        7989  +
20150830/service/aws4_request
        7990  +
bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
              \
 No newline at end of file
 6108   7991   
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
 6109   7992   
new file mode 100644
 6110   7993   
index 0000000..379dcb2
 6111         -
-- /dev/null
        7994  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 6112   7995   
@@ -0,0 +1,4 @@
        7996  +
{
        7997  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7998  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7999  +
}
 6113   8000   
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
 6114   8001   
similarity index 85%
 6115   8002   
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
 6116   8003   
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
 6117   8004   
index fcc454f..6933a8c 100644
 6118         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
        8005  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 6119   8006   
@@ -1,9 +1,9 @@
 6120   8007   
POST
 6121   8008   
/
 6122   8009   
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
 6123   8010   
content-length:13
 6124   8011   
content-type:application/x-www-form-urlencoded; charset=utf-8
 6125   8012   
host:example.amazonaws.com
 6126   8013   
 6127   8014   
content-length;content-type;host
 6128         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        8015  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6129   8016   
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
 6130   8017   
new file mode 100644
 6131   8018   
index 0000000..34a2e12
 6132         -
-- /dev/null
        8019  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 6133   8020   
@@ -0,0 +1 @@
        8021  +
3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
              \
 No newline at end of file
 6134   8022   
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
 6135   8023   
new file mode 100644
 6136   8024   
index 0000000..197b99e
 6137         -
-- /dev/null
        8025  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 6138   8026   
@@ -0,0 +1,6 @@
        8027  +
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
        8028  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        8029  +
Host:example.amazonaws.com
        8030  +
Content-Length:13
        8031  +
        8032  +
Param1=value1
              \
 No newline at end of file
 6139   8033   
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
 6140   8034   
new file mode 100644
 6141   8035   
index 0000000..9d2bc74
 6142         -
-- /dev/null
        8036  +
++ 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
 6143   8037   
@@ -0,0 +1,4 @@
        8038  +
AWS4-ECDSA-P256-SHA256
        8039  +
20150830T123600Z
        8040  +
20150830/service/aws4_request
        8041  +
d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
              \
 No newline at end of file
 6144   8042   
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
 6145   8043   
similarity index 80%
 6146   8044   
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
 6147   8045   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 6148   8046   
index 36015f1..8289eaa 100644
 6149         -
-- 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
        8047  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 6150   8048   
@@ -1,6 +1,6 @@
 6151   8049   
POST / HTTP/1.1
 6152   8050   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 6153   8051   
Host:example.amazonaws.com
 6154         -
X-Amz-Date:20150830T123600Z
        8052  +
Content-Length:13
 6155   8053   
 6156   8054   
Param1=value1
              \
 No newline at end of file
 6157   8055   
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
 6158   8056   
new file mode 100644
 6159   8057   
index 0000000..0db1df1
 6160         -
-- /dev/null
        8058  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 6161   8059   
@@ -0,0 +1,12 @@
        8060  +
{
        8061  +
    "credentials": {
        8062  +
        "access_key_id": "AKIDEXAMPLE",
        8063  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        8064  +
    },
        8065  +
    "expiration_in_seconds": 3600,
        8066  +
    "normalize": true,
        8067  +
    "region": "us-east-1",
        8068  +
    "service": "service",
        8069  +
    "sign_body": true,
        8070  +
    "timestamp": "2015-08-30T12:36:00Z"
        8071  +
}
              \
 No newline at end of file
 6162   8072   
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
 6163   8073   
similarity index 61%
 6164   8074   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
 6165   8075   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 6166   8076   
index 69009dc..797632b 100644
 6167         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
        8077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 6168   8078   
@@ -1,12 +1,12 @@
 6169   8079   
POST
 6170   8080   
/
 6171   8081   
 6172   8082   
content-length:13
 6173   8083   
content-type:application/x-www-form-urlencoded
 6174   8084   
host:example.amazonaws.com
 6175         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        8085  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 6176   8086   
x-amz-date:20150830T123600Z
 6177   8087   
x-amz-region-set:us-east-1
 6178   8088   
 6179   8089   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 6180         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        8090  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6181   8091   
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
 6182   8092   
new file mode 100644
 6183   8093   
index 0000000..f5a641c
 6184         -
-- /dev/null
        8094  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 6185   8095   
@@ -0,0 +1 @@
        8096  +
304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
              \
 No newline at end of file
 6186   8097   
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
 6187   8098   
new file mode 100644
 6188   8099   
index 0000000..7bd94a7
 6189         -
-- /dev/null
        8100  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 6190   8101   
@@ -0,0 +1,10 @@
        8102  +
POST / HTTP/1.1
        8103  +
Content-Type:application/x-www-form-urlencoded
        8104  +
Host:example.amazonaws.com
        8105  +
Content-Length:13
        8106  +
X-Amz-Date:20150830T123600Z
        8107  +
X-Amz-Region-Set:us-east-1
        8108  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        8109  +
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
        8110  +
        8111  +
Param1=value1
              \
 No newline at end of file
 6191   8112   
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
 6192   8113   
new file mode 100644
 6193   8114   
index 0000000..8d25ba9
 6194         -
-- /dev/null
        8115  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 6195   8116   
@@ -0,0 +1,4 @@
        8117  +
AWS4-ECDSA-P256-SHA256
        8118  +
20150830T123600Z
        8119  +
20150830/service/aws4_request
        8120  +
ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
              \
 No newline at end of file
 6196   8121   
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
 6197   8122   
new file mode 100644
 6198   8123   
index 0000000..379dcb2
 6199         -
-- /dev/null
        8124  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 6200   8125   
@@ -0,0 +1,4 @@
        8126  +
{
        8127  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        8128  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        8129  +
}
 6201   8130   
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
 6202   8131   
similarity index 99%
 6203   8132   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
 6204   8133   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 6205   8134   
index 9ed065b..563ff58 100644
 6206         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
        8135  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 6207   8136   
@@ -1,9 +1,9 @@
 6208   8137   
POST
 6209   8138   
/
 6210   8139   
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
 6211   8140   
content-length:13
 6212   8141   
content-type:application/x-www-form-urlencoded
 6213   8142   
host:example.amazonaws.com
 6214   8143   
 6215   8144   
content-length;content-type;host
 6216         -
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        8145  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6217   8146   
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
 6218   8147   
new file mode 100644
 6219   8148   
index 0000000..0c77daf
 6220         -
-- /dev/null
        8149  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 6221   8150   
@@ -0,0 +1 @@
        8151  +
304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
              \
 No newline at end of file
 6222   8152   
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
 6223   8153   
new file mode 100644
 6224   8154   
index 0000000..71d6de9
 6225         -
-- /dev/null
        8155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 6226   8156   
@@ -0,0 +1,6 @@
        8157  +
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
        8158  +
Content-Type:application/x-www-form-urlencoded
        8159  +
Host:example.amazonaws.com
        8160  +
Content-Length:13
        8161  +
        8162  +
Param1=value1
              \
 No newline at end of file
 6227   8163   
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
 6228   8164   
similarity index 99%
 6229   8165   
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
 6230   8166   
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
 6231   8167   
index bef3143..cc7a224 100644
 6232         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-string-to-sign.txt
        8168  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-string-to-sign.txt
 6233   8169   
@@ -1,4 +1,4 @@
 6234   8170   
AWS4-ECDSA-P256-SHA256
 6235   8171   
20150830T123600Z
 6236   8172   
20150830/service/aws4_request
 6237         -
4e4122984d30d13170a298ece62cc30f8da12578fb3b482616b1f11036b13934
        8173  +
4e4122984d30d13170a298ece62cc30f8da12578fb3b482616b1f11036b13934
              \
 No newline at end of file
 6238   8174   
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
 6239   8175   
new file mode 100644
 6240   8176   
index 0000000..760b2d3
 6241         -
-- /dev/null
        8177  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 6242   8178   
@@ -0,0 +1,6 @@
        8179  +
POST / HTTP/1.1
        8180  +
Content-Type:application/x-www-form-urlencoded
        8181  +
Host:example.amazonaws.com
        8182  +
Content-Length:13
        8183  +
        8184  +
Param1=value1
              \
 No newline at end of file
 6243   8185   
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
 6244   8186   
index 9bd636f..b53f33f 100644
 6245         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
        8187  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 6246   8188   
@@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
 6247   8189   
            params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
 6248   8190   
        }
 6249   8191   
 6250   8192   
        if let SignatureValues::QueryParams(values) = values {
 6251   8193   
            add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
 6252   8194   
            add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
 6253   8195   
 6254   8196   
            #[cfg(feature = "sigv4a")]
 6255   8197   
            if let Some(regions) = values.region_set {
 6256   8198   
                add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
 6257   8199   
            }
 6258   8200   
 6259   8201   
            add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
 6260   8202   
            add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
 6261   8203   
            add_param(
 6262   8204   
                &mut params,
 6263   8205   
                param::X_AMZ_SIGNED_HEADERS,
 6264   8206   
                values.signed_headers.as_str(),
 6265   8207   
            );
 6266   8208   
 6267   8209   
            if let Some(security_token) = values.security_token {
 6268   8210   
                add_param(
 6269   8211   
                    &mut params,
 6270   8212   
                    settings
 6271   8213   
                        .session_token_name_override
 6272   8214   
                        .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
 6273   8215   
                    security_token,
 6274   8216   
                );
 6275   8217   
            }
 6276   8218   
        }
 6277         -
        // Sort by param name, and then by param value
        8219  +
        8220  +
        // Sort on the _encoded_ key/value pairs
        8221  +
        let mut params: Vec<(String, String)> = params
        8222  +
            .into_iter()
        8223  +
            .map(|x| {
        8224  +
                use aws_smithy_http::query::fmt_string;
        8225  +
                let enc_k = fmt_string(&x.0);
        8226  +
                let enc_v = fmt_string(&x.1);
        8227  +
                (enc_k, enc_v)
        8228  +
            })
        8229  +
            .collect();
        8230  +
 6278   8231   
        params.sort();
 6279   8232   
 6280   8233   
        let mut query = QueryWriter::new(uri);
 6281   8234   
        query.clear_params();
 6282   8235   
        for (key, value) in params {
 6283         -
            query.insert(&key, &value);
        8236  +
            query.insert_encoded(&key, &value);
 6284   8237   
        }
 6285   8238   
 6286   8239   
        let query = query.build_query();
 6287   8240   
        if query.is_empty() {
 6288   8241   
            None
 6289   8242   
        } else {
 6290   8243   
            Some(query)
 6291   8244   
        }
 6292   8245   
    }
 6293   8246   
 6294   8247   
    fn insert_host_header(
 6295   8248   
        canonical_headers: &mut HeaderMap<HeaderValue>,
 6296   8249   
        uri: &Uri,
 6297   8250   
    ) -> HeaderValue {
 6298   8251   
        match canonical_headers.get(&HOST) {
 6299   8252   
            Some(header) => header.clone(),
 6300   8253   
            None => {
 6301   8254   
                let port = uri.port();
 6302   8255   
                let scheme = uri.scheme();
 6303   8256   
                let authority = uri
 6304   8257   
                    .authority()
 6305   8258   
                    .expect("request uri authority must be set for signing")
 6306   8259   
                    .as_str();
 6307   8260   
                let host = uri
 6308   8261   
                    .host()
 6309   8262   
                    .expect("request uri host must be set for signing");
 6310   8263   
 6311   8264   
                // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
 6312   8265   
                // Host header when signing since RFC 2616 indicates that the default port should not be
 6313   8266   
                // sent in the Host header (and Hyper strips default ports if they are present)
 6314   8267   
@@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
 6315   8268   
            service,
 6316   8269   
            hashed_creq,
 6317   8270   
            signature_version: SignatureVersion::V4a,
 6318   8271   
        }
 6319   8272   
    }
 6320   8273   
}
 6321   8274   
 6322   8275   
impl fmt::Display for StringToSign<'_> {
 6323   8276   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 6324   8277   
        write!(
 6325   8278   
            f,
 6326   8279   
            "{}\n{}\n{}\n{}",
 6327   8280   
            self.algorithm,
 6328   8281   
            format_date_time(self.time),
 6329   8282   
            match self.signature_version {
 6330   8283   
                SignatureVersion::V4 => self.scope.to_string(),
 6331   8284   
                SignatureVersion::V4a => self.scope.v4a_display(),
 6332   8285   
            },
 6333   8286   
            self.hashed_creq
 6334   8287   
        )
 6335   8288   
    }
 6336   8289   
}
 6337   8290   
 6338   8291   
#[cfg(test)]
 6339   8292   
mod tests {
 6340   8293   
    use crate::date_time::test_parsers::parse_date_time;
 6341   8294   
    use crate::http_request::canonical_request::{
 6342   8295   
        normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
 6343   8296   
    };
 6344   8297   
    use crate::http_request::test;
        8298  +
    use crate::http_request::test::SigningSuiteTest;
 6345   8299   
    use crate::http_request::{
 6346   8300   
        PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
 6347   8301   
        SigningParams, SigningSettings,
 6348   8302   
    };
 6349   8303   
    use crate::sign::v4;
 6350   8304   
    use crate::sign::v4::sha256_hex_string;
 6351   8305   
    use aws_credential_types::Credentials;
 6352   8306   
    use aws_smithy_http::query_writer::QueryWriter;
 6353   8307   
    use aws_smithy_runtime_api::client::identity::Identity;
 6354   8308   
    use http0::{HeaderValue, Uri};
 6355   8309   
    use pretty_assertions::assert_eq;
 6356   8310   
    use proptest::{prelude::*, proptest};
 6357   8311   
    use std::borrow::Cow;
 6358   8312   
    use std::time::Duration;
 6359   8313   
 6360   8314   
    fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
 6361   8315   
        v4::signing_params::Builder::default()
 6362   8316   
            .identity(identity)
 6363   8317   
            .region("test-region")
 6364   8318   
            .name("testservicename")
 6365   8319   
            .time(parse_date_time("20210511T154045Z").unwrap())
 6366   8320   
            .settings(settings)
 6367   8321   
            .build()
 6368   8322   
            .unwrap()
 6369   8323   
            .into()
 6370   8324   
    }
 6371   8325   
 6372   8326   
    #[test]
 6373   8327   
    fn test_repeated_header() {
 6374         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        8328  +
        let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8329  +
        let mut req = test.request();
 6375   8330   
        req.headers.push((
 6376   8331   
            "x-amz-object-attributes".to_string(),
 6377   8332   
            "Checksum".to_string(),
 6378   8333   
        ));
 6379   8334   
        req.headers.push((
 6380   8335   
            "x-amz-object-attributes".to_string(),
 6381   8336   
            "ObjectSize".to_string(),
 6382   8337   
        ));
 6383   8338   
        let req = SignableRequest::from(&req);
 6384   8339   
        let settings = SigningSettings {
 6385   8340   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6386   8341   
            session_token_mode: SessionTokenMode::Exclude,
 6387   8342   
            ..Default::default()
 6388   8343   
        };
 6389   8344   
        let identity = Credentials::for_tests().into();
 6390   8345   
        let signing_params = signing_params(&identity, settings);
 6391   8346   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6392   8347   
 6393   8348   
        assert_eq!(
 6394   8349   
            creq.values.signed_headers().to_string(),
 6395   8350   
            "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
 6396   8351   
        );
 6397   8352   
        assert_eq!(
 6398   8353   
            creq.header_values_for("x-amz-object-attributes"),
 6399   8354   
            "Checksum,ObjectSize",
 6400   8355   
        );
 6401   8356   
    }
 6402   8357   
 6403   8358   
    #[test]
 6404   8359   
    fn test_host_header_properly_handles_ports() {
 6405   8360   
        fn host_header_test_setup(endpoint: String) -> String {
 6406         -
            let mut req = test::v4::test_request("get-vanilla");
        8361  +
            let test = SigningSuiteTest::v4("get-vanilla");
        8362  +
            let mut req = test.request();
 6407   8363   
            req.uri = endpoint;
 6408   8364   
            let req = SignableRequest::from(&req);
 6409   8365   
            let settings = SigningSettings {
 6410   8366   
                payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6411   8367   
                session_token_mode: SessionTokenMode::Exclude,
 6412   8368   
                ..Default::default()
 6413   8369   
            };
 6414   8370   
            let identity = Credentials::for_tests().into();
 6415   8371   
            let signing_params = signing_params(&identity, settings);
 6416   8372   
            let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6417   8373   
            creq.header_values_for("host")
 6418   8374   
        }
 6419   8375   
 6420   8376   
        // HTTP request with 80 port should not be signed with that port
 6421   8377   
        let http_80_host_header = host_header_test_setup("http://localhost:80".into());
 6422   8378   
        assert_eq!(http_80_host_header, "localhost",);
 6423   8379   
 6424   8380   
        // HTTP request with non-80 port should be signed with that port
 6425   8381   
        let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
 6426   8382   
        assert_eq!(http_1234_host_header, "localhost:1234",);
 6427   8383   
 6428   8384   
        // HTTPS request with 443 port should not be signed with that port
 6429   8385   
        let https_443_host_header = host_header_test_setup("https://localhost:443".into());
 6430   8386   
        assert_eq!(https_443_host_header, "localhost",);
 6431   8387   
 6432   8388   
        // HTTPS request with non-443 port should be signed with that port
 6433   8389   
        let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
 6434   8390   
        assert_eq!(https_1234_host_header, "localhost:1234",);
 6435   8391   
    }
 6436   8392   
 6437   8393   
    #[test]
 6438   8394   
    fn test_set_xamz_sha_256() {
 6439         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        8395  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8396  +
        let req = test.request();
 6440   8397   
        let req = SignableRequest::from(&req);
 6441   8398   
        let settings = SigningSettings {
 6442   8399   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6443   8400   
            session_token_mode: SessionTokenMode::Exclude,
 6444   8401   
            ..Default::default()
 6445   8402   
        };
 6446   8403   
        let identity = Credentials::for_tests().into();
 6447   8404   
        let mut signing_params = signing_params(&identity, settings);
 6448   8405   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6449   8406   
        assert_eq!(
 6450   8407   
            creq.values.content_sha256(),
 6451   8408   
            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 6452   8409   
        );
 6453   8410   
        // assert that the sha256 header was added
 6454   8411   
        assert_eq!(
 6455   8412   
            creq.values.signed_headers().as_str(),
 6456   8413   
            "host;x-amz-content-sha256;x-amz-date"
 6457   8414   
        );
 6458   8415   
 6459   8416   
        signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
 6460   8417   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6461   8418   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 6462   8419   
    }
 6463   8420   
 6464   8421   
    #[test]
 6465   8422   
    fn test_unsigned_payload() {
 6466         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        8423  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8424  +
        let mut req = test.request();
 6467   8425   
        req.set_body(SignableBody::UnsignedPayload);
 6468   8426   
        let req: SignableRequest<'_> = SignableRequest::from(&req);
 6469   8427   
 6470   8428   
        let settings = SigningSettings {
 6471   8429   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6472   8430   
            ..Default::default()
 6473   8431   
        };
 6474   8432   
        let identity = Credentials::for_tests().into();
 6475   8433   
        let signing_params = signing_params(&identity, settings);
 6476   8434   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6477   8435   
        assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
 6478   8436   
        assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
 6479   8437   
    }
 6480   8438   
 6481   8439   
    #[test]
 6482   8440   
    fn test_precomputed_payload() {
 6483   8441   
        let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
 6484         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        8442  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8443  +
        let mut req = test.request();
 6485   8444   
        req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
 6486   8445   
        let req = SignableRequest::from(&req);
 6487   8446   
        let settings = SigningSettings {
 6488   8447   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6489   8448   
            ..Default::default()
 6490   8449   
        };
 6491   8450   
        let identity = Credentials::for_tests().into();
 6492   8451   
        let signing_params = signing_params(&identity, settings);
 6493   8452   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6494   8453   
        assert_eq!(creq.values.content_sha256(), payload_hash);
 6495   8454   
        assert!(creq.to_string().ends_with(payload_hash));
 6496   8455   
    }
 6497   8456   
 6498   8457   
    #[test]
 6499   8458   
    fn test_generate_scope() {
 6500   8459   
        let expected = "20150830/us-east-1/iam/aws4_request\n";
 6501   8460   
        let scope = SigningScope {
 6502   8461   
            time: parse_date_time("20150830T123600Z").unwrap(),
 6503   8462   
            region: "us-east-1",
 6504   8463   
            service: "iam",
 6505   8464   
        };
 6506   8465   
        assert_eq!(format!("{}\n", scope), expected);
 6507   8466   
    }
 6508   8467   
 6509   8468   
    #[test]
 6510   8469   
    fn test_string_to_sign() {
 6511   8470   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6512         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
 6513         -
        let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
        8471  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8472  +
        let creq = test.canonical_request(SignatureLocation::Headers);
        8473  +
        let expected_sts = test.string_to_sign(SignatureLocation::Headers);
 6514   8474   
        let encoded = sha256_hex_string(creq.as_bytes());
 6515   8475   
 6516   8476   
        let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
 6517   8477   
        assert_eq!(expected_sts, actual.to_string());
 6518   8478   
    }
 6519   8479   
 6520   8480   
    #[test]
 6521   8481   
    fn test_digest_of_canonical_request() {
 6522         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
        8482  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8483  +
        let creq = test.canonical_request(SignatureLocation::Headers);
 6523   8484   
        let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
 6524   8485   
        let actual = sha256_hex_string(creq.as_bytes());
 6525   8486   
        assert_eq!(expected, actual);
 6526   8487   
    }
 6527   8488   
 6528   8489   
    #[test]
 6529   8490   
    fn test_double_url_encode_path() {
 6530         -
        let req = test::v4::test_request("double-encode-path");
        8491  +
        let test = SigningSuiteTest::v4("double-encode-path");
        8492  +
        let req = test.request();
 6531   8493   
        let req = SignableRequest::from(&req);
 6532   8494   
        let identity = Credentials::for_tests().into();
 6533   8495   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6534   8496   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6535   8497   
 6536         -
        let expected = test::v4::test_canonical_request("double-encode-path");
        8498  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 6537   8499   
        let actual = format!("{}", creq);
 6538   8500   
        assert_eq!(actual, expected);
 6539   8501   
    }
 6540   8502   
 6541   8503   
    #[test]
 6542   8504   
    fn test_double_url_encode() {
 6543         -
        let req = test::v4::test_request("double-url-encode");
        8505  +
        let test = SigningSuiteTest::v4("double-url-encode");
        8506  +
        let req = test.request();
 6544   8507   
        let req = SignableRequest::from(&req);
 6545   8508   
        let identity = Credentials::for_tests().into();
 6546   8509   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6547   8510   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6548         -
 6549         -
        let expected = test::v4::test_canonical_request("double-url-encode");
        8511  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 6550   8512   
        let actual = format!("{}", creq);
 6551   8513   
        assert_eq!(actual, expected);
 6552   8514   
    }
 6553   8515   
 6554   8516   
    #[test]
 6555   8517   
    fn test_tilde_in_uri() {
 6556   8518   
        let req = http0::Request::builder()
 6557   8519   
            .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
 6558   8520   
        let req = SignableRequest::from(&req);
 6559   8521   
        let identity = Credentials::for_tests().into();
 6560   8522   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6561   8523   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6562   8524   
        assert_eq!(
 6563   8525   
            Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
 6564   8526   
            creq.params.as_deref(),
 6565   8527   
        );
 6566   8528   
    }
 6567   8529   
 6568   8530   
    #[test]
 6569   8531   
    fn test_signing_urls_with_percent_encoded_query_strings() {
 6570   8532   
        let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
 6571   8533   
        let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
 6572   8534   
 6573   8535   
        let mut query_writer = QueryWriter::new(&uri);
 6574   8536   
        query_writer.insert("list-type", "2");
 6575   8537   
        query_writer.insert("prefix", &all_printable_ascii_chars);
 6576   8538   
 6577   8539   
        let req = http0::Request::builder()
 6578   8540   
            .uri(query_writer.build_uri())
 6579   8541   
            .body("")
 6580   8542   
            .unwrap()
 6581   8543   
            .into();
 6582   8544   
        let req = SignableRequest::from(&req);
 6583   8545   
        let identity = Credentials::for_tests().into();
 6584   8546   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6585   8547   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6586   8548   
 6587   8549   
        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~";
 6588   8550   
        let actual = creq.params.unwrap();
 6589   8551   
        assert_eq!(expected, actual);
 6590   8552   
    }
 6591   8553   
 6592   8554   
    #[test]
 6593   8555   
    fn test_omit_session_token() {
 6594         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        8556  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8557  +
        let req = test.request();
 6595   8558   
        let req = SignableRequest::from(&req);
 6596   8559   
        let settings = SigningSettings {
 6597   8560   
            session_token_mode: SessionTokenMode::Include,
 6598   8561   
            ..Default::default()
 6599   8562   
        };
 6600   8563   
        let identity = Credentials::for_tests_with_session_token().into();
 6601   8564   
        let mut signing_params = signing_params(&identity, settings);
 6602   8565   
 6603   8566   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6604   8567   
        assert_eq!(
 6605   8568   
            creq.values.signed_headers().as_str(),
 6606   8569   
            "host;x-amz-date;x-amz-security-token"
 6607   8570   
        );
 6608   8571   
        assert_eq!(
 6609   8572   
            creq.headers.get("x-amz-security-token").unwrap(),
 6610   8573   
            "notarealsessiontoken"
 6611   8574   
        );
 6612   8575   
 6613   8576   
        signing_params.set_session_token_mode(SessionTokenMode::Exclude);
 6614   8577   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6615   8578   
        assert_eq!(
 6616   8579   
            creq.headers.get("x-amz-security-token").unwrap(),
 6617   8580   
            "notarealsessiontoken"
 6618   8581   
        );
 6619   8582   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 6620   8583   
    }
 6621   8584   
 6622   8585   
    // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
 6623   8586   
    #[test]
 6624   8587   
    fn non_presigning_header_exclusion() {
 6625   8588   
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
 6626   8589   
index c4bbbee..30b4743 100644
 6627         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
        8590  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 6628   8591   
@@ -478,436 +478,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 6629   8592   
        sensitive,
 6630   8593   
    });
 6631   8594   
}
 6632   8595   
 6633   8596   
// add signature to authorization header
 6634   8597   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 6635   8598   
fn build_authorization_header(
 6636   8599   
    access_key: &str,
 6637   8600   
    creq: &CanonicalRequest<'_>,
 6638   8601   
    sts: StringToSign<'_>,
 6639   8602   
    signature: &str,
 6640   8603   
    signature_version: SignatureVersion,
 6641   8604   
) -> String {
 6642   8605   
    let scope = match signature_version {
 6643   8606   
        SignatureVersion::V4 => sts.scope.to_string(),
 6644   8607   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 6645   8608   
    };
 6646   8609   
    format!(
 6647   8610   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 6648   8611   
        sts.algorithm,
 6649   8612   
        access_key,
 6650   8613   
        scope,
 6651   8614   
        creq.values.signed_headers().as_str(),
 6652   8615   
        signature
 6653   8616   
    )
 6654   8617   
}
 6655   8618   
#[cfg(test)]
 6656   8619   
mod tests {
 6657   8620   
    use crate::date_time::test_parsers::parse_date_time;
 6658   8621   
    use crate::http_request::sign::{add_header, SignableRequest};
        8622  +
    use crate::http_request::test::SigningSuiteTest;
 6659   8623   
    use crate::http_request::{
 6660         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        8624  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 6661   8625   
        SigningSettings,
 6662   8626   
    };
 6663   8627   
    use crate::sign::v4;
 6664   8628   
    use aws_credential_types::Credentials;
 6665   8629   
    use http0::{HeaderValue, Request};
 6666   8630   
    use pretty_assertions::assert_eq;
 6667   8631   
    use proptest::proptest;
 6668   8632   
    use std::borrow::Cow;
 6669   8633   
    use std::iter;
 6670         -
    use std::time::Duration;
 6671   8634   
 6672   8635   
    macro_rules! assert_req_eq {
 6673   8636   
        (http: $expected:expr, $actual:expr) => {
 6674   8637   
            let mut expected = ($expected).map(|_b|"body");
 6675   8638   
            let mut actual = ($actual).map(|_b|"body");
 6676   8639   
            make_headers_comparable(&mut expected);
 6677   8640   
            make_headers_comparable(&mut actual);
 6678   8641   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 6679   8642   
        };
 6680   8643   
        ($expected:tt, $actual:tt) => {
 6681   8644   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 6682   8645   
        };
 6683   8646   
    }
 6684   8647   
 6685   8648   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 6686   8649   
        for (_name, value) in request.headers_mut() {
 6687   8650   
            value.set_sensitive(false);
 6688   8651   
        }
 6689   8652   
    }
 6690   8653   
 6691         -
    #[test]
 6692         -
    fn test_sign_vanilla_with_headers() {
 6693         -
        let settings = SigningSettings::default();
 6694         -
        let identity = &Credentials::for_tests().into();
 6695         -
        let params = v4::SigningParams {
 6696         -
            identity,
 6697         -
            region: "us-east-1",
 6698         -
            name: "service",
 6699         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 6700         -
            settings,
 6701         -
        }
 6702         -
        .into();
 6703         -
 6704         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 6705         -
        let signable = SignableRequest::from(&original);
 6706         -
        let out = sign(signable, &params).unwrap();
 6707         -
        assert_eq!(
 6708         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 6709         -
            out.signature
 6710         -
        );
 6711         -
 6712         -
        let mut signed = original.as_http_request();
 6713         -
        out.output.apply_to_request_http0x(&mut signed);
 6714         -
 6715         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 6716         -
        assert_req_eq!(expected, signed);
 6717         -
    }
 6718         -
        8654  +
    // Sigv4A suite tests
 6719   8655   
    #[cfg(feature = "sigv4a")]
 6720         -
    mod sigv4a_tests {
 6721         -
        use super::*;
 6722         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 6723         -
        use crate::http_request::{sign, test, SigningParams};
 6724         -
        use crate::sign::v4a;
 6725         -
        use p256::ecdsa::signature::{Signature, Verifier};
 6726         -
        use p256::ecdsa::{DerSignature, SigningKey};
 6727         -
        use pretty_assertions::assert_eq;
 6728         -
 6729         -
        fn new_v4a_signing_params_from_context(
 6730         -
            test_context: &'_ test::v4a::TestContext,
 6731         -
            signature_location: SignatureLocation,
 6732         -
        ) -> SigningParams<'_> {
 6733         -
            let mut params = v4a::SigningParams::from(test_context);
 6734         -
            params.settings.signature_location = signature_location;
 6735         -
 6736         -
            params.into()
 6737         -
        }
 6738         -
 6739         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 6740         -
            let tc = test::v4a::test_context(test_name);
 6741         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 6742         -
 6743         -
            let req = test::v4a::test_request(test_name);
 6744         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 6745         -
            let signable_req = SignableRequest::from(&req);
 6746         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
 6747         -
 6748         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
 6749         -
 6750         -
            let expected_string_to_sign =
 6751         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 6752         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 6753         -
            let actual_string_to_sign = StringToSign::new_v4a(
 6754         -
                *params.time(),
 6755         -
                params.region_set().unwrap(),
 6756         -
                params.name(),
 6757         -
                hashed_creq,
 6758         -
            )
 6759         -
            .to_string();
 6760         -
 6761         -
            assert_eq!(
 6762         -
                expected_string_to_sign, actual_string_to_sign,
 6763         -
                "'string to sign' didn't match"
 6764         -
            );
        8656  +
    mod v4a_suite {
        8657  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 6765   8658   
 6766         -
            let out = sign(signable_req, &params).unwrap();
 6767         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 6768         -
            out.output
 6769         -
                .apply_to_request_http0x(&mut req.as_http_request());
 6770         -
 6771         -
            let creds = params.credentials().unwrap();
 6772         -
            let signing_key =
 6773         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 6774         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 6775         -
            let sig = sig
 6776         -
                .try_into()
 6777         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 6778         -
 6779         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 6780         -
            let peer_public_key = signing_key.verifying_key();
 6781         -
            let sts = actual_string_to_sign.as_bytes();
 6782         -
            peer_public_key.verify(sts, &sig).unwrap();
        8659  +
        #[test]
        8660  +
        fn test_get_header_key_duplicate() {
        8661  +
            run_test_suite_v4a("get-header-key-duplicate")
 6783   8662   
        }
 6784   8663   
 6785   8664   
        #[test]
 6786         -
        fn test_get_header_key_duplicate() {
 6787         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        8665  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        8666  +
        fn test_get_header_value_multiline() {
        8667  +
            run_test_suite_v4a("get-header-value-multiline")
 6788   8668   
        }
 6789   8669   
 6790   8670   
        #[test]
 6791   8671   
        fn test_get_header_value_order() {
 6792         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        8672  +
            run_test_suite_v4a("get-header-value-order")
 6793   8673   
        }
 6794   8674   
 6795   8675   
        #[test]
 6796   8676   
        fn test_get_header_value_trim() {
 6797         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        8677  +
            run_test_suite_v4a("get-header-value-trim");
 6798   8678   
        }
 6799   8679   
 6800   8680   
        #[test]
 6801   8681   
        fn test_get_relative_normalized() {
 6802         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        8682  +
            run_test_suite_v4a("get-relative-normalized");
 6803   8683   
        }
 6804   8684   
 6805   8685   
        #[test]
 6806   8686   
        fn test_get_relative_relative_normalized() {
 6807         -
            run_v4a_test_suite(
 6808         -
                "get-relative-relative-normalized",
 6809         -
                SignatureLocation::Headers,
 6810         -
            );
        8687  +
            run_test_suite_v4a("get-relative-relative-normalized");
 6811   8688   
        }
 6812   8689   
 6813   8690   
        #[test]
 6814   8691   
        fn test_get_relative_relative_unnormalized() {
 6815         -
            run_v4a_test_suite(
 6816         -
                "get-relative-relative-unnormalized",
 6817         -
                SignatureLocation::Headers,
 6818         -
            );
        8692  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 6819   8693   
        }
 6820   8694   
 6821   8695   
        #[test]
 6822   8696   
        fn test_get_relative_unnormalized() {
 6823         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        8697  +
            run_test_suite_v4a("get-relative-unnormalized");
 6824   8698   
        }
 6825   8699   
 6826   8700   
        #[test]
 6827   8701   
        fn test_get_slash_dot_slash_normalized() {
 6828         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        8702  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 6829   8703   
        }
 6830   8704   
 6831   8705   
        #[test]
 6832   8706   
        fn test_get_slash_dot_slash_unnormalized() {
 6833         -
            run_v4a_test_suite(
 6834         -
                "get-slash-dot-slash-unnormalized",
 6835         -
                SignatureLocation::Headers,
 6836         -
            );
        8707  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 6837   8708   
        }
 6838   8709   
 6839   8710   
        #[test]
 6840   8711   
        fn test_get_slash_normalized() {
 6841         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        8712  +
            run_test_suite_v4a("get-slash-normalized");
 6842   8713   
        }
 6843   8714   
 6844   8715   
        #[test]
 6845   8716   
        fn test_get_slash_pointless_dot_normalized() {
 6846         -
            run_v4a_test_suite(
 6847         -
                "get-slash-pointless-dot-normalized",
 6848         -
                SignatureLocation::Headers,
 6849         -
            );
        8717  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 6850   8718   
        }
 6851   8719   
 6852   8720   
        #[test]
 6853   8721   
        fn test_get_slash_pointless_dot_unnormalized() {
 6854         -
            run_v4a_test_suite(
 6855         -
                "get-slash-pointless-dot-unnormalized",
 6856         -
                SignatureLocation::Headers,
 6857         -
            );
        8722  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 6858   8723   
        }
 6859   8724   
 6860   8725   
        #[test]
 6861   8726   
        fn test_get_slash_unnormalized() {
 6862         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        8727  +
            run_test_suite_v4a("get-slash-unnormalized");
 6863   8728   
        }
 6864   8729   
 6865   8730   
        #[test]
 6866   8731   
        fn test_get_slashes_normalized() {
 6867         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        8732  +
            run_test_suite_v4a("get-slashes-normalized");
 6868   8733   
        }
 6869   8734   
 6870   8735   
        #[test]
 6871   8736   
        fn test_get_slashes_unnormalized() {
 6872         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        8737  +
            run_test_suite_v4a("get-slashes-unnormalized");
        8738  +
        }
        8739  +
        8740  +
        #[test]
        8741  +
        #[ignore = "relies on single encode of path segments"]
        8742  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        8743  +
        // skipped until we add control over double_uri_encode in context.json
        8744  +
        fn test_get_space_normalized() {
        8745  +
            run_test_suite_v4a("get-space-normalized");
        8746  +
        }
        8747  +
        8748  +
        #[test]
        8749  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        8750  +
        // the input request has unencoded space ' ' in the path which fails to parse
        8751  +
        fn test_get_space_unnormalized() {
        8752  +
            run_test_suite_v4a("get-space-unnormalized");
 6873   8753   
        }
 6874   8754   
 6875   8755   
        #[test]
 6876   8756   
        fn test_get_unreserved() {
 6877         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        8757  +
            run_test_suite_v4a("get-unreserved");
        8758  +
        }
        8759  +
        8760  +
        #[test]
        8761  +
        #[ignore = "httparse fails on invalid uri character"]
        8762  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8763  +
        fn test_get_utf8() {
        8764  +
            run_test_suite_v4a("get-utf8");
 6878   8765   
        }
 6879   8766   
 6880   8767   
        #[test]
 6881   8768   
        fn test_get_vanilla() {
 6882         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        8769  +
            run_test_suite_v4a("get-vanilla");
 6883   8770   
        }
 6884   8771   
 6885   8772   
        #[test]
 6886   8773   
        fn test_get_vanilla_empty_query_key() {
 6887         -
            run_v4a_test_suite(
 6888         -
                "get-vanilla-empty-query-key",
 6889         -
                SignatureLocation::QueryParams,
 6890         -
            );
        8774  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 6891   8775   
        }
 6892   8776   
 6893   8777   
        #[test]
 6894   8778   
        fn test_get_vanilla_query() {
 6895         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        8779  +
            run_test_suite_v4a("get-vanilla-query");
        8780  +
        }
        8781  +
        8782  +
        #[test]
        8783  +
        fn test_get_vanilla_query_order_encoded() {
        8784  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 6896   8785   
        }
 6897   8786   
 6898   8787   
        #[test]
 6899   8788   
        fn test_get_vanilla_query_order_key_case() {
 6900         -
            run_v4a_test_suite(
 6901         -
                "get-vanilla-query-order-key-case",
 6902         -
                SignatureLocation::QueryParams,
 6903         -
            );
        8789  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 6904   8790   
        }
 6905   8791   
 6906   8792   
        #[test]
 6907   8793   
        fn test_get_vanilla_query_unreserved() {
 6908         -
            run_v4a_test_suite(
 6909         -
                "get-vanilla-query-unreserved",
 6910         -
                SignatureLocation::QueryParams,
 6911         -
            );
        8794  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        8795  +
        }
        8796  +
        8797  +
        #[test]
        8798  +
        #[ignore = "httparse fails on invalid uri character"]
        8799  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8800  +
        fn test_get_vanilla_utf8_query() {
        8801  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 6912   8802   
        }
 6913   8803   
 6914   8804   
        #[test]
 6915   8805   
        fn test_get_vanilla_with_session_token() {
 6916         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        8806  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 6917   8807   
        }
 6918   8808   
 6919   8809   
        #[test]
 6920   8810   
        fn test_post_header_key_case() {
 6921         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        8811  +
            run_test_suite_v4a("post-header-key-case");
 6922   8812   
        }
 6923   8813   
 6924   8814   
        #[test]
 6925   8815   
        fn test_post_header_key_sort() {
 6926         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        8816  +
            run_test_suite_v4a("post-header-key-sort");
 6927   8817   
        }
 6928   8818   
 6929   8819   
        #[test]
 6930   8820   
        fn test_post_header_value_case() {
 6931         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        8821  +
            run_test_suite_v4a("post-header-value-case");
 6932   8822   
        }
 6933   8823   
 6934   8824   
        #[test]
 6935   8825   
        fn test_post_sts_header_after() {
 6936         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        8826  +
            run_test_suite_v4a("post-sts-header-after");
 6937   8827   
        }
 6938   8828   
 6939   8829   
        #[test]
 6940   8830   
        fn test_post_sts_header_before() {
 6941         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        8831  +
            run_test_suite_v4a("post-sts-header-before");
 6942   8832   
        }
 6943   8833   
 6944   8834   
        #[test]
 6945   8835   
        fn test_post_vanilla() {
 6946         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        8836  +
            run_test_suite_v4a("post-vanilla");
 6947   8837   
        }
 6948   8838   
 6949   8839   
        #[test]
 6950   8840   
        fn test_post_vanilla_empty_query_value() {
 6951         -
            run_v4a_test_suite(
 6952         -
                "post-vanilla-empty-query-value",
 6953         -
                SignatureLocation::QueryParams,
 6954         -
            );
        8841  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 6955   8842   
        }
 6956   8843   
 6957   8844   
        #[test]
 6958   8845   
        fn test_post_vanilla_query() {
 6959         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        8846  +
            run_test_suite_v4a("post-vanilla-query");
 6960   8847   
        }
 6961   8848   
 6962   8849   
        #[test]
 6963   8850   
        fn test_post_x_www_form_urlencoded() {
 6964         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        8851  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 6965   8852   
        }
 6966   8853   
 6967   8854   
        #[test]
 6968   8855   
        fn test_post_x_www_form_urlencoded_parameters() {
 6969         -
            run_v4a_test_suite(
 6970         -
                "post-x-www-form-urlencoded-parameters",
 6971         -
                SignatureLocation::QueryParams,
 6972         -
            );
        8856  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 6973   8857   
        }
 6974   8858   
    }
 6975   8859   
 6976   8860   
    #[test]
 6977   8861   
    fn test_sign_url_escape() {
 6978         -
        let test = "double-encode-path";
        8862  +
        let test = SigningSuiteTest::v4("double-encode-path");
 6979   8863   
        let settings = SigningSettings::default();
 6980   8864   
        let identity = &Credentials::for_tests().into();
 6981   8865   
        let params = v4::SigningParams {
 6982   8866   
            identity,
 6983   8867   
            region: "us-east-1",
 6984   8868   
            name: "service",
 6985   8869   
            time: parse_date_time("20150830T123600Z").unwrap(),
 6986   8870   
            settings,
 6987   8871   
        }
 6988   8872   
        .into();
 6989   8873   
 6990         -
        let original = test::v4::test_request(test);
        8874  +
        let original = test.request();
 6991   8875   
        let signable = SignableRequest::from(&original);
 6992   8876   
        let out = sign(signable, &params).unwrap();
 6993   8877   
        assert_eq!(
 6994   8878   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 6995   8879   
            out.signature
 6996   8880   
        );
 6997   8881   
 6998   8882   
        let mut signed = original.as_http_request();
 6999   8883   
        out.output.apply_to_request_http0x(&mut signed);
 7000   8884   
 7001         -
        let expected = test::v4::test_signed_request(test);
 7002         -
        assert_req_eq!(expected, signed);
 7003         -
    }
 7004         -
 7005         -
    #[test]
 7006         -
    fn test_sign_vanilla_with_query_params() {
 7007         -
        let settings = SigningSettings {
 7008         -
            signature_location: SignatureLocation::QueryParams,
 7009         -
            expires_in: Some(Duration::from_secs(35)),
 7010         -
            ..Default::default()
 7011         -
        };
 7012         -
        let identity = &Credentials::for_tests().into();
 7013         -
        let params = v4::SigningParams {
 7014         -
            identity,
 7015         -
            region: "us-east-1",
 7016         -
            name: "service",
 7017         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 7018         -
            settings,
 7019         -
        }
 7020         -
        .into();
 7021         -
 7022         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 7023         -
        let signable = SignableRequest::from(&original);
 7024         -
        let out = sign(signable, &params).unwrap();
 7025         -
        assert_eq!(
 7026         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 7027         -
            out.signature
 7028         -
        );
 7029         -
 7030         -
        let mut signed = original.as_http_request();
 7031         -
        out.output.apply_to_request_http0x(&mut signed);
 7032         -
 7033         -
        let expected =
 7034         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        8885  +
        let expected = test.signed_request(SignatureLocation::Headers);
 7035   8886   
        assert_req_eq!(expected, signed);
 7036   8887   
    }
 7037   8888   
 7038   8889   
    #[test]
 7039   8890   
    fn test_sign_headers_utf8() {
 7040   8891   
        let settings = SigningSettings::default();
 7041   8892   
        let identity = &Credentials::for_tests().into();
 7042   8893   
        let params = v4::SigningParams {
 7043   8894   
            identity,
 7044   8895   
            region: "us-east-1",
 7045   8896   
            name: "service",
 7046   8897   
            time: parse_date_time("20150830T123600Z").unwrap(),
 7047   8898   
            settings,
 7048   8899   
        }
 7049   8900   
        .into();
 7050   8901   
 7051   8902   
        let original = http0::Request::builder()
 7052   8903   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 7053   8904   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 7054   8905   
            .body("")
 7055   8906   
            .unwrap()
 7056   8907   
            .into();
 7057   8908   
        let signable = SignableRequest::from(&original);
 7058   8909   
        let out = sign(signable, &params).unwrap();
 7059   8910   
        assert_eq!(
 7060   8911   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 7061   8912   
            out.signature
 7062   8913   
        );
 7063   8914   
 7064   8915   
        let mut signed = original.as_http_request();
 7065   8916   
@@ -1138,31 +1026,236 @@ mod tests {
 7066   8917   
        let mut request = http::Request::builder()
 7067   8918   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 7068   8919   
            .body("")
 7069   8920   
            .unwrap();
 7070   8921   
 7071   8922   
        instructions.apply_to_request_http1x(&mut request);
 7072   8923   
 7073   8924   
        assert_eq!(
 7074   8925   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 7075   8926   
            request.uri().path_and_query().unwrap().to_string()
 7076   8927   
        );
 7077   8928   
    }
 7078   8929   
 7079   8930   
    #[test]
 7080   8931   
    fn test_debug_signable_body() {
 7081   8932   
        let sut = SignableBody::Bytes(b"hello signable body");
 7082   8933   
        assert_eq!(
 7083   8934   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 7084   8935   
            format!("{sut:?}")
 7085   8936   
        );
 7086   8937   
 7087   8938   
        let sut = SignableBody::UnsignedPayload;
 7088   8939   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 7089   8940   
 7090   8941   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 7091   8942   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 7092   8943   
 7093   8944   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 7094   8945   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 7095   8946   
    }
        8947  +
        8948  +
    // v4 test suite
        8949  +
    mod v4_suite {
        8950  +
        use crate::http_request::test::run_test_suite_v4;
        8951  +
        8952  +
        #[test]
        8953  +
        fn test_get_header_key_duplicate() {
        8954  +
            run_test_suite_v4("get-header-key-duplicate");
        8955  +
        }
        8956  +
        8957  +
        #[test]
        8958  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        8959  +
        fn test_get_header_value_multiline() {
        8960  +
            run_test_suite_v4("get-header-value-multiline");
        8961  +
        }
        8962  +
        8963  +
        #[test]
        8964  +
        fn test_get_header_value_order() {
        8965  +
            run_test_suite_v4("get-header-value-order");
        8966  +
        }
        8967  +
        8968  +
        #[test]
        8969  +
        fn test_get_header_value_trim() {
        8970  +
            run_test_suite_v4("get-header-value-trim");
        8971  +
        }
        8972  +
        8973  +
        #[test]
        8974  +
        fn test_get_relative_normalized() {
        8975  +
            run_test_suite_v4("get-relative-normalized");
        8976  +
        }
        8977  +
        8978  +
        #[test]
        8979  +
        fn test_get_relative_relative_normalized() {
        8980  +
            run_test_suite_v4("get-relative-relative-normalized");
        8981  +
        }
        8982  +
        8983  +
        #[test]
        8984  +
        fn test_get_relative_relative_unnormalized() {
        8985  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        8986  +
        }
        8987  +
        8988  +
        #[test]
        8989  +
        fn test_get_relative_unnormalized() {
        8990  +
            run_test_suite_v4("get-relative-unnormalized");
        8991  +
        }
        8992  +
        8993  +
        #[test]
        8994  +
        fn test_get_slash_dot_slash_normalized() {
        8995  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        8996  +
        }
        8997  +
        8998  +
        #[test]
        8999  +
        fn test_get_slash_dot_slash_unnormalized() {
        9000  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        9001  +
        }
        9002  +
        9003  +
        #[test]
        9004  +
        fn test_get_slash_normalized() {
        9005  +
            run_test_suite_v4("get-slash-normalized");
        9006  +
        }
        9007  +
        9008  +
        #[test]
        9009  +
        fn test_get_slash_pointless_dot_normalized() {
        9010  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        9011  +
        }
        9012  +
        9013  +
        #[test]
        9014  +
        fn test_get_slash_pointless_dot_unnormalized() {
        9015  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        9016  +
        }
        9017  +
        9018  +
        #[test]
        9019  +
        fn test_get_slash_unnormalized() {
        9020  +
            run_test_suite_v4("get-slash-unnormalized");
        9021  +
        }
        9022  +
        9023  +
        #[test]
        9024  +
        fn test_get_slashes_normalized() {
        9025  +
            run_test_suite_v4("get-slashes-normalized");
        9026  +
        }
        9027  +
        9028  +
        #[test]
        9029  +
        fn test_get_slashes_unnormalized() {
        9030  +
            run_test_suite_v4("get-slashes-unnormalized");
        9031  +
        }
        9032  +
        9033  +
        #[test]
        9034  +
        #[ignore = "relies on single encode of path segments"]
        9035  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        9036  +
        // skipped until we add control over double_uri_encode in context.json
        9037  +
        fn test_get_space_normalized() {
        9038  +
            run_test_suite_v4("get-space-normalized");
        9039  +
        }
        9040  +
        9041  +
        #[test]
        9042  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        9043  +
        // the input request has unencoded space ' ' in the path which fails to parse
        9044  +
        fn test_get_space_unnormalized() {
        9045  +
            run_test_suite_v4("get-space-unnormalized");
        9046  +
        }
        9047  +
        9048  +
        #[test]
        9049  +
        fn test_get_unreserved() {
        9050  +
            run_test_suite_v4("get-unreserved");
        9051  +
        }
        9052  +
        9053  +
        #[test]
        9054  +
        #[ignore = "httparse fails on invalid uri character"]
        9055  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        9056  +
        fn test_get_utf8() {
        9057  +
            run_test_suite_v4("get-utf8");
        9058  +
        }
        9059  +
        9060  +
        #[test]
        9061  +
        fn test_get_vanilla() {
        9062  +
            run_test_suite_v4("get-vanilla");
        9063  +
        }
        9064  +
        9065  +
        #[test]
        9066  +
        fn test_get_vanilla_empty_query_key() {
        9067  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        9068  +
        }
        9069  +
        9070  +
        #[test]
        9071  +
        fn test_get_vanilla_query() {
        9072  +
            run_test_suite_v4("get-vanilla-query");
        9073  +
        }
        9074  +
        9075  +
        #[test]
        9076  +
        fn test_get_vanilla_query_order_encoded() {
        9077  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        9078  +
        }
        9079  +
        9080  +
        #[test]
        9081  +
        fn test_get_vanilla_query_order_key_case() {
        9082  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        9083  +
        }
        9084  +
        9085  +
        #[test]
        9086  +
        fn test_get_vanilla_query_unreserved() {
        9087  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        9088  +
        }
        9089  +
        9090  +
        #[test]
        9091  +
        #[ignore = "httparse fails on invalid uri character"]
        9092  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        9093  +
        fn test_get_vanilla_utf8_query() {
        9094  +
            run_test_suite_v4("get-vanilla-utf8-query");
        9095  +
        }
        9096  +
        9097  +
        #[test]
        9098  +
        fn test_get_vanilla_with_session_token() {
        9099  +
            run_test_suite_v4("get-vanilla-with-session-token");
        9100  +
        }
        9101  +
        9102  +
        #[test]
        9103  +
        fn test_post_header_key_case() {
        9104  +
            run_test_suite_v4("post-header-key-case");
        9105  +
        }
        9106  +
        9107  +
        #[test]
        9108  +
        fn test_post_header_key_sort() {
        9109  +
            run_test_suite_v4("post-header-key-sort");
        9110  +
        }
        9111  +
        9112  +
        #[test]
        9113  +
        fn test_post_header_value_case() {
        9114  +
            run_test_suite_v4("post-header-value-case");
        9115  +
        }
        9116  +
        9117  +
        #[test]
        9118  +
        fn test_post_sts_header_after() {
        9119  +
            run_test_suite_v4("post-sts-header-after");
        9120  +
        }
        9121  +
        9122  +
        #[test]
        9123  +
        fn test_post_sts_header_before() {
        9124  +
            run_test_suite_v4("post-sts-header-before");
        9125  +
        }
        9126  +
        9127  +
        #[test]
        9128  +
        fn test_post_vanilla() {
        9129  +
            run_test_suite_v4("post-vanilla");
        9130  +
        }
        9131  +
        9132  +
        #[test]
        9133  +
        fn test_post_vanilla_empty_query_value() {
        9134  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        9135  +
        }
        9136  +
        9137  +
        #[test]
        9138  +
        fn test_post_vanilla_query() {
        9139  +
            run_test_suite_v4("post-vanilla-query");
        9140  +
        }
        9141  +
        9142  +
        #[test]
        9143  +
        fn test_post_x_www_form_urlencoded() {
        9144  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        9145  +
        }
        9146  +
        9147  +
        #[test]
        9148  +
        fn test_post_x_www_form_urlencoded_parameters() {
        9149  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        9150  +
        }
        9151  +
    }
 7096   9152   
}
 7097   9153   
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
 7098   9154   
index be6c496..86eec20 100644
 7099         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        9155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 7100   9156   
@@ -1,242 +1,453 @@
 7101   9157   
/*
 7102   9158   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 7103   9159   
 * SPDX-License-Identifier: Apache-2.0
 7104   9160   
 */
 7105   9161   
 7106   9162   
//! Functions shared between the tests of several modules.
 7107   9163   
 7108         -
use crate::http_request::{SignableBody, SignableRequest};
        9164  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        9165  +
use crate::http_request::{
        9166  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        9167  +
    SigningSettings,
        9168  +
};
        9169  +
use aws_credential_types::Credentials;
        9170  +
use aws_smithy_runtime_api::client::identity::Identity;
 7109   9171   
use http0::{Method, Uri};
        9172  +
use std::borrow::Cow;
 7110   9173   
use std::error::Error as StdError;
        9174  +
use std::time::{Duration, SystemTime};
        9175  +
use time::format_description::well_known::Rfc3339;
        9176  +
use time::OffsetDateTime;
        9177  +
        9178  +
/// Common test suite collection
        9179  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        9180  +
enum Collection {
        9181  +
    V4,
        9182  +
    V4A,
        9183  +
}
 7111   9184   
 7112         -
pub(crate) mod v4 {
 7113         -
    use super::*;
        9185  +
/// A test from the common CRT test suite
        9186  +
#[derive(Debug, Clone)]
        9187  +
pub(crate) struct SigningSuiteTest {
        9188  +
    test_name: &'static str,
        9189  +
    collection: Collection,
        9190  +
}
 7114   9191   
 7115         -
    fn path(name: &str, ext: &str) -> String {
 7116         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        9192  +
impl SigningSuiteTest {
        9193  +
    /// Create a new test from the V4 test suite
        9194  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        9195  +
        Self {
        9196  +
            test_name,
        9197  +
            collection: Collection::V4,
        9198  +
        }
 7117   9199   
    }
 7118   9200   
 7119         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 7120         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 7121         -
        read(&path(name, "creq")).trim().to_string()
        9201  +
    /// Create a new test from the V4a test suite
        9202  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        9203  +
        Self {
        9204  +
            test_name,
        9205  +
            collection: Collection::V4A,
        9206  +
        }
 7122   9207   
    }
 7123   9208   
 7124         -
    pub(crate) fn test_sts(name: &str) -> String {
 7125         -
        read(&path(name, "sts"))
        9209  +
    /// Get the path to a file in this test suite directory
        9210  +
    fn path(&self, filename: &str) -> String {
        9211  +
        let dir = match self.collection {
        9212  +
            Collection::V4 => "v4",
        9213  +
            Collection::V4A => "v4a",
        9214  +
        };
        9215  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 7126   9216   
    }
 7127   9217   
 7128         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 7129         -
        test_parsed_request(name, "req")
        9218  +
    /// Get the HTTP request for the test
        9219  +
    pub(crate) fn request(&self) -> TestRequest {
        9220  +
        test_parsed_request(&self.path("request.txt"))
 7130   9221   
    }
 7131   9222   
 7132         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 7133         -
        test_parsed_request(name, "sreq")
        9223  +
    /// Get the signed HTTP request for the test
        9224  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        9225  +
        match signature_location {
        9226  +
            SignatureLocation::QueryParams => {
        9227  +
                test_parsed_request(&self.path("query-signed-request.txt"))
        9228  +
            }
        9229  +
            SignatureLocation::Headers => {
        9230  +
                test_parsed_request(&self.path("header-signed-request.txt"))
        9231  +
            }
        9232  +
        }
 7134   9233   
    }
 7135   9234   
 7136         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 7137         -
        test_parsed_request(name, "qpsreq")
        9235  +
    /// Get the canonical request for the test
        9236  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        9237  +
        match signature_location {
        9238  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        9239  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
        9240  +
        }
 7138   9241   
    }
 7139   9242   
 7140         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 7141         -
        let path = path(name, ext);
 7142         -
        match parse_request(read(&path).as_bytes()) {
 7143         -
            Ok(parsed) => parsed,
 7144         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        9243  +
    /// Get the string to sign for the test
        9244  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
        9245  +
        match signature_location {
        9246  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        9247  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 7145   9248   
        }
 7146   9249   
    }
 7147   9250   
 7148         -
    #[test]
 7149         -
    fn test_parse() {
 7150         -
        test_request("post-header-key-case");
        9251  +
    /// Get the signature for the test
        9252  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
        9253  +
        match signature_location {
        9254  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        9255  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        9256  +
        }
 7151   9257   
    }
 7152   9258   
 7153         -
    #[test]
 7154         -
    fn test_read_query_params() {
 7155         -
        test_request("get-vanilla-query-order-key-case");
        9259  +
    /// Get the test context for the test
        9260  +
    pub(crate) fn context(&self) -> TestContext {
        9261  +
        let context = read(&self.path("context.json"));
        9262  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        9263  +
        tc_builder.build()
 7156   9264   
    }
 7157   9265   
}
 7158   9266   
 7159         -
#[cfg(feature = "sigv4a")]
 7160         -
pub(crate) mod v4a {
 7161         -
    use super::*;
 7162         -
    use crate::http_request::{
 7163         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 7164         -
    };
 7165         -
    use aws_credential_types::Credentials;
 7166         -
    use aws_smithy_runtime_api::client::identity::Identity;
 7167         -
    use serde_derive::Deserialize;
 7168         -
    use std::time::{Duration, SystemTime};
 7169         -
    use time::format_description::well_known::Rfc3339;
 7170         -
    use time::OffsetDateTime;
 7171         -
 7172         -
    fn path(test_name: &str, definition_name: &str) -> String {
 7173         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        9267  +
fn test_parsed_request(path: &str) -> TestRequest {
        9268  +
    match parse_request(read(path).as_bytes()) {
        9269  +
        Ok(parsed) => parsed,
        9270  +
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 7174   9271   
    }
        9272  +
}
 7175   9273   
 7176         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 7177         -
        test_parsed_request(&path(name, "request"))
 7178         -
    }
        9274  +
fn new_v4_signing_params_from_context(
        9275  +
    test_context: &'_ TestContext,
        9276  +
    signature_location: SignatureLocation,
        9277  +
) -> crate::http_request::SigningParams<'_> {
        9278  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        9279  +
    params.settings.signature_location = signature_location;
        9280  +
    params.into()
        9281  +
}
 7179   9282   
 7180         -
    pub(crate) fn test_canonical_request(
 7181         -
        name: &str,
 7182         -
        signature_location: SignatureLocation,
 7183         -
    ) -> String {
 7184         -
        match signature_location {
 7185         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 7186         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        9283  +
/// Run the given test from the v4 suite for both header and query
        9284  +
/// signature locations
        9285  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        9286  +
    run_v4_test(test_name, SignatureLocation::Headers);
        9287  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        9288  +
}
        9289  +
        9290  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        9291  +
    assert_eq!(expected.scheme(), actual.scheme());
        9292  +
    assert_eq!(expected.authority(), actual.authority());
        9293  +
    assert_eq!(expected.path(), actual.path());
        9294  +
        9295  +
    // query params may be out of order
        9296  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        9297  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        9298  +
    expected_params.sort();
        9299  +
        9300  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        9301  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        9302  +
    actual_params.sort();
        9303  +
        9304  +
    assert_eq!(expected_params, actual_params);
        9305  +
}
        9306  +
        9307  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        9308  +
    let expected = expected.as_http_request();
        9309  +
    let actual = actual;
        9310  +
    assert_eq!(expected.method(), actual.method());
        9311  +
    assert_eq!(
        9312  +
        expected.headers().len(),
        9313  +
        actual.headers().len(),
        9314  +
        "extra or missing headers"
        9315  +
    );
        9316  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        9317  +
    assert_uri_eq(expected.uri(), actual.uri());
        9318  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        9319  +
}
        9320  +
        9321  +
/// Run the given test from the v4 suite for the given signature location
        9322  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        9323  +
    let test = SigningSuiteTest::v4(test_name);
        9324  +
    let tc = test.context();
        9325  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        9326  +
        9327  +
    let req = test.request();
        9328  +
    let expected_creq = test.canonical_request(signature_location);
        9329  +
    let signable_req = SignableRequest::from(&req);
        9330  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        9331  +
        9332  +
    // check canonical request
        9333  +
    assert_eq!(
        9334  +
        expected_creq,
        9335  +
        actual_creq.to_string(),
        9336  +
        "canonical request didn't match (signature location: {signature_location:?})"
        9337  +
    );
        9338  +
        9339  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        9340  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        9341  +
    let actual_string_to_sign = StringToSign::new_v4(
        9342  +
        *params.time(),
        9343  +
        params.region().unwrap(),
        9344  +
        params.name(),
        9345  +
        hashed_creq,
        9346  +
    )
        9347  +
    .to_string();
        9348  +
        9349  +
    // check string to sign
        9350  +
    assert_eq!(
        9351  +
        expected_string_to_sign, actual_string_to_sign,
        9352  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        9353  +
    );
        9354  +
        9355  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        9356  +
    let mut signed = req.as_http_request();
        9357  +
    out.output.apply_to_request_http0x(&mut signed);
        9358  +
        9359  +
    // check signature
        9360  +
    assert_eq!(
        9361  +
        test.signature(signature_location),
        9362  +
        out.signature,
        9363  +
        "signature didn't match (signature location: {signature_location:?})"
        9364  +
    );
        9365  +
        9366  +
    let expected = test.signed_request(signature_location);
        9367  +
    assert_requests_eq(expected, signed);
        9368  +
}
        9369  +
        9370  +
/// Test suite context.json
        9371  +
pub(crate) struct TestContext {
        9372  +
    pub(crate) identity: Identity,
        9373  +
    pub(crate) expiration_in_seconds: u64,
        9374  +
    pub(crate) normalize: bool,
        9375  +
    pub(crate) region: String,
        9376  +
    pub(crate) service: String,
        9377  +
    pub(crate) timestamp: String,
        9378  +
    pub(crate) omit_session_token: bool,
        9379  +
    pub(crate) sign_body: bool,
        9380  +
}
        9381  +
        9382  +
// Serde has limitations requiring this odd workaround.
        9383  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        9384  +
fn return_true() -> bool {
        9385  +
    true
        9386  +
}
        9387  +
        9388  +
#[derive(serde_derive::Deserialize)]
        9389  +
pub(crate) struct TestContextBuilder {
        9390  +
    credentials: TestContextCreds,
        9391  +
    expiration_in_seconds: u64,
        9392  +
    normalize: bool,
        9393  +
    region: String,
        9394  +
    service: String,
        9395  +
    timestamp: String,
        9396  +
    #[serde(default)]
        9397  +
    omit_session_token: bool,
        9398  +
    #[serde(default = "return_true")]
        9399  +
    sign_body: bool,
        9400  +
}
        9401  +
        9402  +
impl TestContextBuilder {
        9403  +
    pub(crate) fn build(self) -> TestContext {
        9404  +
        let identity = Identity::new(
        9405  +
            Credentials::from_keys(
        9406  +
                &self.credentials.access_key_id,
        9407  +
                &self.credentials.secret_access_key,
        9408  +
                self.credentials.token.clone(),
        9409  +
            ),
        9410  +
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
        9411  +
        );
        9412  +
        9413  +
        TestContext {
        9414  +
            identity,
        9415  +
            expiration_in_seconds: self.expiration_in_seconds,
        9416  +
            normalize: self.normalize,
        9417  +
            region: self.region,
        9418  +
            service: self.service,
        9419  +
            timestamp: self.timestamp,
        9420  +
            omit_session_token: self.omit_session_token,
        9421  +
            sign_body: self.sign_body,
 7187   9422   
        }
 7188   9423   
    }
        9424  +
}
 7189   9425   
 7190         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
 7191         -
        match signature_location {
 7192         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 7193         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        9426  +
#[derive(serde_derive::Deserialize)]
        9427  +
pub(crate) struct TestContextCreds {
        9428  +
    access_key_id: String,
        9429  +
    secret_access_key: String,
        9430  +
    token: Option<String>,
        9431  +
}
        9432  +
        9433  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        9434  +
    fn from(tc: &'a TestContext) -> Self {
        9435  +
        crate::sign::v4::SigningParams {
        9436  +
            identity: &tc.identity,
        9437  +
            region: &tc.region,
        9438  +
            name: &tc.service,
        9439  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        9440  +
                .unwrap()
        9441  +
                .into(),
        9442  +
            settings: SigningSettings {
        9443  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        9444  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        9445  +
                uri_path_normalization_mode: tc.normalize.into(),
        9446  +
                session_token_mode: if tc.omit_session_token {
        9447  +
                    SessionTokenMode::Exclude
        9448  +
                } else {
        9449  +
                    SessionTokenMode::Include
        9450  +
                },
        9451  +
                payload_checksum_kind: if tc.sign_body {
        9452  +
                    PayloadChecksumKind::XAmzSha256
        9453  +
                } else {
        9454  +
                    PayloadChecksumKind::NoHeader
        9455  +
                },
        9456  +
                ..Default::default()
        9457  +
            },
 7194   9458   
        }
 7195   9459   
    }
        9460  +
}
 7196   9461   
 7197         -
    fn test_parsed_request(path: &str) -> TestRequest {
 7198         -
        match parse_request(read(path).as_bytes()) {
 7199         -
            Ok(parsed) => parsed,
 7200         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
 7201         -
        }
        9462  +
#[cfg(feature = "sigv4a")]
        9463  +
pub(crate) mod v4a {
        9464  +
    use super::*;
        9465  +
    use crate::http_request::{
        9466  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        9467  +
    };
        9468  +
    use crate::sign::v4a;
        9469  +
    use p256::ecdsa::signature::{Signature, Verifier};
        9470  +
    use p256::ecdsa::{DerSignature, SigningKey};
        9471  +
    use std::time::Duration;
        9472  +
    use time::format_description::well_known::Rfc3339;
        9473  +
    use time::OffsetDateTime;
        9474  +
        9475  +
    fn new_v4a_signing_params_from_context(
        9476  +
        test_context: &'_ TestContext,
        9477  +
        signature_location: SignatureLocation,
        9478  +
    ) -> crate::http_request::SigningParams<'_> {
        9479  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        9480  +
        params.settings.signature_location = signature_location;
        9481  +
        params.into()
 7202   9482   
    }
 7203   9483   
 7204         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 7205         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 7206         -
        let context = read(&path);
 7207         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 7208         -
        tc_builder.build()
        9484  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        9485  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        9486  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
 7209   9487   
    }
 7210   9488   
 7211         -
    pub(crate) struct TestContext {
 7212         -
        pub(crate) identity: Identity,
 7213         -
        pub(crate) expiration_in_seconds: u64,
 7214         -
        pub(crate) normalize: bool,
 7215         -
        pub(crate) region: String,
 7216         -
        pub(crate) service: String,
 7217         -
        pub(crate) timestamp: String,
 7218         -
        pub(crate) omit_session_token: bool,
 7219         -
        pub(crate) sign_body: bool,
        9489  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        9490  +
        let test = SigningSuiteTest::v4a(test_name);
        9491  +
        let tc = test.context();
        9492  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        9493  +
        9494  +
        let req = test.request();
        9495  +
        let expected_creq = test.canonical_request(signature_location);
        9496  +
        let signable_req = SignableRequest::from(&req);
        9497  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        9498  +
        9499  +
        assert_eq!(
        9500  +
            expected_creq,
        9501  +
            actual_creq.to_string(),
        9502  +
            "canonical request didn't match (signature location: {signature_location:?})"
        9503  +
        );
        9504  +
        9505  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        9506  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        9507  +
        let actual_string_to_sign = StringToSign::new_v4a(
        9508  +
            *params.time(),
        9509  +
            params.region_set().unwrap(),
        9510  +
            params.name(),
        9511  +
            hashed_creq,
        9512  +
        )
        9513  +
        .to_string();
        9514  +
        9515  +
        assert_eq!(
        9516  +
            expected_string_to_sign, actual_string_to_sign,
        9517  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        9518  +
        );
        9519  +
        9520  +
        let out = sign(signable_req, &params).unwrap();
        9521  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        9522  +
        out.output
        9523  +
            .apply_to_request_http0x(&mut req.as_http_request());
        9524  +
        9525  +
        let creds = params.credentials().unwrap();
        9526  +
        let signing_key =
        9527  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        9528  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        9529  +
        let sig = sig
        9530  +
            .try_into()
        9531  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        9532  +
        9533  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        9534  +
        let peer_public_key = signing_key.verifying_key();
        9535  +
        let sts = actual_string_to_sign.as_bytes();
        9536  +
        peer_public_key.verify(sts, &sig).unwrap();
        9537  +
        // TODO(sigv4a) - use public.key.json as verifying key?
 7220   9538   
    }
 7221   9539   
 7222   9540   
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 7223   9541   
        fn from(tc: &'a TestContext) -> Self {
 7224   9542   
            crate::sign::v4a::SigningParams {
 7225   9543   
                identity: &tc.identity,
 7226   9544   
                region_set: &tc.region,
 7227   9545   
                name: &tc.service,
 7228   9546   
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 7229   9547   
                    .unwrap()
 7230   9548   
                    .into(),
 7231   9549   
                settings: SigningSettings {
 7232   9550   
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 7233   9551   
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 7234   9552   
                    uri_path_normalization_mode: tc.normalize.into(),
 7235   9553   
                    session_token_mode: if tc.omit_session_token {
 7236   9554   
                        SessionTokenMode::Exclude
 7237   9555   
                    } else {
 7238   9556   
                        SessionTokenMode::Include
 7239   9557   
                    },
 7240   9558   
                    payload_checksum_kind: if tc.sign_body {
 7241   9559   
                        PayloadChecksumKind::XAmzSha256
 7242   9560   
                    } else {
 7243   9561   
                        PayloadChecksumKind::NoHeader
 7244   9562   
                    },
 7245   9563   
                    ..Default::default()
 7246   9564   
                },
 7247   9565   
            }
 7248   9566   
        }
 7249   9567   
    }
 7250   9568   
 7251         -
    // Serde has limitations requiring this odd workaround.
 7252         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 7253         -
    fn return_true() -> bool {
 7254         -
        true
 7255         -
    }
 7256         -
 7257         -
    #[derive(Deserialize)]
 7258         -
    pub(crate) struct TestContextBuilder {
 7259         -
        credentials: TestContextCreds,
 7260         -
        expiration_in_seconds: u64,
 7261         -
        normalize: bool,
 7262         -
        region: String,
 7263         -
        service: String,
 7264         -
        timestamp: String,
 7265         -
        #[serde(default)]
 7266         -
        omit_session_token: bool,
 7267         -
        #[serde(default = "return_true")]
 7268         -
        sign_body: bool,
 7269         -
    }
 7270         -
 7271         -
    impl TestContextBuilder {
 7272         -
        pub(crate) fn build(self) -> TestContext {
 7273         -
            let identity = Identity::new(
 7274         -
                Credentials::from_keys(
 7275         -
                    &self.credentials.access_key_id,
 7276         -
                    &self.credentials.secret_access_key,
 7277         -
                    self.credentials.token.clone(),
 7278         -
                ),
 7279         -
                Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 7280         -
            );
 7281         -
 7282         -
            TestContext {
 7283         -
                identity,
 7284         -
                expiration_in_seconds: self.expiration_in_seconds,
 7285         -
                normalize: self.normalize,
 7286         -
                region: self.region,
 7287         -
                service: self.service,
 7288         -
                timestamp: self.timestamp,
 7289         -
                omit_session_token: self.omit_session_token,
 7290         -
                sign_body: self.sign_body,
 7291         -
            }
 7292         -
        }
 7293         -
    }
 7294         -
 7295         -
    #[derive(Deserialize)]
 7296         -
    pub(crate) struct TestContextCreds {
 7297         -
        access_key_id: String,
 7298         -
        secret_access_key: String,
 7299         -
        token: Option<String>,
 7300         -
    }
 7301         -
 7302   9569   
    #[test]
 7303   9570   
    fn test_parse() {
 7304         -
        let req = test_request("post-header-key-case");
        9571  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 7305   9572   
        assert_eq!(req.method, "POST");
 7306   9573   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 7307   9574   
        assert!(req.headers.is_empty());
 7308   9575   
    }
 7309   9576   
 7310   9577   
    #[test]
 7311   9578   
    fn test_read_query_params() {
 7312         -
        let req = test_request("get-header-value-trim");
        9579  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 7313   9580   
        assert_eq!(req.method, "GET");
 7314   9581   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 7315   9582   
        assert!(!req.headers.is_empty());
 7316   9583   
    }
 7317   9584   
}
 7318   9585   
 7319   9586   
fn read(path: &str) -> String {
 7320   9587   
    println!("Loading `{}` for test case...", path);
 7321   9588   
    let v = {
 7322   9589   
        match std::fs::read_to_string(path) {
 7323   9590   
            // This replacement is necessary for tests to pass on Windows, as reading the
 7324   9591   
            // test snapshots from the file system results in CRLF line endings being inserted.
 7325   9592   
            Ok(value) => value.replace("\r\n", "\n"),
 7326   9593   
            Err(err) => {
 7327   9594   
                panic!("failed to load test case `{}`: {}", path, err);
 7328   9595   
            }
 7329   9596   
        }
 7330   9597   
    };
 7331   9598   
 7332   9599   
    v.trim().to_string()
 7333   9600   
}
 7334   9601   
 7335   9602   
pub(crate) struct TestRequest {
 7336   9603   
    pub(crate) uri: String,
 7337   9604   
    pub(crate) method: String,
 7338   9605   
    pub(crate) headers: Vec<(String, String)>,
 7339   9606   
    pub(crate) body: TestSignedBody,
 7340   9607   
}
 7341   9608   
 7342   9609   
pub(crate) enum TestSignedBody {
 7343   9610   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 7344   9611   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 7345   9612   
                    )
 7346   9613   
                })
 7347   9614   
                .collect::<Vec<_>>(),
 7348   9615   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 7349   9616   
        }
 7350   9617   
    }
 7351   9618   
}
 7352   9619   
 7353   9620   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 7354   9621   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 7355   9622   
        SignableRequest::new(
 7356   9623   
            &request.method,
 7357   9624   
            &request.uri,
 7358   9625   
            request
 7359   9626   
                .headers
 7360   9627   
                .iter()
 7361   9628   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 7362   9629   
            request.body.as_signable_body(),
 7363   9630   
        )
 7364   9631   
        .expect("URI MUST be valid")
 7365   9632   
    }
 7366   9633   
}
 7367   9634   
 7368   9635   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 7369   9636   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 7370   9637   
    // httparse 1.5 requires two trailing newlines to head the header section.
 7371   9638   
    let mut with_newline = Vec::from(s);
 7372   9639   
    with_newline.push(b'\n');
 7373   9640   
    let mut req = httparse::Request::new(&mut headers);
 7374         -
    let _ = req.parse(&with_newline).unwrap();
        9641  +
    let status = req.parse(&with_newline).unwrap();
        9642  +
        9643  +
    let body = if status.is_complete() {
        9644  +
        let body_offset = status.unwrap();
        9645  +
        // ignore the newline we added, take from original
        9646  +
        &s[body_offset..]
        9647  +
    } else {
        9648  +
        &[]
        9649  +
    };
 7375   9650   
 7376   9651   
    let mut uri_builder = Uri::builder().scheme("https");
 7377   9652   
    if let Some(path) = req.path {
 7378   9653   
        uri_builder = uri_builder.path_and_query(path);
 7379   9654   
    }
 7380   9655   
 7381   9656   
    let mut headers = vec![];
 7382   9657   
    for header in req.headers {
 7383   9658   
        let name = header.name.to_lowercase();
 7384   9659   
        if name == "host" {
 7385   9660   
            uri_builder = uri_builder.authority(header.value);
 7386   9661   
        } else if !name.is_empty() {
 7387   9662   
            headers.push((
 7388   9663   
                header.name.to_string(),
 7389   9664   
                std::str::from_utf8(header.value)?.to_string(),
 7390   9665   
            ));
 7391   9666   
        }
 7392   9667   
    }
 7393   9668   
 7394   9669   
    Ok(TestRequest {
 7395   9670   
        uri: uri_builder.build()?.to_string(),
 7396   9671   
        method: req.method.unwrap().to_string(),
 7397   9672   
        headers,
 7398         -
        body: TestSignedBody::Bytes(vec![]),
        9673  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 7399   9674   
    })
 7400   9675   
}
 7401   9676   
 7402   9677   
#[test]
 7403   9678   
fn test_parse_headers() {
 7404   9679   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 7405   9680   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 7406   9681   
    assert_eq!(
 7407   9682   
        httparse::parse_headers(buf, &mut headers),
 7408   9683   
        Ok(httparse::Status::Complete((
 7409   9684   
            56,
 7410   9685   
            &[
 7411   9686   
                httparse::Header {
 7412   9687   
                    name: "Host",
 7413   9688   
                    value: b"example.amazonaws.com",
 7414   9689   
                },
 7415   9690   
                httparse::Header {
 7416   9691   
                    name: "X-Amz-Date",
 7417   9692   
                    value: b"20150830T123600Z",
 7418   9693   
                }
 7419   9694   
            ][..]
 7420   9695   
        )))
 7421   9696   
    );
 7422   9697   
}
 7423   9698   
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
 7424   9699   
index a208453..fc00249 100644
 7425         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        9700  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 7426   9701   
@@ -168,52 +168,54 @@ pub mod signing_params {
 7427   9702   
        );
 7428   9703   
 7429   9704   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 7430   9705   
        /// a required argument was not given.
 7431   9706   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 7432   9707   
            Ok(SigningParams {
 7433   9708   
                identity: self
 7434   9709   
                    .identity
 7435   9710   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 7436   9711   
                region: self
 7437   9712   
                    .region
 7438   9713   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 7439   9714   
                name: self
 7440   9715   
                    .name
 7441   9716   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 7442   9717   
                time: self
 7443   9718   
                    .time
 7444   9719   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 7445   9720   
                settings: self
 7446   9721   
                    .settings
 7447   9722   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 7448   9723   
            })
 7449   9724   
        }
 7450   9725   
    }
 7451   9726   
}
 7452   9727   
 7453   9728   
#[cfg(test)]
 7454   9729   
mod tests {
 7455   9730   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 7456   9731   
    use crate::date_time::test_parsers::parse_date_time;
 7457         -
    use crate::http_request::test;
 7458   9732   
 7459   9733   
    #[test]
 7460   9734   
    fn test_signature_calculation() {
 7461   9735   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 7462         -
        let creq = test::v4::test_canonical_request("iam");
        9736  +
        let creq = r#"AWS4-HMAC-SHA256
        9737  +
20150830T123600Z
        9738  +
20150830/us-east-1/iam/aws4_request
        9739  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 7463   9740   
        let time = parse_date_time("20150830T123600Z").unwrap();
 7464   9741   
 7465   9742   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 7466   9743   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 7467   9744   
 7468   9745   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 7469   9746   
        assert_eq!(expected, &signature);
 7470   9747   
    }
 7471   9748   
 7472   9749   
    #[test]
 7473   9750   
    fn sign_payload_empty_string() {
 7474   9751   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 7475   9752   
        let actual = sha256_hex_string([]);
 7476   9753   
        assert_eq!(expected, actual);
 7477   9754   
    }
 7478   9755   
}
 7479   9756   
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
 7480   9757   
index ce78c38..8c2f591 100644
 7481         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        9758  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 7482   9759   
@@ -1,43 +1,43 @@
 7483   9760   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7484   9761   
[package]
 7485   9762   
name = "aws-smithy-checksums"
 7486   9763   
version = "0.63.5"
 7487   9764   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 7488   9765   
description = "Checksum calculation and verification callbacks"
 7489   9766   
edition = "2021"
 7490   9767   
license = "Apache-2.0"
 7491   9768   
repository = "https://github.com/smithy-lang/smithy-rs"
 7492   9769   
[package.metadata.docs.rs]
 7493   9770   
all-features = true
 7494   9771   
targets = ["x86_64-unknown-linux-gnu"]
 7495   9772   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 7496   9773   
rustdoc-args = ["--cfg", "docsrs"]
 7497   9774   
 7498   9775   
[dependencies]
 7499   9776   
bytes = "1.10.0"
 7500   9777   
crc-fast = "1.3.0"
 7501   9778   
hex = "0.4.3"
 7502   9779   
http = "0.2.9"
 7503   9780   
http-body = "0.4.5"
 7504   9781   
md-5 = "0.10"
 7505   9782   
pin-project-lite = "0.2.14"
 7506   9783   
sha1 = "0.10"
 7507   9784   
sha2 = "0.10"
 7508   9785   
tracing = "0.1.40"
 7509   9786   
 7510   9787   
[dependencies.aws-smithy-http]
 7511   9788   
path = "../aws-smithy-http"
 7512         -
version = "0.62.2"
        9789  +
version = "0.62.3"
 7513   9790   
 7514   9791   
[dependencies.aws-smithy-types]
 7515   9792   
path = "../aws-smithy-types"
 7516   9793   
version = "1.3.2"
 7517   9794   
 7518   9795   
[dev-dependencies]
 7519   9796   
bytes-utils = "0.1.2"
 7520   9797   
pretty_assertions = "1.3"
 7521   9798   
tracing-test = "0.2.1"
 7522   9799   
 7523   9800   
[dev-dependencies.tokio]
 7524   9801   
version = "1.23.1"
 7525   9802   
features = ["macros", "rt"]
 7526   9803   
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
 7527   9804   
index 970c99e..d3c7a49 100644
 7528         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        9805  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 7529   9806   
@@ -1,34 +1,34 @@
 7530   9807   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7531   9808   
[package]
 7532   9809   
name = "aws-smithy-http"
 7533         -
version = "0.62.2"
        9810  +
version = "0.62.3"
 7534   9811   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7535   9812   
description = "Smithy HTTP logic for smithy-rs."
 7536   9813   
edition = "2021"
 7537   9814   
license = "Apache-2.0"
 7538   9815   
repository = "https://github.com/smithy-lang/smithy-rs"
 7539   9816   
[package.metadata.docs.rs]
 7540   9817   
all-features = true
 7541   9818   
targets = ["x86_64-unknown-linux-gnu"]
 7542   9819   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 7543   9820   
rustdoc-args = ["--cfg", "docsrs"]
 7544   9821   
 7545   9822   
[features]
 7546   9823   
event-stream = ["aws-smithy-eventstream"]
 7547   9824   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 7548   9825   
 7549   9826   
[dependencies]
 7550   9827   
bytes = "1.10.0"
 7551   9828   
bytes-utils = "0.1"
 7552   9829   
percent-encoding = "2.3.1"
 7553   9830   
pin-project-lite = "0.2.14"
 7554   9831   
pin-utils = "0.1.0"
 7555   9832   
tracing = "0.1.40"
 7556   9833   
futures-core = "0.3.31"
 7557   9834   
 7558   9835   
[dependencies.aws-smithy-eventstream]
 7559   9836   
path = "../aws-smithy-eventstream"
 7560   9837   
optional = true
 7561   9838   
version = "0.60.10"
 7562   9839   
 7563   9840   
[dependencies.aws-smithy-runtime-api]
 7564   9841   
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
 7565   9842   
index 508f7a2..361545e 100644
 7566         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        9843  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 7567   9844   
@@ -1,27 +1,27 @@
 7568   9845   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7569   9846   
[[bin]]
 7570   9847   
name = "read_many_from_str"
 7571   9848   
path = "fuzz_targets/read_many_from_str.rs"
 7572   9849   
test = false
 7573   9850   
doc = false
 7574   9851   
 7575   9852   
[package]
 7576   9853   
name = "aws-smithy-http-fuzz"
 7577   9854   
version = "0.0.0"
 7578   9855   
authors = ["Automatically generated"]
 7579   9856   
publish = false
 7580   9857   
edition = "2021"
 7581   9858   
 7582   9859   
[package.metadata]
 7583   9860   
cargo-fuzz = true
 7584   9861   
 7585   9862   
[dependencies]
 7586   9863   
libfuzzer-sys = "=0.4.7"
 7587   9864   
http = "0.2.3"
 7588   9865   
 7589   9866   
[dependencies.aws-smithy-http]
 7590   9867   
path = ".."
 7591         -
version = "0.62.2"
        9868  +
version = "0.62.3"
 7592   9869   
 7593   9870   
[workspace]
 7594   9871   
members = ["."]
 7595   9872   
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
 7596   9873   
index fef41d0..2792229 100644
 7597         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        9874  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 7598   9875   
@@ -25,68 +25,74 @@ impl QueryWriter {
 7599   9876   
    pub fn new(uri: &Uri) -> Self {
 7600   9877   
        let new_path_and_query = uri
 7601   9878   
            .path_and_query()
 7602   9879   
            .map(|pq| pq.to_string())
 7603   9880   
            .unwrap_or_default();
 7604   9881   
        let prefix = if uri.query().is_none() {
 7605   9882   
            Some('?')
 7606   9883   
        } else if !uri.query().unwrap_or_default().is_empty() {
 7607   9884   
            Some('&')
 7608   9885   
        } else {
 7609   9886   
            None
 7610   9887   
        };
 7611   9888   
        QueryWriter {
 7612   9889   
            base_uri: uri.clone(),
 7613   9890   
            new_path_and_query,
 7614   9891   
            prefix,
 7615   9892   
        }
 7616   9893   
    }
 7617   9894   
 7618   9895   
    /// Clears all query parameters.
 7619   9896   
    pub fn clear_params(&mut self) {
 7620   9897   
        if let Some(index) = self.new_path_and_query.find('?') {
 7621   9898   
            self.new_path_and_query.truncate(index);
 7622   9899   
            self.prefix = Some('?');
 7623   9900   
        }
 7624   9901   
    }
 7625   9902   
 7626   9903   
    /// Inserts a new query parameter. The key and value are percent encoded
 7627   9904   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 7628   9905   
    pub fn insert(&mut self, k: &str, v: &str) {
        9906  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        9907  +
    }
        9908  +
    
        9909  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        9910  +
    /// as is.
        9911  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 7629   9912   
        if let Some(prefix) = self.prefix {
 7630   9913   
            self.new_path_and_query.push(prefix);
 7631   9914   
        }
 7632   9915   
        self.prefix = Some('&');
 7633         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        9916  +
        self.new_path_and_query.push_str(encoded_k);
 7634   9917   
        self.new_path_and_query.push('=');
 7635         -
 7636         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
        9918  +
        self.new_path_and_query.push_str(encoded_v)
        9919  +
        
 7637   9920   
    }
 7638   9921   
 7639   9922   
    /// Returns just the built query string.
 7640   9923   
    pub fn build_query(self) -> String {
 7641   9924   
        self.build_uri().query().unwrap_or_default().to_string()
 7642   9925   
    }
 7643   9926   
 7644   9927   
    /// Returns a full [`Uri`] with the query string updated.
 7645   9928   
    pub fn build_uri(self) -> Uri {
 7646   9929   
        let mut parts = self.base_uri.into_parts();
 7647   9930   
        parts.path_and_query = Some(
 7648   9931   
            self.new_path_and_query
 7649   9932   
                .parse()
 7650   9933   
                .expect("adding query should not invalidate URI"),
 7651   9934   
        );
 7652   9935   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 7653   9936   
    }
 7654   9937   
}
 7655   9938   
 7656   9939   
#[cfg(test)]
 7657   9940   
mod test {
 7658   9941   
    use super::QueryWriter;
 7659   9942   
    use http_02x::Uri;
 7660   9943   
 7661   9944   
    #[test]
 7662   9945   
    fn empty_uri() {
 7663   9946   
        let uri = Uri::from_static("http://www.example.com");
 7664   9947   
        let mut query_writer = QueryWriter::new(&uri);
 7665   9948   
        query_writer.insert("key", "val%ue");
 7666   9949   
        query_writer.insert("another", "value");
 7667   9950   
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
 7668   9951   
index f108978..df7a9fe 100644
 7669         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
        9952  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 7670   9953   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 7671   9954   
 7672   9955   
[package.metadata.smithy-rs-release-tooling]
 7673   9956   
stable = true
 7674   9957   
[package.metadata.cargo-udeps.ignore]
 7675   9958   
normal = ["aws-smithy-http"]
 7676   9959   
 7677   9960   
[features]
 7678   9961   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 7679   9962   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 7680   9963   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 7681   9964   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 7682   9965   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 7683   9966   
rt-tokio = ["tokio/rt"]
 7684   9967   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 7685   9968   
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"]
 7686   9969   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 7687   9970   
 7688   9971   
[dependencies]
 7689   9972   
bytes = "1.10.0"
 7690   9973   
fastrand = "2.3.0"
 7691   9974   
pin-project-lite = "0.2.14"
 7692   9975   
pin-utils = "0.1.0"
 7693   9976   
tracing = "0.1.40"
 7694   9977   
 7695   9978   
[dependencies.aws-smithy-async]
 7696   9979   
path = "../aws-smithy-async"
 7697   9980   
version = "1.2.5"
 7698   9981   
 7699   9982   
[dependencies.aws-smithy-http]
 7700   9983   
path = "../aws-smithy-http"
 7701         -
version = "0.62.2"
        9984  +
version = "0.62.3"
 7702   9985   
 7703   9986   
[dependencies.aws-smithy-observability]
 7704   9987   
path = "../aws-smithy-observability"
 7705   9988   
version = "0.1.3"
 7706   9989   
 7707   9990   
[dependencies.aws-smithy-runtime-api]
 7708   9991   
path = "../aws-smithy-runtime-api"
 7709   9992   
version = "1.8.5"
 7710   9993   
 7711   9994   
[dependencies.aws-smithy-types]
 7712   9995   
path = "../aws-smithy-types"
 7713   9996   
features = ["http-body-0-4-x"]
 7714   9997   
version = "1.3.2"
 7715   9998   
 7716   9999   
[dependencies.aws-smithy-http-client]
 7717  10000   
path = "../aws-smithy-http-client"
 7718  10001   
optional = true
 7719  10002   
version = "1.0.6"
 7720  10003   
 7721  10004   
[dependencies.http-02x]
 7722  10005   
package = "http"
 7723  10006   
version = "0.2.9"
 7724  10007   
 7725  10008   
[dependencies.http-1x]
 7726  10009   
package = "http"
 7727  10010   
version = "1"
 7728  10011   
 7729  10012   
[dependencies.http-body-04x]
 7730  10013   
package = "http-body"
 7731  10014   
version = "0.4.5"
 7732  10015   
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
 7733  10016   
index 4e050c6..f58eb1c 100644
 7734         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
       10017  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 7735  10018   
@@ -1,33 +1,33 @@
 7736  10019   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7737  10020   
[package]
 7738  10021   
name = "aws-smithy-wasm"
 7739  10022   
version = "0.1.4"
 7740  10023   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 7741  10024   
description = "Smithy WebAssembly configuration for smithy-rs."
 7742  10025   
edition = "2021"
 7743  10026   
license = "Apache-2.0"
 7744  10027   
repository = "https://github.com/awslabs/smithy-rs"
 7745  10028   
[package.metadata.docs.rs]
 7746  10029   
all-features = true
 7747  10030   
targets = ["x86_64-unknown-linux-gnu"]
 7748  10031   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 7749  10032   
rustdoc-args = ["--cfg", "docsrs"]
 7750  10033   
 7751  10034   
[dependencies]
 7752  10035   
bytes = "1.10.0"
 7753  10036   
http = "1.0.0"
 7754  10037   
tracing = "0.1.40"
 7755  10038   
wasi = "0.12.1"
 7756  10039   
 7757  10040   
[dependencies.aws-smithy-runtime-api]
 7758  10041   
path = "../aws-smithy-runtime-api"
 7759  10042   
features = ["http-1x"]
 7760  10043   
version = "1.8.5"
 7761  10044   
 7762  10045   
[dependencies.aws-smithy-http]
 7763  10046   
path = "../aws-smithy-http"
 7764         -
version = "0.62.2"
       10047  +
version = "0.62.3"
 7765  10048   
 7766  10049   
[dependencies.aws-smithy-types]
 7767  10050   
path = "../aws-smithy-types"
 7768  10051   
version = "1.3.2"
 7769  10052   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 7770  10053   
index a880648..139e808 100644
 7771         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
       10054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 7772  10055   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 7773  10056   
edition = "2021"
 7774  10057   
license = "Apache-2.0"
 7775  10058   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7776  10059   
rust-version = "1.86.0"
 7777  10060   
readme = "README.md"
 7778  10061   
[package.metadata.smithy]
 7779  10062   
codegen-version = "ci"
 7780  10063   
[package.metadata.docs.rs]
 7781  10064   
all-features = true
 7782  10065   
targets = ["x86_64-unknown-linux-gnu"]
 7783  10066   
[dependencies.aws-credential-types]
 7784  10067   
path = "../aws-credential-types"
 7785  10068   
version = "1.2.4"
 7786  10069   
 7787  10070   
[dependencies.aws-runtime]
 7788  10071   
path = "../aws-runtime"
 7789  10072   
features = ["event-stream"]
 7790  10073   
version = "1.5.9"
 7791  10074   
 7792  10075   
[dependencies.aws-smithy-async]
 7793  10076   
path = "../aws-smithy-async"
 7794  10077   
version = "1.2.5"
 7795  10078   
 7796  10079   
[dependencies.aws-smithy-eventstream]
 7797  10080   
path = "../aws-smithy-eventstream"
 7798  10081   
version = "0.60.10"
 7799  10082   
 7800  10083   
[dependencies.aws-smithy-http]
 7801  10084   
path = "../aws-smithy-http"
 7802  10085   
features = ["event-stream"]
 7803         -
version = "0.62.2"
       10086  +
version = "0.62.3"
 7804  10087   
 7805  10088   
[dependencies.aws-smithy-json]
 7806  10089   
path = "../aws-smithy-json"
 7807  10090   
version = "0.61.4"
 7808  10091   
 7809  10092   
[dependencies.aws-smithy-runtime]
 7810  10093   
path = "../aws-smithy-runtime"
 7811  10094   
features = ["client"]
 7812  10095   
version = "1.8.5"
 7813  10096   
 7814  10097   
[dependencies.aws-smithy-runtime-api]
 7815  10098   
path = "../aws-smithy-runtime-api"
 7816  10099   
features = ["client", "http-02x"]
 7817  10100   
version = "1.8.5"
 7818  10101   
 7819  10102   
[dependencies.aws-smithy-types]
 7820  10103   
path = "../aws-smithy-types"
 7821  10104   
version = "1.3.2"
 7822  10105   
 7823  10106   
[dependencies.aws-types]
 7824  10107   
path = "../aws-types"
 7825  10108   
version = "1.3.8"
 7826  10109   
 7827  10110   
[dependencies.bytes]
 7828  10111   
version = "1.4.0"
 7829  10112   
 7830  10113   
[dependencies.fastrand]
 7831  10114   
version = "2.0.0"
 7832  10115   
 7833  10116   
[dependencies.http]
 7834  10117   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 7835  10118   
index 415ecc9..667d12b 100644
 7836         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
       10119  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 7837  10120   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 7838  10121   
edition = "2021"
 7839  10122   
license = "Apache-2.0"
 7840  10123   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7841  10124   
rust-version = "1.86.0"
 7842  10125   
readme = "README.md"
 7843  10126   
[package.metadata.smithy]
 7844  10127   
codegen-version = "ci"
 7845  10128   
[package.metadata.docs.rs]
 7846  10129   
all-features = true
 7847  10130   
targets = ["x86_64-unknown-linux-gnu"]
 7848  10131   
[dependencies.aws-credential-types]
 7849  10132   
path = "../aws-credential-types"
 7850  10133   
version = "1.2.4"
 7851  10134   
 7852  10135   
[dependencies.aws-runtime]
 7853  10136   
path = "../aws-runtime"
 7854  10137   
features = ["event-stream"]
 7855  10138   
version = "1.5.9"
 7856  10139   
 7857  10140   
[dependencies.aws-smithy-async]
 7858  10141   
path = "../aws-smithy-async"
 7859  10142   
version = "1.2.5"
 7860  10143   
 7861  10144   
[dependencies.aws-smithy-eventstream]
 7862  10145   
path = "../aws-smithy-eventstream"
 7863  10146   
version = "0.60.10"
 7864  10147   
 7865  10148   
[dependencies.aws-smithy-http]
 7866  10149   
path = "../aws-smithy-http"
 7867  10150   
features = ["event-stream"]
 7868         -
version = "0.62.2"
       10151  +
version = "0.62.3"
 7869  10152   
 7870  10153   
[dependencies.aws-smithy-json]
 7871  10154   
path = "../aws-smithy-json"
 7872  10155   
version = "0.61.4"
 7873  10156   
 7874  10157   
[dependencies.aws-smithy-runtime]
 7875  10158   
path = "../aws-smithy-runtime"
 7876  10159   
features = ["client"]
 7877  10160   
version = "1.8.5"
 7878  10161   
 7879  10162   
[dependencies.aws-smithy-runtime-api]
 7880  10163   
path = "../aws-smithy-runtime-api"
 7881  10164   
features = ["client", "http-02x"]
 7882  10165   
version = "1.8.5"
 7883  10166   
 7884  10167   
[dependencies.aws-smithy-types]
 7885  10168   
path = "../aws-smithy-types"
 7886  10169   
version = "1.3.2"
 7887  10170   
 7888  10171   
[dependencies.aws-types]
 7889  10172   
path = "../aws-types"
 7890  10173   
version = "1.3.8"
 7891  10174   
 7892  10175   
[dependencies.bytes]
 7893  10176   
version = "1.4.0"
 7894  10177   
 7895  10178   
[dependencies.fastrand]
 7896  10179   
version = "2.0.0"
 7897  10180   
 7898  10181   
[dependencies.http]
 7899  10182   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 7900  10183   
index 8871cab..ed88de6 100644
 7901         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
       10184  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 7902  10185   
@@ -1,61 +1,61 @@
 7903  10186   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7904  10187   
[package]
 7905  10188   
name = "aws-sdk-codecatalyst"
 7906  10189   
version = "0.0.0-local"
 7907  10190   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7908  10191   
description = "AWS SDK for Amazon CodeCatalyst"
 7909  10192   
edition = "2021"
 7910  10193   
license = "Apache-2.0"
 7911  10194   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7912  10195   
rust-version = "1.86.0"
 7913  10196   
readme = "README.md"
 7914  10197   
[package.metadata.smithy]
 7915  10198   
codegen-version = "ci"
 7916  10199   
[package.metadata.docs.rs]
 7917  10200   
all-features = true
 7918  10201   
targets = ["x86_64-unknown-linux-gnu"]
 7919  10202   
[dependencies.aws-credential-types]
 7920  10203   
path = "../aws-credential-types"
 7921  10204   
version = "1.2.4"
 7922  10205   
 7923  10206   
[dependencies.aws-runtime]
 7924  10207   
path = "../aws-runtime"
 7925  10208   
version = "1.5.9"
 7926  10209   
 7927  10210   
[dependencies.aws-smithy-async]
 7928  10211   
path = "../aws-smithy-async"
 7929  10212   
version = "1.2.5"
 7930  10213   
 7931  10214   
[dependencies.aws-smithy-http]
 7932  10215   
path = "../aws-smithy-http"
 7933         -
version = "0.62.2"
       10216  +
version = "0.62.3"
 7934  10217   
 7935  10218   
[dependencies.aws-smithy-json]
 7936  10219   
path = "../aws-smithy-json"
 7937  10220   
version = "0.61.4"
 7938  10221   
 7939  10222   
[dependencies.aws-smithy-runtime]
 7940  10223   
path = "../aws-smithy-runtime"
 7941  10224   
features = ["client", "http-auth"]
 7942  10225   
version = "1.8.5"
 7943  10226   
 7944  10227   
[dependencies.aws-smithy-runtime-api]
 7945  10228   
path = "../aws-smithy-runtime-api"
 7946  10229   
features = ["client", "http-02x", "http-auth"]
 7947  10230   
version = "1.8.5"
 7948  10231   
 7949  10232   
[dependencies.aws-smithy-types]
 7950  10233   
path = "../aws-smithy-types"
 7951  10234   
version = "1.3.2"
 7952  10235   
 7953  10236   
[dependencies.aws-types]
 7954  10237   
path = "../aws-types"
 7955  10238   
version = "1.3.8"
 7956  10239   
 7957  10240   
[dependencies.bytes]
 7958  10241   
version = "1.4.0"
 7959  10242   
 7960  10243   
[dependencies.fastrand]
 7961  10244   
version = "2.0.0"
 7962  10245   
 7963  10246   
[dependencies.http]
 7964  10247   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 7965  10248   
index 89573ff..05238af 100644
 7966         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
       10249  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 7967  10250   
@@ -1,61 +1,61 @@
 7968  10251   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7969  10252   
[package]
 7970  10253   
name = "aws-sdk-config"
 7971  10254   
version = "0.0.0-local"
 7972  10255   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7973  10256   
description = "AWS SDK for AWS Config"
 7974  10257   
edition = "2021"
 7975  10258   
license = "Apache-2.0"
 7976  10259   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7977  10260   
rust-version = "1.86.0"
 7978  10261   
readme = "README.md"
 7979  10262   
[package.metadata.smithy]
 7980  10263   
codegen-version = "ci"
 7981  10264   
[package.metadata.docs.rs]
 7982  10265   
all-features = true
 7983  10266   
targets = ["x86_64-unknown-linux-gnu"]
 7984  10267   
[dependencies.aws-credential-types]
 7985  10268   
path = "../aws-credential-types"
 7986  10269   
version = "1.2.4"
 7987  10270   
 7988  10271   
[dependencies.aws-runtime]
 7989  10272   
path = "../aws-runtime"
 7990  10273   
version = "1.5.9"
 7991  10274   
 7992  10275   
[dependencies.aws-smithy-async]
 7993  10276   
path = "../aws-smithy-async"
 7994  10277   
version = "1.2.5"
 7995  10278   
 7996  10279   
[dependencies.aws-smithy-http]
 7997  10280   
path = "../aws-smithy-http"
 7998         -
version = "0.62.2"
       10281  +
version = "0.62.3"
 7999  10282   
 8000  10283   
[dependencies.aws-smithy-json]
 8001  10284   
path = "../aws-smithy-json"
 8002  10285   
version = "0.61.4"
 8003  10286   
 8004  10287   
[dependencies.aws-smithy-runtime]
 8005  10288   
path = "../aws-smithy-runtime"
 8006  10289   
features = ["client"]
 8007  10290   
version = "1.8.5"
 8008  10291   
 8009  10292   
[dependencies.aws-smithy-runtime-api]
 8010  10293   
path = "../aws-smithy-runtime-api"
 8011  10294   
features = ["client", "http-02x"]
 8012  10295   
version = "1.8.5"
 8013  10296   
 8014  10297   
[dependencies.aws-smithy-types]
 8015  10298   
path = "../aws-smithy-types"
 8016  10299   
version = "1.3.2"
 8017  10300   
 8018  10301   
[dependencies.aws-types]
 8019  10302   
path = "../aws-types"
 8020  10303   
version = "1.3.8"
 8021  10304   
 8022  10305   
[dependencies.bytes]
 8023  10306   
version = "1.4.0"
 8024  10307   
 8025  10308   
[dependencies.fastrand]
 8026  10309   
version = "2.0.0"
 8027  10310   
 8028  10311   
[dependencies.http]
 8029  10312   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 8030  10313   
index d397c58..2c1062b 100644
 8031         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
       10314  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 8032  10315   
@@ -1,61 +1,61 @@
 8033  10316   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8034  10317   
[package]
 8035  10318   
name = "aws-sdk-dynamodb"
 8036  10319   
version = "0.0.0-local"
 8037  10320   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8038  10321   
description = "AWS SDK for Amazon DynamoDB"
 8039  10322   
edition = "2021"
 8040  10323   
license = "Apache-2.0"
 8041  10324   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8042  10325   
rust-version = "1.86.0"
 8043  10326   
readme = "README.md"
 8044  10327   
[package.metadata.smithy]
 8045  10328   
codegen-version = "ci"
 8046  10329   
[package.metadata.docs.rs]
 8047  10330   
all-features = true
 8048  10331   
targets = ["x86_64-unknown-linux-gnu"]
 8049  10332   
[dependencies.aws-credential-types]
 8050  10333   
path = "../aws-credential-types"
 8051  10334   
version = "1.2.4"
 8052  10335   
 8053  10336   
[dependencies.aws-runtime]
 8054  10337   
path = "../aws-runtime"
 8055  10338   
version = "1.5.9"
 8056  10339   
 8057  10340   
[dependencies.aws-smithy-async]
 8058  10341   
path = "../aws-smithy-async"
 8059  10342   
version = "1.2.5"
 8060  10343   
 8061  10344   
[dependencies.aws-smithy-http]
 8062  10345   
path = "../aws-smithy-http"
 8063         -
version = "0.62.2"
       10346  +
version = "0.62.3"
 8064  10347   
 8065  10348   
[dependencies.aws-smithy-json]
 8066  10349   
path = "../aws-smithy-json"
 8067  10350   
version = "0.61.4"
 8068  10351   
 8069  10352   
[dependencies.aws-smithy-runtime]
 8070  10353   
path = "../aws-smithy-runtime"
 8071  10354   
features = ["client"]
 8072  10355   
version = "1.8.5"
 8073  10356   
 8074  10357   
[dependencies.aws-smithy-runtime-api]
 8075  10358   
path = "../aws-smithy-runtime-api"
 8076  10359   
features = ["client", "http-02x"]
 8077  10360   
version = "1.8.5"
 8078  10361   
 8079  10362   
[dependencies.aws-smithy-types]
 8080  10363   
path = "../aws-smithy-types"
 8081  10364   
version = "1.3.2"
 8082  10365   
 8083  10366   
[dependencies.aws-types]
 8084  10367   
path = "../aws-types"
 8085  10368   
version = "1.3.8"
 8086  10369   
 8087  10370   
[dependencies.bytes]
 8088  10371   
version = "1.4.0"
 8089  10372   
 8090  10373   
[dependencies.fastrand]
 8091  10374   
version = "2.0.0"
 8092  10375   
 8093  10376   
[dependencies.http]
 8094  10377   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 8095  10378   
index c0ba315..46168af 100644
 8096         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
       10379  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 8097  10380   
@@ -1,61 +1,61 @@
 8098  10381   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8099  10382   
[package]
 8100  10383   
name = "aws-sdk-ec2"
 8101  10384   
version = "0.0.0-local"
 8102  10385   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8103  10386   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 8104  10387   
edition = "2021"
 8105  10388   
license = "Apache-2.0"
 8106  10389   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8107  10390   
rust-version = "1.86.0"
 8108  10391   
readme = "README.md"
 8109  10392   
[package.metadata.smithy]
 8110  10393   
codegen-version = "ci"
 8111  10394   
[package.metadata.docs.rs]
 8112  10395   
all-features = true
 8113  10396   
targets = ["x86_64-unknown-linux-gnu"]
 8114  10397   
[dependencies.aws-credential-types]
 8115  10398   
path = "../aws-credential-types"
 8116  10399   
version = "1.2.4"
 8117  10400   
 8118  10401   
[dependencies.aws-runtime]
 8119  10402   
path = "../aws-runtime"
 8120  10403   
version = "1.5.9"
 8121  10404   
 8122  10405   
[dependencies.aws-smithy-async]
 8123  10406   
path = "../aws-smithy-async"
 8124  10407   
version = "1.2.5"
 8125  10408   
 8126  10409   
[dependencies.aws-smithy-http]
 8127  10410   
path = "../aws-smithy-http"
 8128         -
version = "0.62.2"
       10411  +
version = "0.62.3"
 8129  10412   
 8130  10413   
[dependencies.aws-smithy-json]
 8131  10414   
path = "../aws-smithy-json"
 8132  10415   
version = "0.61.4"
 8133  10416   
 8134  10417   
[dependencies.aws-smithy-query]
 8135  10418   
path = "../aws-smithy-query"
 8136  10419   
version = "0.60.7"
 8137  10420   
 8138  10421   
[dependencies.aws-smithy-runtime]
 8139  10422   
path = "../aws-smithy-runtime"
 8140  10423   
features = ["client"]
 8141  10424   
version = "1.8.5"
 8142  10425   
 8143  10426   
[dependencies.aws-smithy-runtime-api]
 8144  10427   
path = "../aws-smithy-runtime-api"
 8145  10428   
features = ["client", "http-02x"]
 8146  10429   
version = "1.8.5"
 8147  10430   
 8148  10431   
[dependencies.aws-smithy-types]
 8149  10432   
path = "../aws-smithy-types"
 8150  10433   
version = "1.3.2"
 8151  10434   
 8152  10435   
[dependencies.aws-smithy-xml]
 8153  10436   
path = "../aws-smithy-xml"
 8154  10437   
version = "0.60.10"
 8155  10438   
 8156  10439   
[dependencies.aws-types]
 8157  10440   
path = "../aws-types"
 8158  10441   
version = "1.3.8"
 8159  10442   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 8160  10443   
index 4474d17..095d40e 100644
 8161         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
       10444  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 8162  10445   
@@ -1,61 +1,61 @@
 8163  10446   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8164  10447   
[package]
 8165  10448   
name = "aws-sdk-ecs"
 8166  10449   
version = "0.0.0-local"
 8167  10450   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8168  10451   
description = "AWS SDK for Amazon EC2 Container Service"
 8169  10452   
edition = "2021"
 8170  10453   
license = "Apache-2.0"
 8171  10454   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8172  10455   
rust-version = "1.86.0"
 8173  10456   
readme = "README.md"
 8174  10457   
[package.metadata.smithy]
 8175  10458   
codegen-version = "ci"
 8176  10459   
[package.metadata.docs.rs]
 8177  10460   
all-features = true
 8178  10461   
targets = ["x86_64-unknown-linux-gnu"]
 8179  10462   
[dependencies.aws-credential-types]
 8180  10463   
path = "../aws-credential-types"
 8181  10464   
version = "1.2.4"
 8182  10465   
 8183  10466   
[dependencies.aws-runtime]
 8184  10467   
path = "../aws-runtime"
 8185  10468   
version = "1.5.9"
 8186  10469   
 8187  10470   
[dependencies.aws-smithy-async]
 8188  10471   
path = "../aws-smithy-async"
 8189  10472   
version = "1.2.5"
 8190  10473   
 8191  10474   
[dependencies.aws-smithy-http]
 8192  10475   
path = "../aws-smithy-http"
 8193         -
version = "0.62.2"
       10476  +
version = "0.62.3"
 8194  10477   
 8195  10478   
[dependencies.aws-smithy-json]
 8196  10479   
path = "../aws-smithy-json"
 8197  10480   
version = "0.61.4"
 8198  10481   
 8199  10482   
[dependencies.aws-smithy-runtime]
 8200  10483   
path = "../aws-smithy-runtime"
 8201  10484   
features = ["client"]
 8202  10485   
version = "1.8.5"
 8203  10486   
 8204  10487   
[dependencies.aws-smithy-runtime-api]
 8205  10488   
path = "../aws-smithy-runtime-api"
 8206  10489   
features = ["client", "http-02x"]
 8207  10490   
version = "1.8.5"
 8208  10491   
 8209  10492   
[dependencies.aws-smithy-types]
 8210  10493   
path = "../aws-smithy-types"
 8211  10494   
version = "1.3.2"
 8212  10495   
 8213  10496   
[dependencies.aws-types]
 8214  10497   
path = "../aws-types"
 8215  10498   
version = "1.3.8"
 8216  10499   
 8217  10500   
[dependencies.bytes]
 8218  10501   
version = "1.4.0"
 8219  10502   
 8220  10503   
[dependencies.fastrand]
 8221  10504   
version = "2.0.0"
 8222  10505   
 8223  10506   
[dependencies.http]
 8224  10507   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 8225  10508   
index 15b1d77..16d7d89 100644
 8226         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
       10509  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 8227  10510   
@@ -1,65 +1,65 @@
 8228  10511   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8229  10512   
[package]
 8230  10513   
name = "aws-sdk-glacier"
 8231  10514   
version = "0.0.0-local"
 8232  10515   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8233  10516   
description = "AWS SDK for Amazon Glacier"
 8234  10517   
edition = "2021"
 8235  10518   
license = "Apache-2.0"
 8236  10519   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8237  10520   
rust-version = "1.86.0"
 8238  10521   
readme = "README.md"
 8239  10522   
[package.metadata.smithy]
 8240  10523   
codegen-version = "ci"
 8241  10524   
[package.metadata.docs.rs]
 8242  10525   
all-features = true
 8243  10526   
targets = ["x86_64-unknown-linux-gnu"]
 8244  10527   
[dependencies.aws-credential-types]
 8245  10528   
path = "../aws-credential-types"
 8246  10529   
version = "1.2.4"
 8247  10530   
 8248  10531   
[dependencies.aws-runtime]
 8249  10532   
path = "../aws-runtime"
 8250  10533   
version = "1.5.9"
 8251  10534   
 8252  10535   
[dependencies.aws-sigv4]
 8253  10536   
path = "../aws-sigv4"
 8254         -
version = "1.3.3"
       10537  +
version = "1.3.4"
 8255  10538   
 8256  10539   
[dependencies.aws-smithy-async]
 8257  10540   
path = "../aws-smithy-async"
 8258  10541   
version = "1.2.5"
 8259  10542   
 8260  10543   
[dependencies.aws-smithy-http]
 8261  10544   
path = "../aws-smithy-http"
 8262         -
version = "0.62.2"
       10545  +
version = "0.62.3"
 8263  10546   
 8264  10547   
[dependencies.aws-smithy-json]
 8265  10548   
path = "../aws-smithy-json"
 8266  10549   
version = "0.61.4"
 8267  10550   
 8268  10551   
[dependencies.aws-smithy-runtime]
 8269  10552   
path = "../aws-smithy-runtime"
 8270  10553   
features = ["client"]
 8271  10554   
version = "1.8.5"
 8272  10555   
 8273  10556   
[dependencies.aws-smithy-runtime-api]
 8274  10557   
path = "../aws-smithy-runtime-api"
 8275  10558   
features = ["client", "http-02x"]
 8276  10559   
version = "1.8.5"
 8277  10560   
 8278  10561   
[dependencies.aws-smithy-types]
 8279  10562   
path = "../aws-smithy-types"
 8280  10563   
version = "1.3.2"
 8281  10564   
 8282  10565   
[dependencies.aws-types]
 8283  10566   
path = "../aws-types"
 8284  10567   
version = "1.3.8"
 8285  10568   
 8286  10569   
[dependencies.bytes]
 8287  10570   
version = "1.4.0"
 8288  10571   
 8289  10572   
[dependencies.fastrand]
 8290  10573   
version = "2.0.0"
 8291  10574   
 8292  10575   
[dependencies.hex]
 8293  10576   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 8294  10577   
index d718a3a..65e6f24 100644
 8295         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
       10578  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 8296  10579   
@@ -1,61 +1,61 @@
 8297  10580   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8298  10581   
[package]
 8299  10582   
name = "aws-sdk-iam"
 8300  10583   
version = "0.0.0-local"
 8301  10584   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8302  10585   
description = "AWS SDK for AWS Identity and Access Management"
 8303  10586   
edition = "2021"
 8304  10587   
license = "Apache-2.0"
 8305  10588   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8306  10589   
rust-version = "1.86.0"
 8307  10590   
readme = "README.md"
 8308  10591   
[package.metadata.smithy]
 8309  10592   
codegen-version = "ci"
 8310  10593   
[package.metadata.docs.rs]
 8311  10594   
all-features = true
 8312  10595   
targets = ["x86_64-unknown-linux-gnu"]
 8313  10596   
[dependencies.aws-credential-types]
 8314  10597   
path = "../aws-credential-types"
 8315  10598   
version = "1.2.4"
 8316  10599   
 8317  10600   
[dependencies.aws-runtime]
 8318  10601   
path = "../aws-runtime"
 8319  10602   
version = "1.5.9"
 8320  10603   
 8321  10604   
[dependencies.aws-smithy-async]
 8322  10605   
path = "../aws-smithy-async"
 8323  10606   
version = "1.2.5"
 8324  10607   
 8325  10608   
[dependencies.aws-smithy-http]
 8326  10609   
path = "../aws-smithy-http"
 8327         -
version = "0.62.2"
       10610  +
version = "0.62.3"
 8328  10611   
 8329  10612   
[dependencies.aws-smithy-json]
 8330  10613   
path = "../aws-smithy-json"
 8331  10614   
version = "0.61.4"
 8332  10615   
 8333  10616   
[dependencies.aws-smithy-query]
 8334  10617   
path = "../aws-smithy-query"
 8335  10618   
version = "0.60.7"
 8336  10619   
 8337  10620   
[dependencies.aws-smithy-runtime]
 8338  10621   
path = "../aws-smithy-runtime"
 8339  10622   
features = ["client"]
 8340  10623   
version = "1.8.5"
 8341  10624   
 8342  10625   
[dependencies.aws-smithy-runtime-api]
 8343  10626   
path = "../aws-smithy-runtime-api"
 8344  10627   
features = ["client", "http-02x"]
 8345  10628   
version = "1.8.5"
 8346  10629   
 8347  10630   
[dependencies.aws-smithy-types]
 8348  10631   
path = "../aws-smithy-types"
 8349  10632   
version = "1.3.2"
 8350  10633   
 8351  10634   
[dependencies.aws-smithy-xml]
 8352  10635   
path = "../aws-smithy-xml"
 8353  10636   
version = "0.60.10"
 8354  10637   
 8355  10638   
[dependencies.aws-types]
 8356  10639   
path = "../aws-types"
 8357  10640   
version = "1.3.8"
 8358  10641   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 8359  10642   
index 0ed4302..3d828a5 100644
 8360         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
       10643  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 8361  10644   
@@ -1,61 +1,61 @@
 8362  10645   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8363  10646   
[package]
 8364  10647   
name = "aws-sdk-kms"
 8365  10648   
version = "0.0.0-local"
 8366  10649   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8367  10650   
description = "AWS SDK for AWS Key Management Service"
 8368  10651   
edition = "2021"
 8369  10652   
license = "Apache-2.0"
 8370  10653   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8371  10654   
rust-version = "1.86.0"
 8372  10655   
readme = "README.md"
 8373  10656   
[package.metadata.smithy]
 8374  10657   
codegen-version = "ci"
 8375  10658   
[package.metadata.docs.rs]
 8376  10659   
all-features = true
 8377  10660   
targets = ["x86_64-unknown-linux-gnu"]
 8378  10661   
[dependencies.aws-credential-types]
 8379  10662   
path = "../aws-credential-types"
 8380  10663   
version = "1.2.4"
 8381  10664   
 8382  10665   
[dependencies.aws-runtime]
 8383  10666   
path = "../aws-runtime"
 8384  10667   
version = "1.5.9"
 8385  10668   
 8386  10669   
[dependencies.aws-smithy-async]
 8387  10670   
path = "../aws-smithy-async"
 8388  10671   
version = "1.2.5"
 8389  10672   
 8390  10673   
[dependencies.aws-smithy-http]
 8391  10674   
path = "../aws-smithy-http"
 8392         -
version = "0.62.2"
       10675  +
version = "0.62.3"
 8393  10676   
 8394  10677   
[dependencies.aws-smithy-json]
 8395  10678   
path = "../aws-smithy-json"
 8396  10679   
version = "0.61.4"
 8397  10680   
 8398  10681   
[dependencies.aws-smithy-runtime]
 8399  10682   
path = "../aws-smithy-runtime"
 8400  10683   
features = ["client"]
 8401  10684   
version = "1.8.5"
 8402  10685   
 8403  10686   
[dependencies.aws-smithy-runtime-api]
 8404  10687   
path = "../aws-smithy-runtime-api"
 8405  10688   
features = ["client", "http-02x"]
 8406  10689   
version = "1.8.5"
 8407  10690   
 8408  10691   
[dependencies.aws-smithy-types]
 8409  10692   
path = "../aws-smithy-types"
 8410  10693   
version = "1.3.2"
 8411  10694   
 8412  10695   
[dependencies.aws-types]
 8413  10696   
path = "../aws-types"
 8414  10697   
version = "1.3.8"
 8415  10698   
 8416  10699   
[dependencies.bytes]
 8417  10700   
version = "1.4.0"
 8418  10701   
 8419  10702   
[dependencies.fastrand]
 8420  10703   
version = "2.0.0"
 8421  10704   
 8422  10705   
[dependencies.http]
 8423  10706   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 8424  10707   
index 6518dfc..6b94752 100644
 8425         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
       10708  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 8426  10709   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 8427  10710   
edition = "2021"
 8428  10711   
license = "Apache-2.0"
 8429  10712   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8430  10713   
rust-version = "1.86.0"
 8431  10714   
readme = "README.md"
 8432  10715   
[package.metadata.smithy]
 8433  10716   
codegen-version = "ci"
 8434  10717   
[package.metadata.docs.rs]
 8435  10718   
all-features = true
 8436  10719   
targets = ["x86_64-unknown-linux-gnu"]
 8437  10720   
[dependencies.aws-credential-types]
 8438  10721   
path = "../aws-credential-types"
 8439  10722   
version = "1.2.4"
 8440  10723   
 8441  10724   
[dependencies.aws-runtime]
 8442  10725   
path = "../aws-runtime"
 8443  10726   
features = ["event-stream"]
 8444  10727   
version = "1.5.9"
 8445  10728   
 8446  10729   
[dependencies.aws-smithy-async]
 8447  10730   
path = "../aws-smithy-async"
 8448  10731   
version = "1.2.5"
 8449  10732   
 8450  10733   
[dependencies.aws-smithy-eventstream]
 8451  10734   
path = "../aws-smithy-eventstream"
 8452  10735   
version = "0.60.10"
 8453  10736   
 8454  10737   
[dependencies.aws-smithy-http]
 8455  10738   
path = "../aws-smithy-http"
 8456  10739   
features = ["event-stream"]
 8457         -
version = "0.62.2"
       10740  +
version = "0.62.3"
 8458  10741   
 8459  10742   
[dependencies.aws-smithy-json]
 8460  10743   
path = "../aws-smithy-json"
 8461  10744   
version = "0.61.4"
 8462  10745   
 8463  10746   
[dependencies.aws-smithy-runtime]
 8464  10747   
path = "../aws-smithy-runtime"
 8465  10748   
features = ["client"]
 8466  10749   
version = "1.8.5"
 8467  10750   
 8468  10751   
[dependencies.aws-smithy-runtime-api]
 8469  10752   
path = "../aws-smithy-runtime-api"
 8470  10753   
features = ["client", "http-02x"]
 8471  10754   
version = "1.8.5"
 8472  10755   
 8473  10756   
[dependencies.aws-smithy-types]
 8474  10757   
path = "../aws-smithy-types"
 8475  10758   
version = "1.3.2"
 8476  10759   
 8477  10760   
[dependencies.aws-types]
 8478  10761   
path = "../aws-types"
 8479  10762   
version = "1.3.8"
 8480  10763   
 8481  10764   
[dependencies.bytes]
 8482  10765   
version = "1.4.0"
 8483  10766   
 8484  10767   
[dependencies.fastrand]
 8485  10768   
version = "2.0.0"
 8486  10769   
 8487  10770   
[dependencies.http]
 8488  10771   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 8489  10772   
index dabb0e0..34cbc15 100644
 8490         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
       10773  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 8491  10774   
@@ -1,65 +1,65 @@
 8492  10775   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8493  10776   
[package]
 8494  10777   
name = "aws-sdk-polly"
 8495  10778   
version = "0.0.0-local"
 8496  10779   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8497  10780   
description = "AWS SDK for Amazon Polly"
 8498  10781   
edition = "2021"
 8499  10782   
license = "Apache-2.0"
 8500  10783   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8501  10784   
rust-version = "1.86.0"
 8502  10785   
readme = "README.md"
 8503  10786   
[package.metadata.smithy]
 8504  10787   
codegen-version = "ci"
 8505  10788   
[package.metadata.docs.rs]
 8506  10789   
all-features = true
 8507  10790   
targets = ["x86_64-unknown-linux-gnu"]
 8508  10791   
[dependencies.aws-credential-types]
 8509  10792   
path = "../aws-credential-types"
 8510  10793   
version = "1.2.4"
 8511  10794   
 8512  10795   
[dependencies.aws-runtime]
 8513  10796   
path = "../aws-runtime"
 8514  10797   
version = "1.5.9"
 8515  10798   
 8516  10799   
[dependencies.aws-sigv4]
 8517  10800   
path = "../aws-sigv4"
 8518         -
version = "1.3.3"
       10801  +
version = "1.3.4"
 8519  10802   
 8520  10803   
[dependencies.aws-smithy-async]
 8521  10804   
path = "../aws-smithy-async"
 8522  10805   
version = "1.2.5"
 8523  10806   
 8524  10807   
[dependencies.aws-smithy-http]
 8525  10808   
path = "../aws-smithy-http"
 8526         -
version = "0.62.2"
       10809  +
version = "0.62.3"
 8527  10810   
 8528  10811   
[dependencies.aws-smithy-json]
 8529  10812   
path = "../aws-smithy-json"
 8530  10813   
version = "0.61.4"
 8531  10814   
 8532  10815   
[dependencies.aws-smithy-runtime]
 8533  10816   
path = "../aws-smithy-runtime"
 8534  10817   
features = ["client"]
 8535  10818   
version = "1.8.5"
 8536  10819   
 8537  10820   
[dependencies.aws-smithy-runtime-api]
 8538  10821   
path = "../aws-smithy-runtime-api"
 8539  10822   
features = ["client", "http-02x"]
 8540  10823   
version = "1.8.5"
 8541  10824   
 8542  10825   
[dependencies.aws-smithy-types]
 8543  10826   
path = "../aws-smithy-types"
 8544  10827   
version = "1.3.2"
 8545  10828   
 8546  10829   
[dependencies.aws-types]
 8547  10830   
path = "../aws-types"
 8548  10831   
version = "1.3.8"
 8549  10832   
 8550  10833   
[dependencies.bytes]
 8551  10834   
version = "1.4.0"
 8552  10835   
 8553  10836   
[dependencies.fastrand]
 8554  10837   
version = "2.0.0"
 8555  10838   
 8556  10839   
[dependencies.http]
 8557  10840   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 8558  10841   
index a884716..f3d8713 100644
 8559         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
       10842  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 8560  10843   
@@ -1,61 +1,61 @@
 8561  10844   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8562  10845   
[package]
 8563  10846   
name = "aws-sdk-qldbsession"
 8564  10847   
version = "0.0.0-local"
 8565  10848   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8566  10849   
description = "AWS SDK for Amazon QLDB Session"
 8567  10850   
edition = "2021"
 8568  10851   
license = "Apache-2.0"
 8569  10852   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8570  10853   
rust-version = "1.86.0"
 8571  10854   
readme = "README.md"
 8572  10855   
[package.metadata.smithy]
 8573  10856   
codegen-version = "ci"
 8574  10857   
[package.metadata.docs.rs]
 8575  10858   
all-features = true
 8576  10859   
targets = ["x86_64-unknown-linux-gnu"]
 8577  10860   
[dependencies.aws-credential-types]
 8578  10861   
path = "../aws-credential-types"
 8579  10862   
version = "1.2.4"
 8580  10863   
 8581  10864   
[dependencies.aws-runtime]
 8582  10865   
path = "../aws-runtime"
 8583  10866   
version = "1.5.9"
 8584  10867   
 8585  10868   
[dependencies.aws-smithy-async]
 8586  10869   
path = "../aws-smithy-async"
 8587  10870   
version = "1.2.5"
 8588  10871   
 8589  10872   
[dependencies.aws-smithy-http]
 8590  10873   
path = "../aws-smithy-http"
 8591         -
version = "0.62.2"
       10874  +
version = "0.62.3"
 8592  10875   
 8593  10876   
[dependencies.aws-smithy-json]
 8594  10877   
path = "../aws-smithy-json"
 8595  10878   
version = "0.61.4"
 8596  10879   
 8597  10880   
[dependencies.aws-smithy-runtime]
 8598  10881   
path = "../aws-smithy-runtime"
 8599  10882   
features = ["client"]
 8600  10883   
version = "1.8.5"
 8601  10884   
 8602  10885   
[dependencies.aws-smithy-runtime-api]
 8603  10886   
path = "../aws-smithy-runtime-api"
 8604  10887   
features = ["client", "http-02x"]
 8605  10888   
version = "1.8.5"
 8606  10889   
 8607  10890   
[dependencies.aws-smithy-types]
 8608  10891   
path = "../aws-smithy-types"
 8609  10892   
version = "1.3.2"
 8610  10893   
 8611  10894   
[dependencies.aws-types]
 8612  10895   
path = "../aws-types"
 8613  10896   
version = "1.3.8"
 8614  10897   
 8615  10898   
[dependencies.bytes]
 8616  10899   
version = "1.4.0"
 8617  10900   
 8618  10901   
[dependencies.fastrand]
 8619  10902   
version = "2.0.0"
 8620  10903   
 8621  10904   
[dependencies.http]
 8622  10905   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 8623  10906   
index 32a7dc9..a2c752d 100644
 8624         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
       10907  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 8625  10908   
@@ -1,61 +1,61 @@
 8626  10909   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8627  10910   
[package]
 8628  10911   
name = "aws-sdk-route53"
 8629  10912   
version = "0.0.0-local"
 8630  10913   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8631  10914   
description = "AWS SDK for Amazon Route 53"
 8632  10915   
edition = "2021"
 8633  10916   
license = "Apache-2.0"
 8634  10917   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8635  10918   
rust-version = "1.86.0"
 8636  10919   
readme = "README.md"
 8637  10920   
[package.metadata.smithy]
 8638  10921   
codegen-version = "ci"
 8639  10922   
[package.metadata.docs.rs]
 8640  10923   
all-features = true
 8641  10924   
targets = ["x86_64-unknown-linux-gnu"]
 8642  10925   
[dependencies.aws-credential-types]
 8643  10926   
path = "../aws-credential-types"
 8644  10927   
version = "1.2.4"
 8645  10928   
 8646  10929   
[dependencies.aws-runtime]
 8647  10930   
path = "../aws-runtime"
 8648  10931   
version = "1.5.9"
 8649  10932   
 8650  10933   
[dependencies.aws-smithy-async]
 8651  10934   
path = "../aws-smithy-async"
 8652  10935   
version = "1.2.5"
 8653  10936   
 8654  10937   
[dependencies.aws-smithy-http]
 8655  10938   
path = "../aws-smithy-http"
 8656         -
version = "0.62.2"
       10939  +
version = "0.62.3"
 8657  10940   
 8658  10941   
[dependencies.aws-smithy-json]
 8659  10942   
path = "../aws-smithy-json"
 8660  10943   
version = "0.61.4"
 8661  10944   
 8662  10945   
[dependencies.aws-smithy-runtime]
 8663  10946   
path = "../aws-smithy-runtime"
 8664  10947   
features = ["client"]
 8665  10948   
version = "1.8.5"
 8666  10949   
 8667  10950   
[dependencies.aws-smithy-runtime-api]
 8668  10951   
path = "../aws-smithy-runtime-api"
 8669  10952   
features = ["client", "http-02x"]
 8670  10953   
version = "1.8.5"
 8671  10954   
 8672  10955   
[dependencies.aws-smithy-types]
 8673  10956   
path = "../aws-smithy-types"
 8674  10957   
version = "1.3.2"
 8675  10958   
 8676  10959   
[dependencies.aws-smithy-xml]
 8677  10960   
path = "../aws-smithy-xml"
 8678  10961   
version = "0.60.10"
 8679  10962   
 8680  10963   
[dependencies.aws-types]
 8681  10964   
path = "../aws-types"
 8682  10965   
version = "1.3.8"
 8683  10966   
 8684  10967   
[dependencies.fastrand]
 8685  10968   
version = "2.0.0"
 8686  10969   
 8687  10970   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 8688  10971   
index f65e261..2f6bec0 100644
 8689         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
       10972  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 8690  10973   
@@ -1,75 +1,75 @@
 8691  10974   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8692  10975   
[package]
 8693  10976   
name = "aws-sdk-s3"
 8694  10977   
version = "0.0.0-local"
 8695  10978   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8696  10979   
description = "AWS SDK for Amazon Simple Storage Service"
 8697  10980   
edition = "2021"
 8698  10981   
license = "Apache-2.0"
 8699  10982   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8700  10983   
rust-version = "1.86.0"
 8701  10984   
readme = "README.md"
 8702  10985   
[package.metadata.smithy]
 8703  10986   
codegen-version = "ci"
 8704  10987   
[package.metadata.docs.rs]
 8705  10988   
all-features = true
 8706  10989   
targets = ["x86_64-unknown-linux-gnu"]
 8707  10990   
[dependencies.aws-credential-types]
 8708  10991   
path = "../aws-credential-types"
 8709  10992   
version = "1.2.4"
 8710  10993   
 8711  10994   
[dependencies.aws-runtime]
 8712  10995   
path = "../aws-runtime"
 8713  10996   
features = ["event-stream", "http-02x"]
 8714  10997   
version = "1.5.9"
 8715  10998   
 8716  10999   
[dependencies.aws-sigv4]
 8717  11000   
path = "../aws-sigv4"
 8718         -
version = "1.3.3"
       11001  +
version = "1.3.4"
 8719  11002   
 8720  11003   
[dependencies.aws-smithy-async]
 8721  11004   
path = "../aws-smithy-async"
 8722  11005   
version = "1.2.5"
 8723  11006   
 8724  11007   
[dependencies.aws-smithy-checksums]
 8725  11008   
path = "../aws-smithy-checksums"
 8726  11009   
version = "0.63.5"
 8727  11010   
 8728  11011   
[dependencies.aws-smithy-eventstream]
 8729  11012   
path = "../aws-smithy-eventstream"
 8730  11013   
version = "0.60.10"
 8731  11014   
 8732  11015   
[dependencies.aws-smithy-http]
 8733  11016   
path = "../aws-smithy-http"
 8734  11017   
features = ["event-stream"]
 8735         -
version = "0.62.2"
       11018  +
version = "0.62.3"
 8736  11019   
 8737  11020   
[dependencies.aws-smithy-json]
 8738  11021   
path = "../aws-smithy-json"
 8739  11022   
version = "0.61.4"
 8740  11023   
 8741  11024   
[dependencies.aws-smithy-runtime]
 8742  11025   
path = "../aws-smithy-runtime"
 8743  11026   
features = ["client"]
 8744  11027   
version = "1.8.5"
 8745  11028   
 8746  11029   
[dependencies.aws-smithy-runtime-api]
 8747  11030   
path = "../aws-smithy-runtime-api"
 8748  11031   
features = ["client", "http-02x"]
 8749  11032   
version = "1.8.5"
 8750  11033   
 8751  11034   
[dependencies.aws-smithy-types]
 8752  11035   
path = "../aws-smithy-types"
 8753  11036   
version = "1.3.2"
 8754  11037   
 8755  11038   
[dependencies.aws-smithy-xml]
 8756  11039   
path = "../aws-smithy-xml"
 8757  11040   
version = "0.60.10"
 8758  11041   
 8759  11042   
[dependencies.aws-types]
 8760  11043   
path = "../aws-types"
 8761  11044   
version = "1.3.8"
 8762  11045   
 8763  11046   
[dependencies.bytes]
 8764  11047   
version = "1.4.0"
 8765  11048   
 8766  11049   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 8767  11050   
index b4d1cdd..861c0cc 100644
 8768         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
       11051  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 8769  11052   
@@ -1,61 +1,61 @@
 8770  11053   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8771  11054   
[package]
 8772  11055   
name = "aws-sdk-s3control"
 8773  11056   
version = "0.0.0-local"
 8774  11057   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8775  11058   
description = "AWS SDK for AWS S3 Control"
 8776  11059   
edition = "2021"
 8777  11060   
license = "Apache-2.0"
 8778  11061   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8779  11062   
rust-version = "1.86.0"
 8780  11063   
readme = "README.md"
 8781  11064   
[package.metadata.smithy]
 8782  11065   
codegen-version = "ci"
 8783  11066   
[package.metadata.docs.rs]
 8784  11067   
all-features = true
 8785  11068   
targets = ["x86_64-unknown-linux-gnu"]
 8786  11069   
[dependencies.aws-credential-types]
 8787  11070   
path = "../aws-credential-types"
 8788  11071   
version = "1.2.4"
 8789  11072   
 8790  11073   
[dependencies.aws-runtime]
 8791  11074   
path = "../aws-runtime"
 8792  11075   
version = "1.5.9"
 8793  11076   
 8794  11077   
[dependencies.aws-smithy-async]
 8795  11078   
path = "../aws-smithy-async"
 8796  11079   
version = "1.2.5"
 8797  11080   
 8798  11081   
[dependencies.aws-smithy-http]
 8799  11082   
path = "../aws-smithy-http"
 8800         -
version = "0.62.2"
       11083  +
version = "0.62.3"
 8801  11084   
 8802  11085   
[dependencies.aws-smithy-json]
 8803  11086   
path = "../aws-smithy-json"
 8804  11087   
version = "0.61.4"
 8805  11088   
 8806  11089   
[dependencies.aws-smithy-runtime]
 8807  11090   
path = "../aws-smithy-runtime"
 8808  11091   
features = ["client"]
 8809  11092   
version = "1.8.5"
 8810  11093   
 8811  11094   
[dependencies.aws-smithy-runtime-api]
 8812  11095   
path = "../aws-smithy-runtime-api"
 8813  11096   
features = ["client", "http-02x"]
 8814  11097   
version = "1.8.5"
 8815  11098   
 8816  11099   
[dependencies.aws-smithy-types]
 8817  11100   
path = "../aws-smithy-types"
 8818  11101   
version = "1.3.2"
 8819  11102   
 8820  11103   
[dependencies.aws-smithy-xml]
 8821  11104   
path = "../aws-smithy-xml"
 8822  11105   
version = "0.60.10"
 8823  11106   
 8824  11107   
[dependencies.aws-types]
 8825  11108   
path = "../aws-types"
 8826  11109   
version = "1.3.8"
 8827  11110   
 8828  11111   
[dependencies.fastrand]
 8829  11112   
version = "2.0.0"
 8830  11113   
 8831  11114   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 8832  11115   
index 2cde182..fc367f4 100644
 8833         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
       11116  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 8834  11117   
@@ -1,61 +1,61 @@
 8835  11118   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8836  11119   
[package]
 8837  11120   
name = "aws-sdk-sso"
 8838  11121   
version = "0.0.0-local"
 8839  11122   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8840  11123   
description = "AWS SDK for AWS Single Sign-On"
 8841  11124   
edition = "2021"
 8842  11125   
license = "Apache-2.0"
 8843  11126   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8844  11127   
rust-version = "1.86.0"
 8845  11128   
readme = "README.md"
 8846  11129   
[package.metadata.smithy]
 8847  11130   
codegen-version = "ci"
 8848  11131   
[package.metadata.docs.rs]
 8849  11132   
all-features = true
 8850  11133   
targets = ["x86_64-unknown-linux-gnu"]
 8851  11134   
[dependencies.aws-credential-types]
 8852  11135   
path = "../aws-credential-types"
 8853  11136   
version = "1.2.4"
 8854  11137   
 8855  11138   
[dependencies.aws-runtime]
 8856  11139   
path = "../aws-runtime"
 8857  11140   
version = "1.5.9"
 8858  11141   
 8859  11142   
[dependencies.aws-smithy-async]
 8860  11143   
path = "../aws-smithy-async"
 8861  11144   
version = "1.2.5"
 8862  11145   
 8863  11146   
[dependencies.aws-smithy-http]
 8864  11147   
path = "../aws-smithy-http"
 8865         -
version = "0.62.2"
       11148  +
version = "0.62.3"
 8866  11149   
 8867  11150   
[dependencies.aws-smithy-json]
 8868  11151   
path = "../aws-smithy-json"
 8869  11152   
version = "0.61.4"
 8870  11153   
 8871  11154   
[dependencies.aws-smithy-runtime]
 8872  11155   
path = "../aws-smithy-runtime"
 8873  11156   
features = ["client"]
 8874  11157   
version = "1.8.5"
 8875  11158   
 8876  11159   
[dependencies.aws-smithy-runtime-api]
 8877  11160   
path = "../aws-smithy-runtime-api"
 8878  11161   
features = ["client", "http-02x"]
 8879  11162   
version = "1.8.5"
 8880  11163   
 8881  11164   
[dependencies.aws-smithy-types]
 8882  11165   
path = "../aws-smithy-types"
 8883  11166   
version = "1.3.2"
 8884  11167   
 8885  11168   
[dependencies.aws-types]
 8886  11169   
path = "../aws-types"
 8887  11170   
version = "1.3.8"
 8888  11171   
 8889  11172   
[dependencies.bytes]
 8890  11173   
version = "1.4.0"
 8891  11174   
 8892  11175   
[dependencies.fastrand]
 8893  11176   
version = "2.0.0"
 8894  11177   
 8895  11178   
[dependencies.http]
 8896  11179   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 8897  11180   
index 7a34c16..588d0bd 100644
 8898         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       11181  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 8899  11182   
@@ -1,61 +1,61 @@
 8900  11183   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8901  11184   
[package]
 8902  11185   
name = "aws-sdk-ssooidc"
 8903  11186   
version = "0.0.0-local"
 8904  11187   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8905  11188   
description = "AWS SDK for AWS SSO OIDC"
 8906  11189   
edition = "2021"
 8907  11190   
license = "Apache-2.0"
 8908  11191   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8909  11192   
rust-version = "1.86.0"
 8910  11193   
readme = "README.md"
 8911  11194   
[package.metadata.smithy]
 8912  11195   
codegen-version = "ci"
 8913  11196   
[package.metadata.docs.rs]
 8914  11197   
all-features = true
 8915  11198   
targets = ["x86_64-unknown-linux-gnu"]
 8916  11199   
[dependencies.aws-credential-types]
 8917  11200   
path = "../aws-credential-types"
 8918  11201   
version = "1.2.4"
 8919  11202   
 8920  11203   
[dependencies.aws-runtime]
 8921  11204   
path = "../aws-runtime"
 8922  11205   
version = "1.5.9"
 8923  11206   
 8924  11207   
[dependencies.aws-smithy-async]
 8925  11208   
path = "../aws-smithy-async"
 8926  11209   
version = "1.2.5"
 8927  11210   
 8928  11211   
[dependencies.aws-smithy-http]
 8929  11212   
path = "../aws-smithy-http"
 8930         -
version = "0.62.2"
       11213  +
version = "0.62.3"
 8931  11214   
 8932  11215   
[dependencies.aws-smithy-json]
 8933  11216   
path = "../aws-smithy-json"
 8934  11217   
version = "0.61.4"
 8935  11218   
 8936  11219   
[dependencies.aws-smithy-runtime]
 8937  11220   
path = "../aws-smithy-runtime"
 8938  11221   
features = ["client"]
 8939  11222   
version = "1.8.5"
 8940  11223   
 8941  11224   
[dependencies.aws-smithy-runtime-api]
 8942  11225   
path = "../aws-smithy-runtime-api"
 8943  11226   
features = ["client", "http-02x"]
 8944  11227   
version = "1.8.5"
 8945  11228   
 8946  11229   
[dependencies.aws-smithy-types]
 8947  11230   
path = "../aws-smithy-types"
 8948  11231   
version = "1.3.2"
 8949  11232   
 8950  11233   
[dependencies.aws-types]
 8951  11234   
path = "../aws-types"
 8952  11235   
version = "1.3.8"
 8953  11236   
 8954  11237   
[dependencies.bytes]
 8955  11238   
version = "1.4.0"
 8956  11239   
 8957  11240   
[dependencies.fastrand]
 8958  11241   
version = "2.0.0"
 8959  11242   
 8960  11243   
[dependencies.http]
 8961  11244   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 8962  11245   
index 895dfb3..f2ce34e 100644
 8963         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       11246  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 8964  11247   
@@ -1,61 +1,61 @@
 8965  11248   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8966  11249   
[package]
 8967  11250   
name = "aws-sdk-sts"
 8968  11251   
version = "0.0.0-local"
 8969  11252   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8970  11253   
description = "AWS SDK for AWS Security Token Service"
 8971  11254   
edition = "2021"
 8972  11255   
license = "Apache-2.0"
 8973  11256   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8974  11257   
rust-version = "1.86.0"
 8975  11258   
readme = "README.md"
 8976  11259   
[package.metadata.smithy]
 8977  11260   
codegen-version = "ci"
 8978  11261   
[package.metadata.docs.rs]
 8979  11262   
all-features = true
 8980  11263   
targets = ["x86_64-unknown-linux-gnu"]
 8981  11264   
[dependencies.aws-credential-types]
 8982  11265   
path = "../aws-credential-types"
 8983  11266   
version = "1.2.4"
 8984  11267   
 8985  11268   
[dependencies.aws-runtime]
 8986  11269   
path = "../aws-runtime"
 8987  11270   
version = "1.5.9"
 8988  11271   
 8989  11272   
[dependencies.aws-smithy-async]
 8990  11273   
path = "../aws-smithy-async"
 8991  11274   
version = "1.2.5"
 8992  11275   
 8993  11276   
[dependencies.aws-smithy-http]
 8994  11277   
path = "../aws-smithy-http"
 8995         -
version = "0.62.2"
       11278  +
version = "0.62.3"
 8996  11279   
 8997  11280   
[dependencies.aws-smithy-json]
 8998  11281   
path = "../aws-smithy-json"
 8999  11282   
version = "0.61.4"
 9000  11283   
 9001  11284   
[dependencies.aws-smithy-query]
 9002  11285   
path = "../aws-smithy-query"
 9003  11286   
version = "0.60.7"
 9004  11287   
 9005  11288   
[dependencies.aws-smithy-runtime]
 9006  11289   
path = "../aws-smithy-runtime"
 9007  11290   
features = ["client"]
 9008  11291   
version = "1.8.5"
 9009  11292   
 9010  11293   
[dependencies.aws-smithy-runtime-api]
 9011  11294   
path = "../aws-smithy-runtime-api"
 9012  11295   
features = ["client", "http-02x"]
 9013  11296   
version = "1.8.5"
 9014  11297   
 9015  11298   
[dependencies.aws-smithy-types]
 9016  11299   
path = "../aws-smithy-types"
 9017  11300   
version = "1.3.2"
 9018  11301   
 9019  11302   
[dependencies.aws-smithy-xml]
 9020  11303   
path = "../aws-smithy-xml"
 9021  11304   
version = "0.60.10"
 9022  11305   
 9023  11306   
[dependencies.aws-types]
 9024  11307   
path = "../aws-types"
 9025  11308   
version = "1.3.8"
 9026  11309   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 9027  11310   
index d556561..91178b6 100644
 9028         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       11311  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 9029  11312   
@@ -1,61 +1,61 @@
 9030  11313   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9031  11314   
[package]
 9032  11315   
name = "aws-sdk-timestreamquery"
 9033  11316   
version = "0.0.0-local"
 9034  11317   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9035  11318   
description = "AWS SDK for Amazon Timestream Query"
 9036  11319   
edition = "2021"
 9037  11320   
license = "Apache-2.0"
 9038  11321   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9039  11322   
rust-version = "1.86.0"
 9040  11323   
readme = "README.md"
 9041  11324   
[package.metadata.smithy]
 9042  11325   
codegen-version = "ci"
 9043  11326   
[package.metadata.docs.rs]
 9044  11327   
all-features = true
 9045  11328   
targets = ["x86_64-unknown-linux-gnu"]
 9046  11329   
[dependencies.aws-credential-types]
 9047  11330   
path = "../aws-credential-types"
 9048  11331   
version = "1.2.4"
 9049  11332   
 9050  11333   
[dependencies.aws-runtime]
 9051  11334   
path = "../aws-runtime"
 9052  11335   
version = "1.5.9"
 9053  11336   
 9054  11337   
[dependencies.aws-smithy-async]
 9055  11338   
path = "../aws-smithy-async"
 9056  11339   
version = "1.2.5"
 9057  11340   
 9058  11341   
[dependencies.aws-smithy-http]
 9059  11342   
path = "../aws-smithy-http"
 9060         -
version = "0.62.2"
       11343  +
version = "0.62.3"
 9061  11344   
 9062  11345   
[dependencies.aws-smithy-json]
 9063  11346   
path = "../aws-smithy-json"
 9064  11347   
version = "0.61.4"
 9065  11348   
 9066  11349   
[dependencies.aws-smithy-runtime]
 9067  11350   
path = "../aws-smithy-runtime"
 9068  11351   
features = ["client"]
 9069  11352   
version = "1.8.5"
 9070  11353   
 9071  11354   
[dependencies.aws-smithy-runtime-api]
 9072  11355   
path = "../aws-smithy-runtime-api"
 9073  11356   
features = ["client", "http-02x"]
 9074  11357   
version = "1.8.5"
 9075  11358   
 9076  11359   
[dependencies.aws-smithy-types]
 9077  11360   
path = "../aws-smithy-types"
 9078  11361   
version = "1.3.2"
 9079  11362   
 9080  11363   
[dependencies.aws-types]
 9081  11364   
path = "../aws-types"
 9082  11365   
version = "1.3.8"
 9083  11366   
 9084  11367   
[dependencies.bytes]
 9085  11368   
version = "1.4.0"
 9086  11369   
 9087  11370   
[dependencies.fastrand]
 9088  11371   
version = "2.0.0"
 9089  11372   
 9090  11373   
[dependencies.http]
 9091  11374   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 9092  11375   
index 0c56e4c..95731e3 100644
 9093         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       11376  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 9094  11377   
@@ -1,61 +1,61 @@
 9095  11378   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9096  11379   
[package]
 9097  11380   
name = "aws-sdk-timestreamwrite"
 9098  11381   
version = "0.0.0-local"
 9099  11382   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9100  11383   
description = "AWS SDK for Amazon Timestream Write"
 9101  11384   
edition = "2021"
 9102  11385   
license = "Apache-2.0"
 9103  11386   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9104  11387   
rust-version = "1.86.0"
 9105  11388   
readme = "README.md"
 9106  11389   
[package.metadata.smithy]
 9107  11390   
codegen-version = "ci"
 9108  11391   
[package.metadata.docs.rs]
 9109  11392   
all-features = true
 9110  11393   
targets = ["x86_64-unknown-linux-gnu"]
 9111  11394   
[dependencies.aws-credential-types]
 9112  11395   
path = "../aws-credential-types"
 9113  11396   
version = "1.2.4"
 9114  11397   
 9115  11398   
[dependencies.aws-runtime]
 9116  11399   
path = "../aws-runtime"
 9117  11400   
version = "1.5.9"
 9118  11401   
 9119  11402   
[dependencies.aws-smithy-async]
 9120  11403   
path = "../aws-smithy-async"
 9121  11404   
version = "1.2.5"
 9122  11405   
 9123  11406   
[dependencies.aws-smithy-http]
 9124  11407   
path = "../aws-smithy-http"
 9125         -
version = "0.62.2"
       11408  +
version = "0.62.3"
 9126  11409   
 9127  11410   
[dependencies.aws-smithy-json]
 9128  11411   
path = "../aws-smithy-json"
 9129  11412   
version = "0.61.4"
 9130  11413   
 9131  11414   
[dependencies.aws-smithy-runtime]
 9132  11415   
path = "../aws-smithy-runtime"
 9133  11416   
features = ["client"]
 9134  11417   
version = "1.8.5"
 9135  11418   
 9136  11419   
[dependencies.aws-smithy-runtime-api]
 9137  11420   
path = "../aws-smithy-runtime-api"
 9138  11421   
features = ["client", "http-02x"]
 9139  11422   
version = "1.8.5"
 9140  11423   
 9141  11424   
[dependencies.aws-smithy-types]
 9142  11425   
path = "../aws-smithy-types"
 9143  11426   
version = "1.3.2"
 9144  11427   
 9145  11428   
[dependencies.aws-types]
 9146  11429   
path = "../aws-types"
 9147  11430   
version = "1.3.8"
 9148  11431   
 9149  11432   
[dependencies.bytes]
 9150  11433   
version = "1.4.0"
 9151  11434   
 9152  11435   
[dependencies.fastrand]
 9153  11436   
version = "2.0.0"
 9154  11437   
 9155  11438   
[dependencies.http]
 9156  11439   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 9157  11440   
index 5b35037..9fb220a 100644
 9158         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       11441  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 9159  11442   
@@ -1,71 +1,71 @@
 9160  11443   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9161  11444   
[package]
 9162  11445   
name = "aws-sdk-transcribestreaming"
 9163  11446   
version = "0.0.0-local"
 9164  11447   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9165  11448   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 9166  11449   
edition = "2021"
 9167  11450   
license = "Apache-2.0"
 9168  11451   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9169  11452   
rust-version = "1.86.0"
 9170  11453   
readme = "README.md"
 9171  11454   
[package.metadata.smithy]
 9172  11455   
codegen-version = "ci"
 9173  11456   
[package.metadata.docs.rs]
 9174  11457   
all-features = true
 9175  11458   
targets = ["x86_64-unknown-linux-gnu"]
 9176  11459   
[dependencies.aws-credential-types]
 9177  11460   
path = "../aws-credential-types"
 9178  11461   
version = "1.2.4"
 9179  11462   
 9180  11463   
[dependencies.aws-runtime]
 9181  11464   
path = "../aws-runtime"
 9182  11465   
features = ["event-stream"]
 9183  11466   
version = "1.5.9"
 9184  11467   
 9185  11468   
[dependencies.aws-sigv4]
 9186  11469   
path = "../aws-sigv4"
 9187         -
version = "1.3.3"
       11470  +
version = "1.3.4"
 9188  11471   
 9189  11472   
[dependencies.aws-smithy-async]
 9190  11473   
path = "../aws-smithy-async"
 9191  11474   
version = "1.2.5"
 9192  11475   
 9193  11476   
[dependencies.aws-smithy-eventstream]
 9194  11477   
path = "../aws-smithy-eventstream"
 9195  11478   
version = "0.60.10"
 9196  11479   
 9197  11480   
[dependencies.aws-smithy-http]
 9198  11481   
path = "../aws-smithy-http"
 9199  11482   
features = ["event-stream"]
 9200         -
version = "0.62.2"
       11483  +
version = "0.62.3"
 9201  11484   
 9202  11485   
[dependencies.aws-smithy-json]
 9203  11486   
path = "../aws-smithy-json"
 9204  11487   
version = "0.61.4"
 9205  11488   
 9206  11489   
[dependencies.aws-smithy-runtime]
 9207  11490   
path = "../aws-smithy-runtime"
 9208  11491   
features = ["client"]
 9209  11492   
version = "1.8.5"
 9210  11493