AWS SDK

AWS SDK

rev. 628eeeeeed390f5efdbfe607c18848c033debd3e (ignoring whitespace)

Files changed:

tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31

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

@@ -1,0 +8224,10498 @@
    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-dot-slash/get-slash-dot-slash.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sreq
    3      1   
deleted file mode 100644
    4      2   
index 23a2b41..0000000
    5         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-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-slash-pointless-dot/get-slash-pointless-dot.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.authz
   12      6   
deleted file mode 100644
   13      7   
index b76ca1e..0000000
   14         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.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=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 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-slash-pointless-dot/get-slash-pointless-dot.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.sreq
   18     11   
deleted file mode 100644
   19     12   
index 8096609..0000000
   20         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.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=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 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-slash/get-slash.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.authz
   27     16   
deleted file mode 100644
   28     17   
index 551c027..0000000
   29         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 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-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
   33     21   
deleted file mode 100644
   34     22   
index cde31b4..0000000
   35         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sreq
          23  +
++ /dev/null
   36     24   
@@ -1,4 +0,0 @@
   37         -
GET // 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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 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/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
   42     26   
deleted file mode 100644
   43     27   
index 307c105..0000000
   44         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.authz
          28  +
++ /dev/null
   45     29   
@@ -1 +0,0 @@
   46         -
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
   47     30   
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
   48     31   
deleted file mode 100644
   49     32   
index c84a80d..0000000
   50         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sreq
          33  +
++ /dev/null
   51     34   
@@ -1,4 +0,0 @@
   52         -
GET //example// HTTP/1.1
   53         -
Host:example.amazonaws.com
   54         -
X-Amz-Date:20150830T123600Z
   55         -
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
   56     35   
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
   57     36   
deleted file mode 100644
   58     37   
index 832d8a5..0000000
   59         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.authz
          38  +
++ /dev/null
   60     39   
@@ -1 +0,0 @@
   61         -
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
   62     40   
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
   63     41   
deleted file mode 100644
   64     42   
index eefa20c..0000000
   65         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sreq
          43  +
++ /dev/null
   66     44   
@@ -1,4 +0,0 @@
   67         -
GET /example space/ HTTP/1.1
   68         -
Host:example.amazonaws.com
   69         -
X-Amz-Date:20150830T123600Z
   70         -
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
   71     45   
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
   72     46   
deleted file mode 100644
   73     47   
index c2fcb27..0000000
   74         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/normalize-path.txt
          48  +
++ /dev/null
   75     49   
@@ -1,3 +0,0 @@
   76         -
A note about signing requests to Amazon S3:
   77         -

   78         -
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
   79     50   
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
   80     51   
deleted file mode 100644
   81     52   
index 89e572e..0000000
   82         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.authz
          53  +
++ /dev/null
   83     54   
@@ -1 +0,0 @@
   84         -
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
   85     55   
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
   86     56   
deleted file mode 100644
   87     57   
index fcf23ce..0000000
   88         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sreq
          58  +
++ /dev/null
   89     59   
@@ -1,4 +0,0 @@
   90         -
POST / HTTP/1.1
   91         -
Host:example.amazonaws.com
   92         -
X-Amz-Date:20150830T123600Z
   93         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
   94     60   
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
   95     61   
deleted file mode 100644
   96     62   
index a62589f..0000000
   97         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.authz
          63  +
++ /dev/null
   98     64   
@@ -1 +0,0 @@
   99         -
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
  100     65   
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
  101     66   
deleted file mode 100644
  102     67   
index b4b78a1..0000000
  103         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sreq
          68  +
++ /dev/null
  104     69   
@@ -1,5 +0,0 @@
  105         -
POST / HTTP/1.1
  106         -
Host:example.amazonaws.com
  107         -
My-Header1:value1
  108         -
X-Amz-Date:20150830T123600Z
  109         -
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
  110     70   
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
  111     71   
deleted file mode 100644
  112     72   
index d9e52a3..0000000
  113         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.authz
          73  +
++ /dev/null
  114     74   
@@ -1 +0,0 @@
  115         -
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
  116     75   
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
  117     76   
deleted file mode 100644
  118     77   
index 99c3210..0000000
  119         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sreq
          78  +
++ /dev/null
  120     79   
@@ -1,5 +0,0 @@
  121         -
POST / HTTP/1.1
  122         -
Host:example.amazonaws.com
  123         -
My-Header1:VALUE1
  124         -
X-Amz-Date:20150830T123600Z
  125         -
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
  126     80   
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
  127     81   
deleted file mode 100644
  128     82   
index 89e572e..0000000
  129         -
-- 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
          83  +
++ /dev/null
  130     84   
@@ -1 +0,0 @@
  131         -
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
  132     85   
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
  133     86   
deleted file mode 100644
  134     87   
index 64aa046..0000000
  135         -
-- 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
          88  +
++ /dev/null
  136     89   
@@ -1 +0,0 @@
  137         -
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
  138     90   
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
  139     91   
deleted file mode 100644
  140     92   
index cc34282..0000000
  141         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/readme.txt
          93  +
++ /dev/null
  142     94   
@@ -1,15 +0,0 @@
  143         -
A note about using temporary security credentials:
  144         -

  145         -
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).
  146         -

  147         -
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.
  148         -

  149         -
The test suite has 2 examples:
  150         -

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

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

  155         -
The test suite uses this example value for X-Amz-Security-Token:
  156         -

  157         -
AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 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-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
  159     96   
deleted file mode 100644
  160     97   
index 44280cd..0000000
  161         -
-- 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
          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=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 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-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
  165    101   
deleted file mode 100644
  166    102   
index 82af150..0000000
  167         -
-- 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
         103  +
++ /dev/null
  168    104   
@@ -1,4 +0,0 @@
  169         -
POST /?Param1=value1 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=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 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-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
  174    106   
deleted file mode 100644
  175    107   
index 44280cd..0000000
  176         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz
         108  +
++ /dev/null
  177    109   
@@ -1 +0,0 @@
  178         -
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
  179    110   
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
  180    111   
deleted file mode 100644
  181    112   
index 82af150..0000000
  182         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq
         113  +
++ /dev/null
  183    114   
@@ -1,4 +0,0 @@
  184         -
POST /?Param1=value1 HTTP/1.1
  185         -
Host:example.amazonaws.com
  186         -
X-Amz-Date:20150830T123600Z
  187         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
  188    115   
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
  189    116   
deleted file mode 100644
  190    117   
index 89e572e..0000000
  191         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
         118  +
++ /dev/null
  192    119   
@@ -1 +0,0 @@
  193         -
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
  194    120   
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
  195    121   
deleted file mode 100644
  196    122   
index a5ada0d..0000000
  197         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq
         123  +
++ /dev/null
  198    124   
@@ -1,4 +0,0 @@
  199         -
POST / HTTP/1.1
  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=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
  203    125   
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
  204    126   
deleted file mode 100644
  205    127   
index df90ca3..0000000
  206         -
-- 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
         128  +
++ /dev/null
  207    129   
@@ -1 +0,0 @@
  208         -
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
  209    130   
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
  210    131   
deleted file mode 100644
  211    132   
index 457b0d5..0000000
  212         -
-- 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
         133  +
++ /dev/null
  213    134   
@@ -1,9 +0,0 @@
  214         -
POST
  215         -
/
  216         -
Param1=value1
  217         -
content-type:application/x-www-form-urlencoded; charset=utf-8
  218         -
host:example.amazonaws.com
  219         -
x-amz-date:20150830T123600Z
  220         -
  221         -
content-type;host;x-amz-date
  222         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  223    135   
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
  224    136   
deleted file mode 100644
  225    137   
index b8ecb89..0000000
  226         -
-- 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
         138  +
++ /dev/null
  227    139   
@@ -1,7 +0,0 @@
  228         -
POST / HTTP/1.1
  229         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  230         -
Host:example.amazonaws.com
  231         -
X-Amz-Date:20150830T123600Z
  232         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393
  233         -
  234         -
Param1=value1
              \
 No newline at end of file
  235    140   
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
  236    141   
deleted file mode 100644
  237    142   
index 79077d2..0000000
  238         -
-- 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
         143  +
++ /dev/null
  239    144   
@@ -1 +0,0 @@
  240         -
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
  241    145   
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
  242    146   
deleted file mode 100644
  243    147   
index 7852617..0000000
  244         -
-- 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
         148  +
++ /dev/null
  245    149   
@@ -1,4 +0,0 @@
  246         -
POST / HTTP/1.1
  247         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  248         -
Host:example.amazonaws.com
  249         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
  250    150   
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
  251    151   
deleted file mode 100644
  252    152   
index 3e2e571..0000000
  253         -
-- 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
         153  +
++ /dev/null
  254    154   
@@ -1,4 +0,0 @@
  255         -
POST / HTTP/1.1
  256         -
Host:example.amazonaws.com
  257         -
X-Amz-Date:20150830T123600Z
  258         -
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
  259    155   
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
  260    156   
deleted file mode 100644
  261    157   
index 89ceae8..0000000
  262         -
-- 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
         158  +
++ /dev/null
  263    159   
@@ -1,4 +0,0 @@
  264         -
AWS4-HMAC-SHA256
  265         -
20150830T123600Z
  266         -
20150830/us-east-1/service/aws4_request
  267         -
6a42edc18395dd67cc71407d4307ff29ab1646b08c1a0107edb319e08e2bc584
              \
 No newline at end of file
  268    160   
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
  269    161   
deleted file mode 100755
  270    162   
index d645695..0000000
  271         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE
         163  +
++ /dev/null
  272    164   
@@ -1,202 +0,0 @@
  273         -
  274         -
                                 Apache License
  275         -
                           Version 2.0, January 2004
  276         -
                        http://www.apache.org/licenses/
  277         -
  278         -
   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  279         -
  280         -
   1. Definitions.
  281         -
  282         -
      "License" shall mean the terms and conditions for use, reproduction,
  283         -
      and distribution as defined by Sections 1 through 9 of this document.
  284         -
  285         -
      "Licensor" shall mean the copyright owner or entity authorized by
  286         -
      the copyright owner that is granting the License.
  287         -
  288         -
      "Legal Entity" shall mean the union of the acting entity and all
  289         -
      other entities that control, are controlled by, or are under common
  290         -
      control with that entity. For the purposes of this definition,
  291         -
      "control" means (i) the power, direct or indirect, to cause the
  292         -
      direction or management of such entity, whether by contract or
  293         -
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
  294         -
      outstanding shares, or (iii) beneficial ownership of such entity.
  295         -
  296         -
      "You" (or "Your") shall mean an individual or Legal Entity
  297         -
      exercising permissions granted by this License.
  298         -
  299         -
      "Source" form shall mean the preferred form for making modifications,
  300         -
      including but not limited to software source code, documentation
  301         -
      source, and configuration files.
  302         -
  303         -
      "Object" form shall mean any form resulting from mechanical
  304         -
      transformation or translation of a Source form, including but
  305         -
      not limited to compiled object code, generated documentation,
  306         -
      and conversions to other media types.
  307         -
  308         -
      "Work" shall mean the work of authorship, whether in Source or
  309         -
      Object form, made available under the License, as indicated by a
  310         -
      copyright notice that is included in or attached to the work
  311         -
      (an example is provided in the Appendix below).
  312         -
  313         -
      "Derivative Works" shall mean any work, whether in Source or Object
  314         -
      form, that is based on (or derived from) the Work and for which the
  315         -
      editorial revisions, annotations, elaborations, or other modifications
  316         -
      represent, as a whole, an original work of authorship. For the purposes
  317         -
      of this License, Derivative Works shall not include works that remain
  318         -
      separable from, or merely link (or bind by name) to the interfaces of,
  319         -
      the Work and Derivative Works thereof.
  320         -
  321         -
      "Contribution" shall mean any work of authorship, including
  322         -
      the original version of the Work and any modifications or additions
  323         -
      to that Work or Derivative Works thereof, that is intentionally
  324         -
      submitted to Licensor for inclusion in the Work by the copyright owner
  325         -
      or by an individual or Legal Entity authorized to submit on behalf of
  326         -
      the copyright owner. For the purposes of this definition, "submitted"
  327         -
      means any form of electronic, verbal, or written communication sent
  328         -
      to the Licensor or its representatives, including but not limited to
  329         -
      communication on electronic mailing lists, source code control systems,
  330         -
      and issue tracking systems that are managed by, or on behalf of, the
  331         -
      Licensor for the purpose of discussing and improving the Work, but
  332         -
      excluding communication that is conspicuously marked or otherwise
  333         -
      designated in writing by the copyright owner as "Not a Contribution."
  334         -
  335         -
      "Contributor" shall mean Licensor and any individual or Legal Entity
  336         -
      on behalf of whom a Contribution has been received by Licensor and
  337         -
      subsequently incorporated within the Work.
  338         -
  339         -
   2. Grant of Copyright License. Subject to the terms and conditions of
  340         -
      this License, each Contributor hereby grants to You a perpetual,
  341         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  342         -
      copyright license to reproduce, prepare Derivative Works of,
  343         -
      publicly display, publicly perform, sublicense, and distribute the
  344         -
      Work and such Derivative Works in Source or Object form.
  345         -
  346         -
   3. Grant of Patent License. Subject to the terms and conditions of
  347         -
      this License, each Contributor hereby grants to You a perpetual,
  348         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  349         -
      (except as stated in this section) patent license to make, have made,
  350         -
      use, offer to sell, sell, import, and otherwise transfer the Work,
  351         -
      where such license applies only to those patent claims licensable
  352         -
      by such Contributor that are necessarily infringed by their
  353         -
      Contribution(s) alone or by combination of their Contribution(s)
  354         -
      with the Work to which such Contribution(s) was submitted. If You
  355         -
      institute patent litigation against any entity (including a
  356         -
      cross-claim or counterclaim in a lawsuit) alleging that the Work
  357         -
      or a Contribution incorporated within the Work constitutes direct
  358         -
      or contributory patent infringement, then any patent licenses
  359         -
      granted to You under this License for that Work shall terminate
  360         -
      as of the date such litigation is filed.
  361         -
  362         -
   4. Redistribution. You may reproduce and distribute copies of the
  363         -
      Work or Derivative Works thereof in any medium, with or without
  364         -
      modifications, and in Source or Object form, provided that You
  365         -
      meet the following conditions:
  366         -
  367         -
      (a) You must give any other recipients of the Work or
  368         -
          Derivative Works a copy of this License; and
  369         -
  370         -
      (b) You must cause any modified files to carry prominent notices
  371         -
          stating that You changed the files; and
  372         -
  373         -
      (c) You must retain, in the Source form of any Derivative Works
  374         -
          that You distribute, all copyright, patent, trademark, and
  375         -
          attribution notices from the Source form of the Work,
  376         -
          excluding those notices that do not pertain to any part of
  377         -
          the Derivative Works; and
  378         -
  379         -
      (d) If the Work includes a "NOTICE" text file as part of its
  380         -
          distribution, then any Derivative Works that You distribute must
  381         -
          include a readable copy of the attribution notices contained
  382         -
          within such NOTICE file, excluding those notices that do not
  383         -
          pertain to any part of the Derivative Works, in at least one
  384         -
          of the following places: within a NOTICE text file distributed
  385         -
          as part of the Derivative Works; within the Source form or
  386         -
          documentation, if provided along with the Derivative Works; or,
  387         -
          within a display generated by the Derivative Works, if and
  388         -
          wherever such third-party notices normally appear. The contents
  389         -
          of the NOTICE file are for informational purposes only and
  390         -
          do not modify the License. You may add Your own attribution
  391         -
          notices within Derivative Works that You distribute, alongside
  392         -
          or as an addendum to the NOTICE text from the Work, provided
  393         -
          that such additional attribution notices cannot be construed
  394         -
          as modifying the License.
  395         -
  396         -
      You may add Your own copyright statement to Your modifications and
  397         -
      may provide additional or different license terms and conditions
  398         -
      for use, reproduction, or distribution of Your modifications, or
  399         -
      for any such Derivative Works as a whole, provided Your use,
  400         -
      reproduction, and distribution of the Work otherwise complies with
  401         -
      the conditions stated in this License.
  402         -
  403         -
   5. Submission of Contributions. Unless You explicitly state otherwise,
  404         -
      any Contribution intentionally submitted for inclusion in the Work
  405         -
      by You to the Licensor shall be under the terms and conditions of
  406         -
      this License, without any additional terms or conditions.
  407         -
      Notwithstanding the above, nothing herein shall supersede or modify
  408         -
      the terms of any separate license agreement you may have executed
  409         -
      with Licensor regarding such Contributions.
  410         -
  411         -
   6. Trademarks. This License does not grant permission to use the trade
  412         -
      names, trademarks, service marks, or product names of the Licensor,
  413         -
      except as required for reasonable and customary use in describing the
  414         -
      origin of the Work and reproducing the content of the NOTICE file.
  415         -
  416         -
   7. Disclaimer of Warranty. Unless required by applicable law or
  417         -
      agreed to in writing, Licensor provides the Work (and each
  418         -
      Contributor provides its Contributions) on an "AS IS" BASIS,
  419         -
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  420         -
      implied, including, without limitation, any warranties or conditions
  421         -
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  422         -
      PARTICULAR PURPOSE. You are solely responsible for determining the
  423         -
      appropriateness of using or redistributing the Work and assume any
  424         -
      risks associated with Your exercise of permissions under this License.
  425         -
  426         -
   8. Limitation of Liability. In no event and under no legal theory,
  427         -
      whether in tort (including negligence), contract, or otherwise,
  428         -
      unless required by applicable law (such as deliberate and grossly
  429         -
      negligent acts) or agreed to in writing, shall any Contributor be
  430         -
      liable to You for damages, including any direct, indirect, special,
  431         -
      incidental, or consequential damages of any character arising as a
  432         -
      result of this License or out of the use or inability to use the
  433         -
      Work (including but not limited to damages for loss of goodwill,
  434         -
      work stoppage, computer failure or malfunction, or any and all
  435         -
      other commercial damages or losses), even if such Contributor
  436         -
      has been advised of the possibility of such damages.
  437         -
  438         -
   9. Accepting Warranty or Additional Liability. While redistributing
  439         -
      the Work or Derivative Works thereof, You may choose to offer,
  440         -
      and charge a fee for, acceptance of support, warranty, indemnity,
  441         -
      or other liability obligations and/or rights consistent with this
  442         -
      License. However, in accepting such obligations, You may act only
  443         -
      on Your own behalf and on Your sole responsibility, not on behalf
  444         -
      of any other Contributor, and only if You agree to indemnify,
  445         -
      defend, and hold each Contributor harmless for any liability
  446         -
      incurred by, or claims asserted against, such Contributor by reason
  447         -
      of your accepting any such warranty or additional liability.
  448         -
  449         -
   END OF TERMS AND CONDITIONS
  450         -
  451         -
   APPENDIX: How to apply the Apache License to your work.
  452         -
  453         -
      To apply the Apache License to your work, attach the following
  454         -
      boilerplate notice, with the fields enclosed by brackets "[]"
  455         -
      replaced with your own identifying information. (Don't include
  456         -
      the brackets!)  The text should be enclosed in the appropriate
  457         -
      comment syntax for the file format. We also recommend that a
  458         -
      file or class name and description of purpose be included on the
  459         -
      same "printed page" as the copyright notice for easier
  460         -
      identification within third-party archives.
  461         -
  462         -
   Copyright [yyyy] [name of copyright owner]
  463         -
  464         -
   Licensed under the Apache License, Version 2.0 (the "License");
  465         -
   you may not use this file except in compliance with the License.
  466         -
   You may obtain a copy of the License at
  467         -
  468         -
       http://www.apache.org/licenses/LICENSE-2.0
  469         -
  470         -
   Unless required by applicable law or agreed to in writing, software
  471         -
   distributed under the License is distributed on an "AS IS" BASIS,
  472         -
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  473         -
   See the License for the specific language governing permissions and
  474         -
   limitations under the License.
  475    165   
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
  476    166   
deleted file mode 100755
  477    167   
index d85f69e..0000000
  478         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE
         168  +
++ /dev/null
  479    169   
@@ -1,2 +0,0 @@
  480         -
AWS Signature Version 4a Test Suite
  481         -
Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  482    170   
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
  483    171   
deleted file mode 100644
  484    172   
index c716622..0000000
  485         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md
         173  +
++ /dev/null
  486    174   
@@ -1,24 +0,0 @@
  487         -
Where did the files in this directory come from?
  488         -
================================================
  489         -
  490         -
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.
  491         -
  492         -
Signature Version 4A Test Suite
  493         -
------------------------------
  494         -
  495         -
To assist you in the development of an AWS client that supports Signature Version 4A, you can use the
  496         -
files in the test suite to ensure your code is performing each step of the signing process correctly.
  497         -
  498         -
Each test group contains several files that you can use to validate most of the tasks described in
  499         -
Signature Version 4A Signing Process. The following list describes the contents of each file.
  500         -
  501         -
- context.json - Credentials and signer options to use when signing test requests
  502         -
- request.txt - The web request to be signed.
  503         -
- header-canonical-request.txt - The resulting canonical request in header-signature mode.
  504         -
- header-string-to-sign.txt - The resulting string to sign in header-signature mode.
  505         -
- query-canonical-request.txt - The resulting canonical request in query-signature mode.
  506         -
- query-string-to-sign.txt - The resulting string to sign in header-query mode.
  507         -
  508         -
Sigv4A signature generation isn't deterministic, so generated signatures can't be tested against known good ones.
  509         -
Instead, tests generate a signature, derive a verification key from the signing key, and verify the signature and
  510         -
the string to sign. This mirrors what AWS services do when verifying Sigv4A-signed requests.
  511    175   
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
  512    176   
deleted file mode 100644
  513    177   
index 45771c7..0000000
  514         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json
         178  +
++ /dev/null
  515    179   
@@ -1,12 +0,0 @@
  516         -
{
  517         -
    "credentials": {
  518         -
        "access_key_id": "AKIDEXAMPLE",
  519         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  520         -
    },
  521         -
    "expiration_in_seconds": 3600,
  522         -
    "normalize": true,
  523         -
    "region": "us-east-1",
  524         -
    "service": "service",
  525         -
    "sign_body": false,
  526         -
    "timestamp": "2015-08-30T12:36:00Z"
  527         -
}
  528    180   
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
  529    181   
deleted file mode 100644
  530    182   
index 45771c7..0000000
  531         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json
         183  +
++ /dev/null
  532    184   
@@ -1,12 +0,0 @@
  533         -
{
  534         -
    "credentials": {
  535         -
        "access_key_id": "AKIDEXAMPLE",
  536         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  537         -
    },
  538         -
    "expiration_in_seconds": 3600,
  539         -
    "normalize": true,
  540         -
    "region": "us-east-1",
  541         -
    "service": "service",
  542         -
    "sign_body": false,
  543         -
    "timestamp": "2015-08-30T12:36:00Z"
  544         -
}
  545    185   
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
  546    186   
deleted file mode 100644
  547    187   
index 45771c7..0000000
  548         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json
         188  +
++ /dev/null
  549    189   
@@ -1,12 +0,0 @@
  550         -
{
  551         -
    "credentials": {
  552         -
        "access_key_id": "AKIDEXAMPLE",
  553         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  554         -
    },
  555         -
    "expiration_in_seconds": 3600,
  556         -
    "normalize": true,
  557         -
    "region": "us-east-1",
  558         -
    "service": "service",
  559         -
    "sign_body": false,
  560         -
    "timestamp": "2015-08-30T12:36:00Z"
  561         -
}
  562    190   
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
  563    191   
deleted file mode 100644
  564    192   
index 45771c7..0000000
  565         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json
         193  +
++ /dev/null
  566    194   
@@ -1,12 +0,0 @@
  567         -
{
  568         -
    "credentials": {
  569         -
        "access_key_id": "AKIDEXAMPLE",
  570         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  571         -
    },
  572         -
    "expiration_in_seconds": 3600,
  573         -
    "normalize": true,
  574         -
    "region": "us-east-1",
  575         -
    "service": "service",
  576         -
    "sign_body": false,
  577         -
    "timestamp": "2015-08-30T12:36:00Z"
  578         -
}
  579    195   
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
  580    196   
deleted file mode 100644
  581    197   
index afe367b..0000000
  582         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json
         198  +
++ /dev/null
  583    199   
@@ -1,12 +0,0 @@
  584         -
{
  585         -
    "credentials": {
  586         -
        "access_key_id": "AKIDEXAMPLE",
  587         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  588         -
    },
  589         -
    "expiration_in_seconds": 3600,
  590         -
    "normalize": false,
  591         -
    "region": "us-east-1",
  592         -
    "service": "service",
  593         -
    "sign_body": false,
  594         -
    "timestamp": "2015-08-30T12:36:00Z"
  595         -
}
  596    200   
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
  597    201   
deleted file mode 100644
  598    202   
index 45771c7..0000000
  599         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json
         203  +
++ /dev/null
  600    204   
@@ -1,12 +0,0 @@
  601         -
{
  602         -
    "credentials": {
  603         -
        "access_key_id": "AKIDEXAMPLE",
  604         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  605         -
    },
  606         -
    "expiration_in_seconds": 3600,
  607         -
    "normalize": true,
  608         -
    "region": "us-east-1",
  609         -
    "service": "service",
  610         -
    "sign_body": false,
  611         -
    "timestamp": "2015-08-30T12:36:00Z"
  612         -
}
  613    205   
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
  614    206   
deleted file mode 100644
  615    207   
index afe367b..0000000
  616         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json
         208  +
++ /dev/null
  617    209   
@@ -1,12 +0,0 @@
  618         -
{
  619         -
    "credentials": {
  620         -
        "access_key_id": "AKIDEXAMPLE",
  621         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  622         -
    },
  623         -
    "expiration_in_seconds": 3600,
  624         -
    "normalize": false,
  625         -
    "region": "us-east-1",
  626         -
    "service": "service",
  627         -
    "sign_body": false,
  628         -
    "timestamp": "2015-08-30T12:36:00Z"
  629         -
}
  630    210   
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
  631    211   
deleted file mode 100644
  632    212   
index 45771c7..0000000
  633         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json
         213  +
++ /dev/null
  634    214   
@@ -1,12 +0,0 @@
  635         -
{
  636         -
    "credentials": {
  637         -
        "access_key_id": "AKIDEXAMPLE",
  638         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  639         -
    },
  640         -
    "expiration_in_seconds": 3600,
  641         -
    "normalize": true,
  642         -
    "region": "us-east-1",
  643         -
    "service": "service",
  644         -
    "sign_body": false,
  645         -
    "timestamp": "2015-08-30T12:36:00Z"
  646         -
}
  647    215   
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
  648    216   
deleted file mode 100644
  649    217   
index 45771c7..0000000
  650         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json
         218  +
++ /dev/null
  651    219   
@@ -1,12 +0,0 @@
  652         -
{
  653         -
    "credentials": {
  654         -
        "access_key_id": "AKIDEXAMPLE",
  655         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  656         -
    },
  657         -
    "expiration_in_seconds": 3600,
  658         -
    "normalize": true,
  659         -
    "region": "us-east-1",
  660         -
    "service": "service",
  661         -
    "sign_body": false,
  662         -
    "timestamp": "2015-08-30T12:36:00Z"
  663         -
}
  664    220   
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
  665    221   
deleted file mode 100644
  666    222   
index 45771c7..0000000
  667         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json
         223  +
++ /dev/null
  668    224   
@@ -1,12 +0,0 @@
  669         -
{
  670         -
    "credentials": {
  671         -
        "access_key_id": "AKIDEXAMPLE",
  672         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  673         -
    },
  674         -
    "expiration_in_seconds": 3600,
  675         -
    "normalize": true,
  676         -
    "region": "us-east-1",
  677         -
    "service": "service",
  678         -
    "sign_body": false,
  679         -
    "timestamp": "2015-08-30T12:36:00Z"
  680         -
}
  681    225   
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
  682    226   
deleted file mode 100644
  683    227   
index 45771c7..0000000
  684         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json
         228  +
++ /dev/null
  685    229   
@@ -1,12 +0,0 @@
  686         -
{
  687         -
    "credentials": {
  688         -
        "access_key_id": "AKIDEXAMPLE",
  689         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  690         -
    },
  691         -
    "expiration_in_seconds": 3600,
  692         -
    "normalize": true,
  693         -
    "region": "us-east-1",
  694         -
    "service": "service",
  695         -
    "sign_body": false,
  696         -
    "timestamp": "2015-08-30T12:36:00Z"
  697         -
}
  698    230   
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
  699    231   
deleted file mode 100644
  700    232   
index 45771c7..0000000
  701         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json
         233  +
++ /dev/null
  702    234   
@@ -1,12 +0,0 @@
  703         -
{
  704         -
    "credentials": {
  705         -
        "access_key_id": "AKIDEXAMPLE",
  706         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  707         -
    },
  708         -
    "expiration_in_seconds": 3600,
  709         -
    "normalize": true,
  710         -
    "region": "us-east-1",
  711         -
    "service": "service",
  712         -
    "sign_body": false,
  713         -
    "timestamp": "2015-08-30T12:36:00Z"
  714         -
}
  715    235   
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
  716    236   
deleted file mode 100644
  717    237   
index 47e7128..0000000
  718         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt
         238  +
++ /dev/null
  719    239   
@@ -1,9 +0,0 @@
  720         -
GET
  721         -
/
  722         -
  723         -
host:example.amazonaws.com
  724         -
x-amz-date:20150830T123600Z
  725         -
x-amz-region-set:us-east-1
  726         -
  727         -
host;x-amz-date;x-amz-region-set
  728         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  729    240   
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
  730    241   
deleted file mode 100644
  731    242   
index 95d7219..0000000
  732         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt
         243  +
++ /dev/null
  733    244   
@@ -1,4 +0,0 @@
  734         -
AWS4-ECDSA-P256-SHA256
  735         -
20150830T123600Z
  736         -
20150830/service/aws4_request
  737         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  738    245   
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
  739    246   
deleted file mode 100644
  740    247   
index a34ea26..0000000
  741         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt
         248  +
++ /dev/null
  742    249   
@@ -1,7 +0,0 @@
  743         -
GET
  744         -
/
  745         -
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
  746         -
host:example.amazonaws.com
  747         -
  748         -
host
  749         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  750    250   
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
  751    251   
deleted file mode 100644
  752    252   
index 48f855c..0000000
  753         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt
         253  +
++ /dev/null
  754    254   
@@ -1,4 +0,0 @@
  755         -
AWS4-ECDSA-P256-SHA256
  756         -
20150830T123600Z
  757         -
20150830/service/aws4_request
  758         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  759    255   
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
  760    256   
deleted file mode 100644
  761    257   
index 45771c7..0000000
  762         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json
         258  +
++ /dev/null
  763    259   
@@ -1,12 +0,0 @@
  764         -
{
  765         -
    "credentials": {
  766         -
        "access_key_id": "AKIDEXAMPLE",
  767         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  768         -
    },
  769         -
    "expiration_in_seconds": 3600,
  770         -
    "normalize": true,
  771         -
    "region": "us-east-1",
  772         -
    "service": "service",
  773         -
    "sign_body": false,
  774         -
    "timestamp": "2015-08-30T12:36:00Z"
  775         -
}
  776    260   
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
  777    261   
deleted file mode 100644
  778    262   
index 47e7128..0000000
  779         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt
         263  +
++ /dev/null
  780    264   
@@ -1,9 +0,0 @@
  781         -
GET
  782         -
/
  783         -
  784         -
host:example.amazonaws.com
  785         -
x-amz-date:20150830T123600Z
  786         -
x-amz-region-set:us-east-1
  787         -
  788         -
host;x-amz-date;x-amz-region-set
  789         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  790    265   
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
  791    266   
deleted file mode 100644
  792    267   
index 95d7219..0000000
  793         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt
         268  +
++ /dev/null
  794    269   
@@ -1,4 +0,0 @@
  795         -
AWS4-ECDSA-P256-SHA256
  796         -
20150830T123600Z
  797         -
20150830/service/aws4_request
  798         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  799    270   
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
  800    271   
deleted file mode 100644
  801    272   
index a34ea26..0000000
  802         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt
         273  +
++ /dev/null
  803    274   
@@ -1,7 +0,0 @@
  804         -
GET
  805         -
/
  806         -
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
  807         -
host:example.amazonaws.com
  808         -
  809         -
host
  810         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  811    275   
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
  812    276   
deleted file mode 100644
  813    277   
index 48f855c..0000000
  814         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt
         278  +
++ /dev/null
  815    279   
@@ -1,4 +0,0 @@
  816         -
AWS4-ECDSA-P256-SHA256
  817         -
20150830T123600Z
  818         -
20150830/service/aws4_request
  819         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  820    280   
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
  821    281   
deleted file mode 100644
  822    282   
index 45771c7..0000000
  823         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json
         283  +
++ /dev/null
  824    284   
@@ -1,12 +0,0 @@
  825         -
{
  826         -
    "credentials": {
  827         -
        "access_key_id": "AKIDEXAMPLE",
  828         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  829         -
    },
  830         -
    "expiration_in_seconds": 3600,
  831         -
    "normalize": true,
  832         -
    "region": "us-east-1",
  833         -
    "service": "service",
  834         -
    "sign_body": false,
  835         -
    "timestamp": "2015-08-30T12:36:00Z"
  836         -
}
  837    285   
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
  838    286   
deleted file mode 100644
  839    287   
index 45771c7..0000000
  840         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json
         288  +
++ /dev/null
  841    289   
@@ -1,12 +0,0 @@
  842         -
{
  843         -
    "credentials": {
  844         -
        "access_key_id": "AKIDEXAMPLE",
  845         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  846         -
    },
  847         -
    "expiration_in_seconds": 3600,
  848         -
    "normalize": true,
  849         -
    "region": "us-east-1",
  850         -
    "service": "service",
  851         -
    "sign_body": false,
  852         -
    "timestamp": "2015-08-30T12:36:00Z"
  853         -
}
  854    290   
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
  855    291   
deleted file mode 100644
  856    292   
index 45771c7..0000000
  857         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json
         293  +
++ /dev/null
  858    294   
@@ -1,12 +0,0 @@
  859         -
{
  860         -
    "credentials": {
  861         -
        "access_key_id": "AKIDEXAMPLE",
  862         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  863         -
    },
  864         -
    "expiration_in_seconds": 3600,
  865         -
    "normalize": true,
  866         -
    "region": "us-east-1",
  867         -
    "service": "service",
  868         -
    "sign_body": false,
  869         -
    "timestamp": "2015-08-30T12:36:00Z"
  870         -
}
  871    295   
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
  872    296   
deleted file mode 100644
  873    297   
index 45771c7..0000000
  874         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json
         298  +
++ /dev/null
  875    299   
@@ -1,12 +0,0 @@
  876         -
{
  877         -
    "credentials": {
  878         -
        "access_key_id": "AKIDEXAMPLE",
  879         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  880         -
    },
  881         -
    "expiration_in_seconds": 3600,
  882         -
    "normalize": true,
  883         -
    "region": "us-east-1",
  884         -
    "service": "service",
  885         -
    "sign_body": false,
  886         -
    "timestamp": "2015-08-30T12:36:00Z"
  887         -
}
  888    300   
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
  889    301   
deleted file mode 100644
  890    302   
index 45771c7..0000000
  891         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json
         303  +
++ /dev/null
  892    304   
@@ -1,12 +0,0 @@
  893         -
{
  894         -
    "credentials": {
  895         -
        "access_key_id": "AKIDEXAMPLE",
  896         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  897         -
    },
  898         -
    "expiration_in_seconds": 3600,
  899         -
    "normalize": true,
  900         -
    "region": "us-east-1",
  901         -
    "service": "service",
  902         -
    "sign_body": false,
  903         -
    "timestamp": "2015-08-30T12:36:00Z"
  904         -
}
  905    305   
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
  906    306   
deleted file mode 100644
  907    307   
index 45771c7..0000000
  908         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json
         308  +
++ /dev/null
  909    309   
@@ -1,12 +0,0 @@
  910         -
{
  911         -
    "credentials": {
  912         -
        "access_key_id": "AKIDEXAMPLE",
  913         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  914         -
    },
  915         -
    "expiration_in_seconds": 3600,
  916         -
    "normalize": true,
  917         -
    "region": "us-east-1",
  918         -
    "service": "service",
  919         -
    "sign_body": false,
  920         -
    "timestamp": "2015-08-30T12:36:00Z"
  921         -
}
  922    310   
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
  923    311   
deleted file mode 100644
  924    312   
index b6fdecf..0000000
  925         -
-- 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
         313  +
++ /dev/null
  926    314   
@@ -1,4 +0,0 @@
  927         -
AWS4-ECDSA-P256-SHA256
  928         -
20150830T123600Z
  929         -
20150830/service/aws4_request
  930         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  931    315   
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
  932    316   
deleted file mode 100644
  933    317   
index a300bea..0000000
  934         -
-- 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
         318  +
++ /dev/null
  935    319   
@@ -1,4 +0,0 @@
  936         -
AWS4-ECDSA-P256-SHA256
  937         -
20150830T123600Z
  938         -
20150830/service/aws4_request
  939         -
ab426c74406d082ad98929df8969624e6ed5cb7f4e8501fbbe7d8c20e9c3b417
  940    320   
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
  941    321   
deleted file mode 100644
  942    322   
index b6fdecf..0000000
  943         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt
         323  +
++ /dev/null
  944    324   
@@ -1,4 +0,0 @@
  945         -
AWS4-ECDSA-P256-SHA256
  946         -
20150830T123600Z
  947         -
20150830/service/aws4_request
  948         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  949    325   
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
  950    326   
new file mode 100644
  951    327   
index 0000000..a674243
  952         -
-- /dev/null
         328  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md
  953    329   
@@ -0,0 +1,7 @@
         330  +
# AWS SigV4 and SigV4A Signing Test Suite
         331  +
         332  +
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).
         333  +
         334  +
We added the following changes:
         335  +
         336  +
* 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
  954    337   
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
  955    338   
similarity index 100%
  956    339   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.creq
  957    340   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-canonical-request.txt
  958    341   
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
  959    342   
similarity index 100%
  960    343   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.sreq
  961    344   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-signed-request.txt
  962    345   
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
  963    346   
similarity index 100%
  964    347   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.req
  965    348   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/request.txt
  966    349   
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
  967    350   
similarity index 100%
  968    351   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq
  969    352   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-canonical-request.txt
  970    353   
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
  971    354   
similarity index 100%
  972    355   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq
  973    356   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-signed-request.txt
  974    357   
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
  975    358   
similarity index 100%
  976    359   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts
  977    360   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-string-to-sign.txt
  978    361   
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
  979    362   
similarity index 100%
  980    363   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req
  981    364   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/request.txt
  982    365   
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
  983    366   
similarity index 99%
  984    367   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
  985    368   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
  986    369   
index 45771c7..0468d80 100644
  987    370   
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
  988    371   
similarity index 100%
  989    372   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq
  990    373   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
  991    374   
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
  992    375   
new file mode 100644
  993    376   
index 0000000..7fc5d7a
  994         -
-- /dev/null
         377  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
  995    378   
@@ -0,0 +1 @@
         379  +
c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
              \
 No newline at end of file
  996    380   
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
  997    381   
new file mode 100644
  998    382   
index 0000000..36a1205
  999         -
-- /dev/null
         383  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
 1000    384   
@@ -0,0 +1,8 @@
         385  +
GET / HTTP/1.1
         386  +
Host:example.amazonaws.com
         387  +
My-Header1:value2
         388  +
My-Header1:value2
         389  +
My-Header1:value1
         390  +
X-Amz-Date:20150830T123600Z
         391  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
         392  +
 1001    393   
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
 1002    394   
similarity index 100%
 1003    395   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts
 1004    396   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
 1005    397   
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
 1006    398   
new file mode 100644
 1007    399   
index 0000000..f9f4190
 1008         -
-- /dev/null
         400  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
 1009    401   
@@ -0,0 +1,8 @@
         402  +
GET
         403  +
/
         404  +
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
         405  +
host:example.amazonaws.com
         406  +
my-header1:value2,value2,value1
         407  +
         408  +
host;my-header1
         409  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1010    410   
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
 1011    411   
new file mode 100644
 1012    412   
index 0000000..5d0d87f
 1013         -
-- /dev/null
         413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
 1014    414   
@@ -0,0 +1 @@
         415  +
3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97
              \
 No newline at end of file
 1015    416   
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
 1016    417   
new file mode 100644
 1017    418   
index 0000000..c1dfcf4
 1018         -
-- /dev/null
         419  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
 1019    420   
@@ -0,0 +1,6 @@
         421  +
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
         422  +
Host:example.amazonaws.com
         423  +
My-Header1:value2
         424  +
My-Header1:value2
         425  +
My-Header1:value1
         426  +
 1020    427   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1021    428   
similarity index 53%
 1022    429   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
 1023    430   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1024    431   
index 0a3350a..077c1bb 100644
 1025         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
         432  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1026    433   
@@ -1,4 +1,4 @@
 1027    434   
AWS4-HMAC-SHA256
 1028    435   
20150830T123600Z
 1029    436   
20150830/us-east-1/service/aws4_request
 1030         -
b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55
              \
 No newline at end of file
         437  +
fe8b58fb44117d598520befc07c144a5699c661a8db78f9ce4caee1655dec813
              \
 No newline at end of file
 1031    438   
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
 1032    439   
similarity index 100%
 1033    440   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt
 1034    441   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
 1035    442   
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
 1036    443   
similarity index 99%
 1037    444   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
 1038    445   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1039    446   
index 45771c7..0468d80 100644
 1040    447   
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
 1041    448   
similarity index 82%
 1042    449   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
 1043    450   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1044    451   
index 721a39f..8cb5476 100644
 1045         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
         452  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1046    453   
@@ -1,9 +1,9 @@
 1047    454   
GET
 1048    455   
/
 1049    456   
 1050    457   
host:example.amazonaws.com
 1051         -
my-header1:value1,value2,value3
         458  +
my-header1:value1 value2 value3
 1052    459   
x-amz-date:20150830T123600Z
 1053    460   
 1054    461   
host;my-header1;x-amz-date
 1055    462   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1056    463   
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
 1057    464   
new file mode 100644
 1058    465   
index 0000000..e6ff7a9
 1059         -
-- /dev/null
         466  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
 1060    467   
@@ -0,0 +1 @@
         468  +
cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
              \
 No newline at end of file
 1061    469   
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
 1062    470   
new file mode 100644
 1063    471   
index 0000000..b5ef6a0
 1064         -
-- /dev/null
         472  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
 1065    473   
@@ -0,0 +1,8 @@
         474  +
GET / HTTP/1.1
         475  +
Host:example.amazonaws.com
         476  +
My-Header1:value1
         477  +
  value2
         478  +
     value3
         479  +
X-Amz-Date:20150830T123600Z
         480  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
         481  +
 1066    482   
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
 1067    483   
similarity index 53%
 1068    484   
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
 1069    485   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1070    486   
index fd43a41..97c7430 100644
 1071         -
-- 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
         487  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1072    488   
@@ -1,4 +1,4 @@
 1073    489   
AWS4-HMAC-SHA256
 1074    490   
20150830T123600Z
 1075    491   
20150830/us-east-1/service/aws4_request
 1076         -
704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89
              \
 No newline at end of file
         492  +
e99419459a677bc11de234014be3c4e72c1ea5b454ceb58b613061f5d7a162e8
              \
 No newline at end of file
 1077    493   
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
 1078    494   
new file mode 100644
 1079    495   
index 0000000..aac46de
 1080         -
-- /dev/null
         496  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
 1081    497   
@@ -0,0 +1,8 @@
         498  +
GET
         499  +
/
         500  +
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
         501  +
host:example.amazonaws.com
         502  +
my-header1:value1 value2 value3
         503  +
         504  +
host;my-header1
         505  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1082    506   
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
 1083    507   
new file mode 100644
 1084    508   
index 0000000..205732d
 1085         -
-- /dev/null
         509  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
 1086    510   
@@ -0,0 +1 @@
         511  +
e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56
              \
 No newline at end of file
 1087    512   
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
 1088    513   
new file mode 100644
 1089    514   
index 0000000..a891b87
 1090         -
-- /dev/null
         515  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
 1091    516   
@@ -0,0 +1,6 @@
         517  +
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
         518  +
Host:example.amazonaws.com
         519  +
My-Header1:value1
         520  +
  value2
         521  +
     value3
         522  +
 1092    523   
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
 1093    524   
similarity index 53%
 1094    525   
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
 1095    526   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1096    527   
index 90e66b8..ec3fe45 100644
 1097         -
-- 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
         528  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1098    529   
@@ -1,4 +1,4 @@
 1099    530   
AWS4-HMAC-SHA256
 1100    531   
20150830T123600Z
 1101    532   
20150830/us-east-1/service/aws4_request
 1102         -
c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606
              \
 No newline at end of file
         533  +
0e73c10e35324b4d215da4bb70be61d13a3d30d569be4ed6e8fd8948965341ca
              \
 No newline at end of file
 1103    534   
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
 1104    535   
similarity index 75%
 1105    536   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
 1106    537   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1107    538   
index 7caa6ac..b5026cd 100644
 1108         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
         539  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1109    540   
@@ -1,6 +1,5 @@
 1110    541   
GET / HTTP/1.1
 1111    542   
Host:example.amazonaws.com
 1112    543   
My-Header1:value1
 1113    544   
  value2
 1114    545   
     value3
 1115         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1116    546   
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
 1117    547   
similarity index 99%
 1118    548   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
 1119    549   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1120    550   
index 45771c7..0468d80 100644
 1121    551   
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
 1122    552   
similarity index 100%
 1123    553   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq
 1124    554   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
 1125    555   
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
 1126    556   
new file mode 100644
 1127    557   
index 0000000..8ef0494
 1128         -
-- /dev/null
         558  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
 1129    559   
@@ -0,0 +1 @@
         560  +
08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
 1130    561   
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
 1131    562   
new file mode 100644
 1132    563   
index 0000000..b786dc9
 1133         -
-- /dev/null
         564  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
 1134    565   
@@ -0,0 +1,9 @@
         566  +
GET / HTTP/1.1
         567  +
Host:example.amazonaws.com
         568  +
My-Header1:value4
         569  +
My-Header1:value1
         570  +
My-Header1:value3
         571  +
My-Header1:value2
         572  +
X-Amz-Date:20150830T123600Z
         573  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
         574  +
 1135    575   
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
 1136    576   
similarity index 100%
 1137    577   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts
 1138    578   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
 1139    579   
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
 1140    580   
new file mode 100644
 1141    581   
index 0000000..a211cc5
 1142         -
-- /dev/null
         582  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
 1143    583   
@@ -0,0 +1,8 @@
         584  +
GET
         585  +
/
         586  +
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
         587  +
host:example.amazonaws.com
         588  +
my-header1:value4,value1,value3,value2
         589  +
         590  +
host;my-header1
         591  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1144    592   
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
 1145    593   
new file mode 100644
 1146    594   
index 0000000..417b0fa
 1147         -
-- /dev/null
         595  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
 1148    596   
@@ -0,0 +1 @@
         597  +
313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e
              \
 No newline at end of file
 1149    598   
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
 1150    599   
new file mode 100644
 1151    600   
index 0000000..b615e5d
 1152         -
-- /dev/null
         601  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
 1153    602   
@@ -0,0 +1,7 @@
         603  +
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
         604  +
Host:example.amazonaws.com
         605  +
My-Header1:value4
         606  +
My-Header1:value1
         607  +
My-Header1:value3
         608  +
My-Header1:value2
         609  +
 1154    610   
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
 1155    611   
similarity index 53%
 1156    612   
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
 1157    613   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1158    614   
index f7e615e..dcaaa1b 100644
 1159         -
-- 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
         615  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1160    616   
@@ -1,4 +1,4 @@
 1161    617   
AWS4-HMAC-SHA256
 1162    618   
20150830T123600Z
 1163    619   
20150830/us-east-1/service/aws4_request
 1164         -
5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9
              \
 No newline at end of file
         620  +
f4d3f13084ba7664111670ce26458291d3e0c620acd9384f8cd6b60d8e83423e
              \
 No newline at end of file
 1165    621   
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
 1166    622   
similarity index 100%
 1167    623   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt
 1168    624   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1169    625   
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
 1170    626   
similarity index 99%
 1171    627   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
 1172    628   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1173    629   
index 45771c7..0468d80 100644
 1174    630   
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
 1175    631   
similarity index 100%
 1176    632   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq
 1177    633   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1178    634   
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
 1179    635   
new file mode 100644
 1180    636   
index 0000000..36081a9
 1181         -
-- /dev/null
         637  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1182    638   
@@ -0,0 +1 @@
         639  +
acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
 1183    640   
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
 1184    641   
new file mode 100644
 1185    642   
index 0000000..6331d16
 1186         -
-- /dev/null
         643  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1187    644   
@@ -0,0 +1,7 @@
         645  +
GET / HTTP/1.1
         646  +
Host:example.amazonaws.com
         647  +
My-Header1: value1
         648  +
My-Header2: "a   b   c"
         649  +
X-Amz-Date:20150830T123600Z
         650  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
         651  +
 1188    652   
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
 1189    653   
similarity index 100%
 1190    654   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts
 1191    655   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1192    656   
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
 1193    657   
new file mode 100644
 1194    658   
index 0000000..125c1f9
 1195         -
-- /dev/null
         659  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1196    660   
@@ -0,0 +1,9 @@
         661  +
GET
         662  +
/
         663  +
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
         664  +
host:example.amazonaws.com
         665  +
my-header1:value1
         666  +
my-header2:"a b c"
         667  +
         668  +
host;my-header1;my-header2
         669  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1197    670   
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
 1198    671   
new file mode 100644
 1199    672   
index 0000000..17007a8
 1200         -
-- /dev/null
         673  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1201    674   
@@ -0,0 +1 @@
         675  +
e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4
              \
 No newline at end of file
 1202    676   
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
 1203    677   
new file mode 100644
 1204    678   
index 0000000..e519fd9
 1205         -
-- /dev/null
         679  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1206    680   
@@ -0,0 +1,5 @@
         681  +
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
         682  +
Host:example.amazonaws.com
         683  +
My-Header1: value1
         684  +
My-Header2: "a   b   c"
         685  +
 1207    686   
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
 1208    687   
new file mode 100644
 1209    688   
index 0000000..6b4b781
 1210         -
-- /dev/null
         689  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1211    690   
@@ -0,0 +1,4 @@
         691  +
AWS4-HMAC-SHA256
         692  +
20150830T123600Z
         693  +
20150830/us-east-1/service/aws4_request
         694  +
84c9e353b6161b689210977f93b93e6a7182f9ecb2ceae8af8c3d86b080a88ae
              \
 No newline at end of file
 1212    695   
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
 1213    696   
similarity index 100%
 1214    697   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt
 1215    698   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1216    699   
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
 1217    700   
new file mode 100644
 1218    701   
index 0000000..0468d80
 1219         -
-- /dev/null
         702  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1220    703   
@@ -0,0 +1,12 @@
         704  +
{
         705  +
    "credentials": {
         706  +
        "access_key_id": "AKIDEXAMPLE",
         707  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         708  +
    },
         709  +
    "expiration_in_seconds": 3600,
         710  +
    "normalize": true,
         711  +
    "region": "us-east-1",
         712  +
    "service": "service",
         713  +
    "sign_body": false,
         714  +
    "timestamp": "2015-08-30T12:36:00Z"
         715  +
}
              \
 No newline at end of file
 1221    716   
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
 1222    717   
similarity index 100%
 1223    718   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq
 1224    719   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1225    720   
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
 1226    721   
new file mode 100644
 1227    722   
index 0000000..87f295f
 1228         -
-- /dev/null
         723  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1229    724   
@@ -0,0 +1 @@
         725  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1230    726   
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
 1231    727   
new file mode 100644
 1232    728   
index 0000000..0de8327
 1233         -
-- /dev/null
         729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1234    730   
@@ -0,0 +1,5 @@
         731  +
GET /example/.. HTTP/1.1
         732  +
Host:example.amazonaws.com
         733  +
X-Amz-Date:20150830T123600Z
         734  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         735  +
 1235    736   
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
 1236    737   
similarity index 100%
 1237    738   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts
 1238    739   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1239    740   
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
 1240    741   
new file mode 100644
 1241    742   
index 0000000..fb2420d
 1242         -
-- /dev/null
         743  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1243    744   
@@ -0,0 +1,7 @@
         745  +
GET
         746  +
/
         747  +
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
         748  +
host:example.amazonaws.com
         749  +
         750  +
host
         751  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1244    752   
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
 1245    753   
new file mode 100644
 1246    754   
index 0000000..da5c905
 1247         -
-- /dev/null
         755  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1248    756   
@@ -0,0 +1 @@
         757  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1249    758   
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
 1250    759   
new file mode 100644
 1251    760   
index 0000000..4329c98
 1252         -
-- /dev/null
         761  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1253    762   
@@ -0,0 +1,3 @@
         763  +
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
         764  +
Host:example.amazonaws.com
         765  +
 1254    766   
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
 1255    767   
new file mode 100644
 1256    768   
index 0000000..d837e67
 1257         -
-- /dev/null
         769  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1258    770   
@@ -0,0 +1,4 @@
         771  +
AWS4-HMAC-SHA256
         772  +
20150830T123600Z
         773  +
20150830/us-east-1/service/aws4_request
         774  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1259    775   
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
 1260    776   
similarity index 100%
 1261    777   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt
 1262    778   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1263    779   
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
 1264    780   
new file mode 100644
 1265    781   
index 0000000..0468d80
 1266         -
-- /dev/null
         782  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1267    783   
@@ -0,0 +1,12 @@
         784  +
{
         785  +
    "credentials": {
         786  +
        "access_key_id": "AKIDEXAMPLE",
         787  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         788  +
    },
         789  +
    "expiration_in_seconds": 3600,
         790  +
    "normalize": true,
         791  +
    "region": "us-east-1",
         792  +
    "service": "service",
         793  +
    "sign_body": false,
         794  +
    "timestamp": "2015-08-30T12:36:00Z"
         795  +
}
              \
 No newline at end of file
 1268    796   
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
 1269    797   
similarity index 100%
 1270    798   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq
 1271    799   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1272    800   
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
 1273    801   
new file mode 100644
 1274    802   
index 0000000..87f295f
 1275         -
-- /dev/null
         803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1276    804   
@@ -0,0 +1 @@
         805  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1277    806   
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
 1278    807   
new file mode 100644
 1279    808   
index 0000000..f9b3815
 1280         -
-- /dev/null
         809  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1281    810   
@@ -0,0 +1,5 @@
         811  +
GET /example1/example2/../.. HTTP/1.1
         812  +
Host:example.amazonaws.com
         813  +
X-Amz-Date:20150830T123600Z
         814  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         815  +
 1282    816   
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
 1283    817   
similarity index 100%
 1284    818   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts
 1285    819   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1286    820   
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
 1287    821   
new file mode 100644
 1288    822   
index 0000000..fb2420d
 1289         -
-- /dev/null
         823  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1290    824   
@@ -0,0 +1,7 @@
         825  +
GET
         826  +
/
         827  +
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
         828  +
host:example.amazonaws.com
         829  +
         830  +
host
         831  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1291    832   
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
 1292    833   
new file mode 100644
 1293    834   
index 0000000..da5c905
 1294         -
-- /dev/null
         835  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1295    836   
@@ -0,0 +1 @@
         837  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1296    838   
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
 1297    839   
new file mode 100644
 1298    840   
index 0000000..b2988b7
 1299         -
-- /dev/null
         841  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1300    842   
@@ -0,0 +1,3 @@
         843  +
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
         844  +
Host:example.amazonaws.com
         845  +
 1301    846   
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
 1302    847   
new file mode 100644
 1303    848   
index 0000000..d837e67
 1304         -
-- /dev/null
         849  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1305    850   
@@ -0,0 +1,4 @@
         851  +
AWS4-HMAC-SHA256
         852  +
20150830T123600Z
         853  +
20150830/us-east-1/service/aws4_request
         854  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1306    855   
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
 1307    856   
similarity index 100%
 1308    857   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt
 1309    858   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1310    859   
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
 1311    860   
similarity index 99%
 1312    861   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
 1313    862   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1314    863   
index afe367b..7bee5c7 100644
 1315    864   
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
 1316    865   
similarity index 82%
 1317    866   
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
 1318    867   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1319    868   
index 36c3cdf..6919c44 100644
 1320         -
-- 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
         869  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1321    870   
@@ -1,8 +1,8 @@
 1322    871   
GET
 1323         -
/
 1324         -
Param1=Value1&Param1=value2
         872  +
/example1/example2/../..
         873  +
 1325    874   
host:example.amazonaws.com
 1326    875   
x-amz-date:20150830T123600Z
 1327    876   
 1328    877   
host;x-amz-date
 1329    878   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1330    879   
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
 1331    880   
new file mode 100644
 1332    881   
index 0000000..4092d83
 1333         -
-- /dev/null
         882  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1334    883   
@@ -0,0 +1 @@
         884  +
dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
              \
 No newline at end of file
 1335    885   
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
 1336    886   
new file mode 100644
 1337    887   
index 0000000..e731b35
 1338         -
-- /dev/null
         888  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1339    889   
@@ -0,0 +1,5 @@
         890  +
GET /example1/example2/../.. HTTP/1.1
         891  +
Host:example.amazonaws.com
         892  +
X-Amz-Date:20150830T123600Z
         893  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
         894  +
 1340    895   
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
 1341    896   
new file mode 100644
 1342    897   
index 0000000..4f45752
 1343         -
-- /dev/null
         898  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1344    899   
@@ -0,0 +1,4 @@
         900  +
AWS4-HMAC-SHA256
         901  +
20150830T123600Z
         902  +
20150830/us-east-1/service/aws4_request
         903  +
76115030c0f3ff06c20fdff5ceb6d5e0b835a1743e00b94fea7c7f381269437b
              \
 No newline at end of file
 1345    904   
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
 1346    905   
new file mode 100644
 1347    906   
index 0000000..e1fb07d
 1348         -
-- /dev/null
         907  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1349    908   
@@ -0,0 +1,7 @@
         909  +
GET
         910  +
/example1/example2/../..
         911  +
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
         912  +
host:example.amazonaws.com
         913  +
         914  +
host
         915  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1350    916   
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
 1351    917   
new file mode 100644
 1352    918   
index 0000000..8ac31d7
 1353         -
-- /dev/null
         919  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1354    920   
@@ -0,0 +1 @@
         921  +
b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16
              \
 No newline at end of file
 1355    922   
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
 1356    923   
new file mode 100644
 1357    924   
index 0000000..ac074f9
 1358         -
-- /dev/null
         925  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1359    926   
@@ -0,0 +1,3 @@
         927  +
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
         928  +
Host:example.amazonaws.com
         929  +
 1360    930   
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
 1361    931   
new file mode 100644
 1362    932   
index 0000000..8dcb6ff
 1363         -
-- /dev/null
         933  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1364    934   
@@ -0,0 +1,4 @@
         935  +
AWS4-HMAC-SHA256
         936  +
20150830T123600Z
         937  +
20150830/us-east-1/service/aws4_request
         938  +
13b7758115ec070fe36a7ae9d754154ad73f6ee9a5eac022494857d0e7effc18
              \
 No newline at end of file
 1365    939   
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
 1366    940   
similarity index 100%
 1367    941   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt
 1368    942   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1369    943   
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
 1370    944   
similarity index 99%
 1371    945   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
 1372    946   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1373    947   
index afe367b..7bee5c7 100644
 1374    948   
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
 1375    949   
similarity index 82%
 1376    950   
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
 1377    951   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1378    952   
index 26898eb..f640bc2 100644
 1379         -
-- 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
         953  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1380    954   
@@ -1,8 +1,8 @@
 1381    955   
GET
 1382         -
/
 1383         -
Param1=value1&Param1=value2
         956  +
/example/..
         957  +
 1384    958   
host:example.amazonaws.com
 1385    959   
x-amz-date:20150830T123600Z
 1386    960   
 1387    961   
host;x-amz-date
 1388    962   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1389    963   
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
 1390    964   
new file mode 100644
 1391    965   
index 0000000..d957303
 1392         -
-- /dev/null
         966  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1393    967   
@@ -0,0 +1 @@
         968  +
eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
              \
 No newline at end of file
 1394    969   
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
 1395    970   
new file mode 100644
 1396    971   
index 0000000..4f42ffc
 1397         -
-- /dev/null
         972  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1398    973   
@@ -0,0 +1,5 @@
         974  +
GET /example/.. HTTP/1.1
         975  +
Host:example.amazonaws.com
         976  +
X-Amz-Date:20150830T123600Z
         977  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
         978  +
 1399    979   
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
 1400    980   
new file mode 100644
 1401    981   
index 0000000..ca54bda
 1402         -
-- /dev/null
         982  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1403    983   
@@ -0,0 +1,4 @@
         984  +
AWS4-HMAC-SHA256
         985  +
20150830T123600Z
         986  +
20150830/us-east-1/service/aws4_request
         987  +
0511f456aa502b456d135fcb9d749374a55228f9dbeedda1eacf659e05b0615b
              \
 No newline at end of file
 1404    988   
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
 1405    989   
new file mode 100644
 1406    990   
index 0000000..dc80036
 1407         -
-- /dev/null
         991  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1408    992   
@@ -0,0 +1,7 @@
         993  +
GET
         994  +
/example/..
         995  +
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
         996  +
host:example.amazonaws.com
         997  +
         998  +
host
         999  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1409   1000   
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
 1410   1001   
new file mode 100644
 1411   1002   
index 0000000..dfa0437
 1412         -
-- /dev/null
        1003  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1413   1004   
@@ -0,0 +1 @@
        1005  +
cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee
              \
 No newline at end of file
 1414   1006   
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
 1415   1007   
new file mode 100644
 1416   1008   
index 0000000..98367b1
 1417         -
-- /dev/null
        1009  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1418   1010   
@@ -0,0 +1,3 @@
        1011  +
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
        1012  +
Host:example.amazonaws.com
        1013  +
 1419   1014   
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
 1420   1015   
new file mode 100644
 1421   1016   
index 0000000..f65dd66
 1422         -
-- /dev/null
        1017  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1423   1018   
@@ -0,0 +1,4 @@
        1019  +
AWS4-HMAC-SHA256
        1020  +
20150830T123600Z
        1021  +
20150830/us-east-1/service/aws4_request
        1022  +
6e02e2dba21d6f269bae339b86ff27a4b7bbc9d88c482abccbfbf8a49d602482
              \
 No newline at end of file
 1424   1023   
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
 1425   1024   
similarity index 100%
 1426   1025   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt
 1427   1026   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1428   1027   
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
 1429   1028   
new file mode 100644
 1430   1029   
index 0000000..0468d80
 1431         -
-- /dev/null
        1030  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1432   1031   
@@ -0,0 +1,12 @@
        1032  +
{
        1033  +
    "credentials": {
        1034  +
        "access_key_id": "AKIDEXAMPLE",
        1035  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1036  +
    },
        1037  +
    "expiration_in_seconds": 3600,
        1038  +
    "normalize": true,
        1039  +
    "region": "us-east-1",
        1040  +
    "service": "service",
        1041  +
    "sign_body": false,
        1042  +
    "timestamp": "2015-08-30T12:36:00Z"
        1043  +
}
              \
 No newline at end of file
 1433   1044   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1434   1045   
similarity index 100%
 1435   1046   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq
 1436   1047   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1437   1048   
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
 1438   1049   
new file mode 100644
 1439   1050   
index 0000000..87f295f
 1440         -
-- /dev/null
        1051  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1441   1052   
@@ -0,0 +1 @@
        1053  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1442   1054   
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
 1443   1055   
new file mode 100644
 1444   1056   
index 0000000..99c8eeb
 1445         -
-- /dev/null
        1057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1446   1058   
@@ -0,0 +1,5 @@
        1059  +
GET /./ HTTP/1.1
        1060  +
Host:example.amazonaws.com
        1061  +
X-Amz-Date:20150830T123600Z
        1062  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1063  +
 1447   1064   
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
 1448   1065   
similarity index 100%
 1449   1066   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts
 1450   1067   
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
 1451   1068   
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
 1452   1069   
new file mode 100644
 1453   1070   
index 0000000..fb2420d
 1454         -
-- /dev/null
        1071  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1455   1072   
@@ -0,0 +1,7 @@
        1073  +
GET
        1074  +
/
        1075  +
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
        1076  +
host:example.amazonaws.com
        1077  +
        1078  +
host
        1079  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1456   1080   
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
 1457   1081   
new file mode 100644
 1458   1082   
index 0000000..da5c905
 1459         -
-- /dev/null
        1083  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1460   1084   
@@ -0,0 +1 @@
        1085  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1461   1086   
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
 1462   1087   
new file mode 100644
 1463   1088   
index 0000000..2e47f69
 1464         -
-- /dev/null
        1089  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1465   1090   
@@ -0,0 +1,3 @@
        1091  +
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
        1092  +
Host:example.amazonaws.com
        1093  +
 1466   1094   
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
 1467   1095   
new file mode 100644
 1468   1096   
index 0000000..d837e67
 1469         -
-- /dev/null
        1097  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1470   1098   
@@ -0,0 +1,4 @@
        1099  +
AWS4-HMAC-SHA256
        1100  +
20150830T123600Z
        1101  +
20150830/us-east-1/service/aws4_request
        1102  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1471   1103   
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
 1472   1104   
similarity index 100%
 1473   1105   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt
 1474   1106   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1475   1107   
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
 1476   1108   
similarity index 99%
 1477   1109   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
 1478   1110   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1479   1111   
index afe367b..7bee5c7 100644
 1480   1112   
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
 1481   1113   
new file mode 100644
 1482   1114   
index 0000000..5159048
 1483         -
-- /dev/null
        1115  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1484   1116   
@@ -0,0 +1,8 @@
        1117  +
GET
        1118  +
/./
        1119  +
        1120  +
host:example.amazonaws.com
        1121  +
x-amz-date:20150830T123600Z
        1122  +
        1123  +
host;x-amz-date
        1124  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1485   1125   
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
 1486   1126   
new file mode 100644
 1487   1127   
index 0000000..b49ff0e
 1488         -
-- /dev/null
        1128  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1489   1129   
@@ -0,0 +1 @@
        1130  +
68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
              \
 No newline at end of file
 1490   1131   
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
 1491   1132   
new file mode 100644
 1492   1133   
index 0000000..aeb1ffa
 1493         -
-- /dev/null
        1134  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1494   1135   
@@ -0,0 +1,5 @@
        1136  +
GET /./ HTTP/1.1
        1137  +
Host:example.amazonaws.com
        1138  +
X-Amz-Date:20150830T123600Z
        1139  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
        1140  +
 1495   1141   
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
 1496   1142   
new file mode 100644
 1497   1143   
index 0000000..b7d8caf
 1498         -
-- /dev/null
        1144  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1499   1145   
@@ -0,0 +1,4 @@
        1146  +
AWS4-HMAC-SHA256
        1147  +
20150830T123600Z
        1148  +
20150830/us-east-1/service/aws4_request
        1149  +
d67825e2268bd77a97c7688b8d72c31a3c1855b309808505ba0a9747d2465aa7
              \
 No newline at end of file
 1500   1150   
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
 1501   1151   
new file mode 100644
 1502   1152   
index 0000000..d4e029e
 1503         -
-- /dev/null
        1153  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1504   1154   
@@ -0,0 +1,7 @@
        1155  +
GET
        1156  +
/./
        1157  +
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
        1158  +
host:example.amazonaws.com
        1159  +
        1160  +
host
        1161  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1505   1162   
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
 1506   1163   
new file mode 100644
 1507   1164   
index 0000000..fe8f4cc
 1508         -
-- /dev/null
        1165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1509   1166   
@@ -0,0 +1 @@
        1167  +
a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c
              \
 No newline at end of file
 1510   1168   
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
 1511   1169   
new file mode 100644
 1512   1170   
index 0000000..dcc4fc4
 1513         -
-- /dev/null
        1171  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1514   1172   
@@ -0,0 +1,3 @@
        1173  +
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
        1174  +
Host:example.amazonaws.com
        1175  +
 1515   1176   
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
 1516   1177   
new file mode 100644
 1517   1178   
index 0000000..5fb3ada
 1518         -
-- /dev/null
        1179  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1519   1180   
@@ -0,0 +1,4 @@
        1181  +
AWS4-HMAC-SHA256
        1182  +
20150830T123600Z
        1183  +
20150830/us-east-1/service/aws4_request
        1184  +
21b2da17873f30c1a7410efdc271738b318ccc2c9c6fbe1289fc242aeb1a8ae1
              \
 No newline at end of file
 1520   1185   
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
 1521   1186   
similarity index 100%
 1522   1187   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt
 1523   1188   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1524   1189   
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
 1525   1190   
new file mode 100644
 1526   1191   
index 0000000..0468d80
 1527         -
-- /dev/null
        1192  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1528   1193   
@@ -0,0 +1,12 @@
        1194  +
{
        1195  +
    "credentials": {
        1196  +
        "access_key_id": "AKIDEXAMPLE",
        1197  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1198  +
    },
        1199  +
    "expiration_in_seconds": 3600,
        1200  +
    "normalize": true,
        1201  +
    "region": "us-east-1",
        1202  +
    "service": "service",
        1203  +
    "sign_body": false,
        1204  +
    "timestamp": "2015-08-30T12:36:00Z"
        1205  +
}
              \
 No newline at end of file
 1529   1206   
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
 1530   1207   
similarity index 100%
 1531   1208   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq
 1532   1209   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1533   1210   
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
 1534   1211   
new file mode 100644
 1535   1212   
index 0000000..87f295f
 1536         -
-- /dev/null
        1213  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1537   1214   
@@ -0,0 +1 @@
        1215  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1538   1216   
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
 1539   1217   
new file mode 100644
 1540   1218   
index 0000000..b91087b
 1541         -
-- /dev/null
        1219  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1542   1220   
@@ -0,0 +1,5 @@
        1221  +
GET // HTTP/1.1
        1222  +
Host:example.amazonaws.com
        1223  +
X-Amz-Date:20150830T123600Z
        1224  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1225  +
 1543   1226   
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
 1544   1227   
similarity index 100%
 1545   1228   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts
 1546   1229   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1547   1230   
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
 1548   1231   
new file mode 100644
 1549   1232   
index 0000000..fb2420d
 1550         -
-- /dev/null
        1233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1551   1234   
@@ -0,0 +1,7 @@
        1235  +
GET
        1236  +
/
        1237  +
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
        1238  +
host:example.amazonaws.com
        1239  +
        1240  +
host
        1241  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1552   1242   
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
 1553   1243   
new file mode 100644
 1554   1244   
index 0000000..da5c905
 1555         -
-- /dev/null
        1245  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1556   1246   
@@ -0,0 +1 @@
        1247  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1557   1248   
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
 1558   1249   
new file mode 100644
 1559   1250   
index 0000000..0290ba4
 1560         -
-- /dev/null
        1251  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1561   1252   
@@ -0,0 +1,3 @@
        1253  +
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
        1254  +
Host:example.amazonaws.com
        1255  +
 1562   1256   
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
 1563   1257   
new file mode 100644
 1564   1258   
index 0000000..d837e67
 1565         -
-- /dev/null
        1259  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1566   1260   
@@ -0,0 +1,4 @@
        1261  +
AWS4-HMAC-SHA256
        1262  +
20150830T123600Z
        1263  +
20150830/us-east-1/service/aws4_request
        1264  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1567   1265   
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
 1568   1266   
similarity index 100%
 1569   1267   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt
 1570   1268   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1571   1269   
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
 1572   1270   
new file mode 100644
 1573   1271   
index 0000000..0468d80
 1574         -
-- /dev/null
        1272  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1575   1273   
@@ -0,0 +1,12 @@
        1274  +
{
        1275  +
    "credentials": {
        1276  +
        "access_key_id": "AKIDEXAMPLE",
        1277  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1278  +
    },
        1279  +
    "expiration_in_seconds": 3600,
        1280  +
    "normalize": true,
        1281  +
    "region": "us-east-1",
        1282  +
    "service": "service",
        1283  +
    "sign_body": false,
        1284  +
    "timestamp": "2015-08-30T12:36:00Z"
        1285  +
}
              \
 No newline at end of file
 1576   1286   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1577   1287   
similarity index 100%
 1578   1288   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.creq
 1579   1289   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1580   1290   
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
 1581   1291   
new file mode 100644
 1582   1292   
index 0000000..8f892bf
 1583         -
-- /dev/null
        1293  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1584   1294   
@@ -0,0 +1 @@
        1295  +
ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
 1585   1296   
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
 1586   1297   
new file mode 100644
 1587   1298   
index 0000000..2a1895c
 1588         -
-- /dev/null
        1299  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1589   1300   
@@ -0,0 +1,5 @@
        1301  +
GET /./example HTTP/1.1
        1302  +
Host:example.amazonaws.com
        1303  +
X-Amz-Date:20150830T123600Z
        1304  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
        1305  +
 1590   1306   
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
 1591   1307   
similarity index 100%
 1592   1308   
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
 1593   1309   
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
 1594   1310   
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
 1595   1311   
new file mode 100644
 1596   1312   
index 0000000..99dfc2a
 1597         -
-- /dev/null
        1313  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1598   1314   
@@ -0,0 +1,7 @@
        1315  +
GET
        1316  +
/example
        1317  +
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
        1318  +
host:example.amazonaws.com
        1319  +
        1320  +
host
        1321  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1599   1322   
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
 1600   1323   
new file mode 100644
 1601   1324   
index 0000000..fcd7a17
 1602         -
-- /dev/null
        1325  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1603   1326   
@@ -0,0 +1 @@
        1327  +
35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de
              \
 No newline at end of file
 1604   1328   
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
 1605   1329   
new file mode 100644
 1606   1330   
index 0000000..f671de2
 1607         -
-- /dev/null
        1331  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1608   1332   
@@ -0,0 +1,3 @@
        1333  +
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
        1334  +
Host:example.amazonaws.com
        1335  +
 1609   1336   
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
 1610   1337   
new file mode 100644
 1611   1338   
index 0000000..f8456dc
 1612         -
-- /dev/null
        1339  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1613   1340   
@@ -0,0 +1,4 @@
        1341  +
AWS4-HMAC-SHA256
        1342  +
20150830T123600Z
        1343  +
20150830/us-east-1/service/aws4_request
        1344  +
88dd73bb06de69cb042dbb82cadbb4fce1a2623615d94520c271614abf94e738
              \
 No newline at end of file
 1614   1345   
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
 1615   1346   
similarity index 100%
 1616   1347   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt
 1617   1348   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1618   1349   
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
 1619   1350   
similarity index 99%
 1620   1351   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
 1621   1352   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1622   1353   
index afe367b..7bee5c7 100644
 1623   1354   
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
 1624   1355   
new file mode 100644
 1625   1356   
index 0000000..36698c7
 1626         -
-- /dev/null
        1357  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1627   1358   
@@ -0,0 +1,8 @@
        1359  +
GET
        1360  +
/./example
        1361  +
        1362  +
host:example.amazonaws.com
        1363  +
x-amz-date:20150830T123600Z
        1364  +
        1365  +
host;x-amz-date
        1366  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1628   1367   
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
 1629   1368   
new file mode 100644
 1630   1369   
index 0000000..4a4b8f2
 1631         -
-- /dev/null
        1370  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1632   1371   
@@ -0,0 +1 @@
        1372  +
beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
              \
 No newline at end of file
 1633   1373   
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
 1634   1374   
new file mode 100644
 1635   1375   
index 0000000..d462bcd
 1636         -
-- /dev/null
        1376  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1637   1377   
@@ -0,0 +1,5 @@
        1378  +
GET /./example HTTP/1.1
        1379  +
Host:example.amazonaws.com
        1380  +
X-Amz-Date:20150830T123600Z
        1381  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
        1382  +
 1638   1383   
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
 1639   1384   
new file mode 100644
 1640   1385   
index 0000000..8be78c9
 1641         -
-- /dev/null
        1386  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1642   1387   
@@ -0,0 +1,4 @@
        1388  +
AWS4-HMAC-SHA256
        1389  +
20150830T123600Z
        1390  +
20150830/us-east-1/service/aws4_request
        1391  +
73895e0e829507e28e39fd24669aedc2434a8e179e547e3c075b42921f952cdb
              \
 No newline at end of file
 1643   1392   
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
 1644   1393   
new file mode 100644
 1645   1394   
index 0000000..fe1103c
 1646         -
-- /dev/null
        1395  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1647   1396   
@@ -0,0 +1,7 @@
        1397  +
GET
        1398  +
/./example
        1399  +
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
        1400  +
host:example.amazonaws.com
        1401  +
        1402  +
host
        1403  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1648   1404   
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
 1649   1405   
new file mode 100644
 1650   1406   
index 0000000..ce80762
 1651         -
-- /dev/null
        1407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1652   1408   
@@ -0,0 +1 @@
        1409  +
72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10
              \
 No newline at end of file
 1653   1410   
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
 1654   1411   
new file mode 100644
 1655   1412   
index 0000000..30841a6
 1656         -
-- /dev/null
        1413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1657   1414   
@@ -0,0 +1,3 @@
        1415  +
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
        1416  +
Host:example.amazonaws.com
        1417  +
 1658   1418   
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
 1659   1419   
new file mode 100644
 1660   1420   
index 0000000..5c66509
 1661         -
-- /dev/null
        1421  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1662   1422   
@@ -0,0 +1,4 @@
        1423  +
AWS4-HMAC-SHA256
        1424  +
20150830T123600Z
        1425  +
20150830/us-east-1/service/aws4_request
        1426  +
cb23444939471187ac1f0fb25d437337af0d5f48b5ae0ede5baa3727c8c6af92
              \
 No newline at end of file
 1663   1427   
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
 1664   1428   
similarity index 100%
 1665   1429   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt
 1666   1430   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1667   1431   
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
 1668   1432   
new file mode 100644
 1669   1433   
index 0000000..7bee5c7
 1670         -
-- /dev/null
        1434  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1671   1435   
@@ -0,0 +1,12 @@
        1436  +
{
        1437  +
    "credentials": {
        1438  +
        "access_key_id": "AKIDEXAMPLE",
        1439  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1440  +
    },
        1441  +
    "expiration_in_seconds": 3600,
        1442  +
    "normalize": false,
        1443  +
    "region": "us-east-1",
        1444  +
    "service": "service",
        1445  +
    "sign_body": false,
        1446  +
    "timestamp": "2015-08-30T12:36:00Z"
        1447  +
}
              \
 No newline at end of file
 1672   1448   
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
 1673   1449   
new file mode 100644
 1674   1450   
index 0000000..5860c8a
 1675         -
-- /dev/null
        1451  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1676   1452   
@@ -0,0 +1,8 @@
        1453  +
GET
        1454  +
//
        1455  +
        1456  +
host:example.amazonaws.com
        1457  +
x-amz-date:20150830T123600Z
        1458  +
        1459  +
host;x-amz-date
        1460  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1677   1461   
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
 1678   1462   
new file mode 100644
 1679   1463   
index 0000000..8310471
 1680         -
-- /dev/null
        1464  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1681   1465   
@@ -0,0 +1 @@
        1466  +
c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
              \
 No newline at end of file
 1682   1467   
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
 1683   1468   
new file mode 100644
 1684   1469   
index 0000000..2a7afef
 1685         -
-- /dev/null
        1470  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1686   1471   
@@ -0,0 +1,5 @@
        1472  +
GET // HTTP/1.1
        1473  +
Host:example.amazonaws.com
        1474  +
X-Amz-Date:20150830T123600Z
        1475  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
        1476  +
 1687   1477   
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
 1688   1478   
new file mode 100644
 1689   1479   
index 0000000..06059dd
 1690         -
-- /dev/null
        1480  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1691   1481   
@@ -0,0 +1,4 @@
        1482  +
AWS4-HMAC-SHA256
        1483  +
20150830T123600Z
        1484  +
20150830/us-east-1/service/aws4_request
        1485  +
80cb39203d058af815de2b79250ff56e1b73eb9b4718c86556cdc6f150c5d209
              \
 No newline at end of file
 1692   1486   
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
 1693   1487   
new file mode 100644
 1694   1488   
index 0000000..6d63aef
 1695         -
-- /dev/null
        1489  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1696   1490   
@@ -0,0 +1,7 @@
        1491  +
GET
        1492  +
//
        1493  +
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
        1494  +
host:example.amazonaws.com
        1495  +
        1496  +
host
        1497  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1697   1498   
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
 1698   1499   
new file mode 100644
 1699   1500   
index 0000000..e5b7b6c
 1700         -
-- /dev/null
        1501  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1701   1502   
@@ -0,0 +1 @@
        1503  +
b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd
              \
 No newline at end of file
 1702   1504   
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
 1703   1505   
new file mode 100644
 1704   1506   
index 0000000..46fe3fd
 1705         -
-- /dev/null
        1507  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1706   1508   
@@ -0,0 +1,3 @@
        1509  +
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
        1510  +
Host:example.amazonaws.com
        1511  +
 1707   1512   
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
 1708   1513   
new file mode 100644
 1709   1514   
index 0000000..ea79940
 1710         -
-- /dev/null
        1515  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1711   1516   
@@ -0,0 +1,4 @@
        1517  +
AWS4-HMAC-SHA256
        1518  +
20150830T123600Z
        1519  +
20150830/us-east-1/service/aws4_request
        1520  +
e10a01494cafa1f2207c4de80c69b7a36d6f2d282aa63ee64a5ca50e175cf730
              \
 No newline at end of file
 1712   1521   
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
 1713   1522   
similarity index 100%
 1714   1523   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt
 1715   1524   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1716   1525   
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
 1717   1526   
new file mode 100644
 1718   1527   
index 0000000..0468d80
 1719         -
-- /dev/null
        1528  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1720   1529   
@@ -0,0 +1,12 @@
        1530  +
{
        1531  +
    "credentials": {
        1532  +
        "access_key_id": "AKIDEXAMPLE",
        1533  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1534  +
    },
        1535  +
    "expiration_in_seconds": 3600,
        1536  +
    "normalize": true,
        1537  +
    "region": "us-east-1",
        1538  +
    "service": "service",
        1539  +
    "sign_body": false,
        1540  +
    "timestamp": "2015-08-30T12:36:00Z"
        1541  +
}
              \
 No newline at end of file
 1721   1542   
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
 1722   1543   
similarity index 100%
 1723   1544   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq
 1724   1545   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1725   1546   
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
 1726   1547   
new file mode 100644
 1727   1548   
index 0000000..71c7bac
 1728         -
-- /dev/null
        1549  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1729   1550   
@@ -0,0 +1 @@
        1551  +
9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
 1730   1552   
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
 1731   1553   
new file mode 100644
 1732   1554   
index 0000000..0add1f1
 1733         -
-- /dev/null
        1555  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1734   1556   
@@ -0,0 +1,5 @@
        1557  +
GET //example// HTTP/1.1
        1558  +
Host:example.amazonaws.com
        1559  +
X-Amz-Date:20150830T123600Z
        1560  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
        1561  +
 1735   1562   
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
 1736   1563   
similarity index 100%
 1737   1564   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts
 1738   1565   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1739   1566   
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
 1740   1567   
new file mode 100644
 1741   1568   
index 0000000..ce72510
 1742         -
-- /dev/null
        1569  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1743   1570   
@@ -0,0 +1,7 @@
        1571  +
GET
        1572  +
/example/
        1573  +
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
        1574  +
host:example.amazonaws.com
        1575  +
        1576  +
host
        1577  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1744   1578   
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
 1745   1579   
new file mode 100644
 1746   1580   
index 0000000..265f387
 1747         -
-- /dev/null
        1581  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1748   1582   
@@ -0,0 +1 @@
        1583  +
c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082
              \
 No newline at end of file
 1749   1584   
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
 1750   1585   
new file mode 100644
 1751   1586   
index 0000000..e1fcb2e
 1752         -
-- /dev/null
        1587  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1753   1588   
@@ -0,0 +1,3 @@
        1589  +
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
        1590  +
Host:example.amazonaws.com
        1591  +
 1754   1592   
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
 1755   1593   
new file mode 100644
 1756   1594   
index 0000000..a14de61
 1757         -
-- /dev/null
        1595  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1758   1596   
@@ -0,0 +1,4 @@
        1597  +
AWS4-HMAC-SHA256
        1598  +
20150830T123600Z
        1599  +
20150830/us-east-1/service/aws4_request
        1600  +
1a3e3fe19998c62136ed2ff9c8531973a46d4a21b336f58e8fcad185ec64d642
              \
 No newline at end of file
 1759   1601   
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
 1760   1602   
similarity index 100%
 1761   1603   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt
 1762   1604   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1763   1605   
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
 1764   1606   
new file mode 100644
 1765   1607   
index 0000000..7bee5c7
 1766         -
-- /dev/null
        1608  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1767   1609   
@@ -0,0 +1,12 @@
        1610  +
{
        1611  +
    "credentials": {
        1612  +
        "access_key_id": "AKIDEXAMPLE",
        1613  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1614  +
    },
        1615  +
    "expiration_in_seconds": 3600,
        1616  +
    "normalize": false,
        1617  +
    "region": "us-east-1",
        1618  +
    "service": "service",
        1619  +
    "sign_body": false,
        1620  +
    "timestamp": "2015-08-30T12:36:00Z"
        1621  +
}
              \
 No newline at end of file
 1768   1622   
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
 1769   1623   
new file mode 100644
 1770   1624   
index 0000000..dfffaaf
 1771         -
-- /dev/null
        1625  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1772   1626   
@@ -0,0 +1,8 @@
        1627  +
GET
        1628  +
//example//
        1629  +
        1630  +
host:example.amazonaws.com
        1631  +
x-amz-date:20150830T123600Z
        1632  +
        1633  +
host;x-amz-date
        1634  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1773   1635   
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
 1774   1636   
new file mode 100644
 1775   1637   
index 0000000..edbcc0d
 1776         -
-- /dev/null
        1638  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1777   1639   
@@ -0,0 +1 @@
        1640  +
87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
              \
 No newline at end of file
 1778   1641   
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
 1779   1642   
new file mode 100644
 1780   1643   
index 0000000..4cc12dd
 1781         -
-- /dev/null
        1644  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1782   1645   
@@ -0,0 +1,5 @@
        1646  +
GET //example// HTTP/1.1
        1647  +
Host:example.amazonaws.com
        1648  +
X-Amz-Date:20150830T123600Z
        1649  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
        1650  +
 1783   1651   
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
 1784   1652   
new file mode 100644
 1785   1653   
index 0000000..3eba390
 1786         -
-- /dev/null
        1654  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1787   1655   
@@ -0,0 +1,4 @@
        1656  +
AWS4-HMAC-SHA256
        1657  +
20150830T123600Z
        1658  +
20150830/us-east-1/service/aws4_request
        1659  +
528ec3105ee1f34ab014bb0a1a45da0ed2742a4fea3555149e5b4d5d201eb240
              \
 No newline at end of file
 1788   1660   
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
 1789   1661   
new file mode 100644
 1790   1662   
index 0000000..f7844e3
 1791         -
-- /dev/null
        1663  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1792   1664   
@@ -0,0 +1,7 @@
        1665  +
GET
        1666  +
//example//
        1667  +
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
        1668  +
host:example.amazonaws.com
        1669  +
        1670  +
host
        1671  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1793   1672   
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
 1794   1673   
new file mode 100644
 1795   1674   
index 0000000..a8d6b96
 1796         -
-- /dev/null
        1675  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1797   1676   
@@ -0,0 +1 @@
        1677  +
822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2
              \
 No newline at end of file
 1798   1678   
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
 1799   1679   
new file mode 100644
 1800   1680   
index 0000000..a8322c6
 1801         -
-- /dev/null
        1681  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1802   1682   
@@ -0,0 +1,3 @@
        1683  +
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
        1684  +
Host:example.amazonaws.com
        1685  +
 1803   1686   
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
 1804   1687   
new file mode 100644
 1805   1688   
index 0000000..068724d
 1806         -
-- /dev/null
        1689  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1807   1690   
@@ -0,0 +1,4 @@
        1691  +
AWS4-HMAC-SHA256
        1692  +
20150830T123600Z
        1693  +
20150830/us-east-1/service/aws4_request
        1694  +
82241114f9a6320f054333c890952474aa7a0069d28a4326c3a8d95bbecc69ee
              \
 No newline at end of file
 1808   1695   
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
 1809   1696   
similarity index 100%
 1810   1697   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt
 1811   1698   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1812   1699   
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
 1813   1700   
new file mode 100644
 1814   1701   
index 0000000..0468d80
 1815         -
-- /dev/null
        1702  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1816   1703   
@@ -0,0 +1,12 @@
        1704  +
{
        1705  +
    "credentials": {
        1706  +
        "access_key_id": "AKIDEXAMPLE",
        1707  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1708  +
    },
        1709  +
    "expiration_in_seconds": 3600,
        1710  +
    "normalize": true,
        1711  +
    "region": "us-east-1",
        1712  +
    "service": "service",
        1713  +
    "sign_body": false,
        1714  +
    "timestamp": "2015-08-30T12:36:00Z"
        1715  +
}
              \
 No newline at end of file
 1817   1716   
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
 1818   1717   
similarity index 100%
 1819   1718   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq
 1820   1719   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1821   1720   
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
 1822   1721   
new file mode 100644
 1823   1722   
index 0000000..f63892b
 1824         -
-- /dev/null
        1723  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1825   1724   
@@ -0,0 +1 @@
        1725  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1826   1726   
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
 1827   1727   
new file mode 100644
 1828   1728   
index 0000000..19cd5cb
 1829         -
-- /dev/null
        1729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 1830   1730   
@@ -0,0 +1,5 @@
        1731  +
GET /example space/ HTTP/1.1
        1732  +
Host:example.amazonaws.com
        1733  +
X-Amz-Date:20150830T123600Z
        1734  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1735  +
 1831   1736   
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
 1832   1737   
similarity index 100%
 1833   1738   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts
 1834   1739   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 1835   1740   
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
 1836   1741   
new file mode 100644
 1837   1742   
index 0000000..fa3d3e2
 1838         -
-- /dev/null
        1743  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 1839   1744   
@@ -0,0 +1,7 @@
        1745  +
GET
        1746  +
/example%20space/
        1747  +
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
        1748  +
host:example.amazonaws.com
        1749  +
        1750  +
host
        1751  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1840   1752   
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
 1841   1753   
new file mode 100644
 1842   1754   
index 0000000..5b2e204
 1843         -
-- /dev/null
        1755  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 1844   1756   
@@ -0,0 +1 @@
        1757  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1845   1758   
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
 1846   1759   
new file mode 100644
 1847   1760   
index 0000000..93ca1d0
 1848         -
-- /dev/null
        1761  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 1849   1762   
@@ -0,0 +1,3 @@
        1763  +
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
        1764  +
Host:example.amazonaws.com
        1765  +
 1850   1766   
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
 1851   1767   
new file mode 100644
 1852   1768   
index 0000000..b4cb789
 1853         -
-- /dev/null
        1769  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 1854   1770   
@@ -0,0 +1,4 @@
        1771  +
AWS4-HMAC-SHA256
        1772  +
20150830T123600Z
        1773  +
20150830/us-east-1/service/aws4_request
        1774  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1855   1775   
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
 1856   1776   
new file mode 100644
 1857   1777   
index 0000000..860a277
 1858         -
-- /dev/null
        1778  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 1859   1779   
@@ -0,0 +1,2 @@
        1780  +
GET /example%20space/ HTTP/1.1
        1781  +
Host:example.amazonaws.com
 1860   1782   
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
 1861   1783   
new file mode 100644
 1862   1784   
index 0000000..7bee5c7
 1863         -
-- /dev/null
        1785  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 1864   1786   
@@ -0,0 +1,12 @@
        1787  +
{
        1788  +
    "credentials": {
        1789  +
        "access_key_id": "AKIDEXAMPLE",
        1790  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1791  +
    },
        1792  +
    "expiration_in_seconds": 3600,
        1793  +
    "normalize": false,
        1794  +
    "region": "us-east-1",
        1795  +
    "service": "service",
        1796  +
    "sign_body": false,
        1797  +
    "timestamp": "2015-08-30T12:36:00Z"
        1798  +
}
              \
 No newline at end of file
 1865   1799   
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
 1866   1800   
similarity index 66%
 1867   1801   
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
 1868   1802   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1869   1803   
index 71dc981..124a709 100644
 1870         -
-- 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
        1804  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1871   1805   
@@ -1,9 +1,8 @@
 1872         -
POST
 1873         -
/
        1806  +
GET
        1807  +
/example%20space/
 1874   1808   
 1875         -
content-type:application/x-www-form-urlencoded; charset=utf-8
 1876   1809   
host:example.amazonaws.com
 1877   1810   
x-amz-date:20150830T123600Z
 1878   1811   
 1879   1812   
host;x-amz-date
 1880   1813   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1881   1814   
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
 1882   1815   
new file mode 100644
 1883   1816   
index 0000000..f63892b
 1884         -
-- /dev/null
        1817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 1885   1818   
@@ -0,0 +1 @@
        1819  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1886   1820   
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
 1887   1821   
new file mode 100644
 1888   1822   
index 0000000..19cd5cb
 1889         -
-- /dev/null
        1823  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 1890   1824   
@@ -0,0 +1,5 @@
        1825  +
GET /example space/ HTTP/1.1
        1826  +
Host:example.amazonaws.com
        1827  +
X-Amz-Date:20150830T123600Z
        1828  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1829  +
 1891   1830   
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
 1892   1831   
new file mode 100644
 1893   1832   
index 0000000..a633f0c
 1894         -
-- /dev/null
        1833  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 1895   1834   
@@ -0,0 +1,4 @@
        1835  +
AWS4-HMAC-SHA256
        1836  +
20150830T123600Z
        1837  +
20150830/us-east-1/service/aws4_request
        1838  +
63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86
              \
 No newline at end of file
 1896   1839   
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
 1897   1840   
new file mode 100644
 1898   1841   
index 0000000..fa3d3e2
 1899         -
-- /dev/null
        1842  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 1900   1843   
@@ -0,0 +1,7 @@
        1844  +
GET
        1845  +
/example%20space/
        1846  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1847  +
host:example.amazonaws.com
        1848  +
        1849  +
host
        1850  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1901   1851   
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
 1902   1852   
new file mode 100644
 1903   1853   
index 0000000..5b2e204
 1904         -
-- /dev/null
        1854  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 1905   1855   
@@ -0,0 +1 @@
        1856  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1906   1857   
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
 1907   1858   
new file mode 100644
 1908   1859   
index 0000000..93ca1d0
 1909         -
-- /dev/null
        1860  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 1910   1861   
@@ -0,0 +1,3 @@
        1862  +
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
        1863  +
Host:example.amazonaws.com
        1864  +
 1911   1865   
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
 1912   1866   
new file mode 100644
 1913   1867   
index 0000000..b4cb789
 1914         -
-- /dev/null
        1868  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 1915   1869   
@@ -0,0 +1,4 @@
        1870  +
AWS4-HMAC-SHA256
        1871  +
20150830T123600Z
        1872  +
20150830/us-east-1/service/aws4_request
        1873  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1916   1874   
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
 1917   1875   
similarity index 67%
 1918   1876   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
 1919   1877   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1920   1878   
index b7d5e8b..ab509ab 100644
 1921         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
        1879  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1922   1880   
@@ -1,3 +1,2 @@
 1923   1881   
GET /example space/ HTTP/1.1
 1924   1882   
Host:example.amazonaws.com
 1925         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1926   1883   
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
 1927   1884   
new file mode 100644
 1928   1885   
index 0000000..0468d80
 1929         -
-- /dev/null
        1886  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 1930   1887   
@@ -0,0 +1,12 @@
        1888  +
{
        1889  +
    "credentials": {
        1890  +
        "access_key_id": "AKIDEXAMPLE",
        1891  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1892  +
    },
        1893  +
    "expiration_in_seconds": 3600,
        1894  +
    "normalize": true,
        1895  +
    "region": "us-east-1",
        1896  +
    "service": "service",
        1897  +
    "sign_body": false,
        1898  +
    "timestamp": "2015-08-30T12:36:00Z"
        1899  +
}
              \
 No newline at end of file
 1931   1900   
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
 1932   1901   
similarity index 100%
 1933   1902   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq
 1934   1903   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 1935   1904   
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
 1936   1905   
new file mode 100644
 1937   1906   
index 0000000..e503354
 1938         -
-- /dev/null
        1907  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 1939   1908   
@@ -0,0 +1 @@
        1909  +
07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
 1940   1910   
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
 1941   1911   
new file mode 100644
 1942   1912   
index 0000000..4367892
 1943         -
-- /dev/null
        1913  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 1944   1914   
@@ -0,0 +1,5 @@
        1915  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        1916  +
Host:example.amazonaws.com
        1917  +
X-Amz-Date:20150830T123600Z
        1918  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
        1919  +
 1945   1920   
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
 1946   1921   
similarity index 100%
 1947   1922   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts
 1948   1923   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 1949   1924   
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
 1950   1925   
new file mode 100644
 1951   1926   
index 0000000..d7f0696
 1952         -
-- /dev/null
        1927  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 1953   1928   
@@ -0,0 +1,7 @@
        1929  +
GET
        1930  +
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
        1931  +
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
        1932  +
host:example.amazonaws.com
        1933  +
        1934  +
host
        1935  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1954   1936   
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
 1955   1937   
new file mode 100644
 1956   1938   
index 0000000..509e972
 1957         -
-- /dev/null
        1939  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 1958   1940   
@@ -0,0 +1 @@
        1941  +
95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005
              \
 No newline at end of file
 1959   1942   
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
 1960   1943   
new file mode 100644
 1961   1944   
index 0000000..79aad36
 1962         -
-- /dev/null
        1945  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 1963   1946   
@@ -0,0 +1,3 @@
        1947  +
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
        1948  +
Host:example.amazonaws.com
        1949  +
 1964   1950   
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
 1965   1951   
new file mode 100644
 1966   1952   
index 0000000..e8068b3
 1967         -
-- /dev/null
        1953  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 1968   1954   
@@ -0,0 +1,4 @@
        1955  +
AWS4-HMAC-SHA256
        1956  +
20150830T123600Z
        1957  +
20150830/us-east-1/service/aws4_request
        1958  +
3134f2fbc6ef58f34b74b01643a159bfccbc121ea4288a4b75e65bc805d08219
              \
 No newline at end of file
 1969   1959   
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
 1970   1960   
similarity index 100%
 1971   1961   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt
 1972   1962   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 1973   1963   
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
 1974   1964   
new file mode 100644
 1975   1965   
index 0000000..0468d80
 1976         -
-- /dev/null
        1966  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 1977   1967   
@@ -0,0 +1,12 @@
        1968  +
{
        1969  +
    "credentials": {
        1970  +
        "access_key_id": "AKIDEXAMPLE",
        1971  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1972  +
    },
        1973  +
    "expiration_in_seconds": 3600,
        1974  +
    "normalize": true,
        1975  +
    "region": "us-east-1",
        1976  +
    "service": "service",
        1977  +
    "sign_body": false,
        1978  +
    "timestamp": "2015-08-30T12:36:00Z"
        1979  +
}
              \
 No newline at end of file
 1978   1980   
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
 1979   1981   
similarity index 100%
 1980   1982   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq
 1981   1983   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 1982   1984   
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
 1983   1985   
new file mode 100644
 1984   1986   
index 0000000..9a13676
 1985         -
-- /dev/null
        1987  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 1986   1988   
@@ -0,0 +1 @@
        1989  +
8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
 1987   1990   
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
 1988   1991   
new file mode 100644
 1989   1992   
index 0000000..5aaf47c
 1990         -
-- /dev/null
        1993  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 1991   1994   
@@ -0,0 +1,5 @@
        1995  +
GET /ሴ HTTP/1.1
        1996  +
Host:example.amazonaws.com
        1997  +
X-Amz-Date:20150830T123600Z
        1998  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
        1999  +
 1992   2000   
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
 1993   2001   
similarity index 100%
 1994   2002   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts
 1995   2003   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 1996   2004   
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
 1997   2005   
new file mode 100644
 1998   2006   
index 0000000..bdb77c9
 1999         -
-- /dev/null
        2007  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 2000   2008   
@@ -0,0 +1,7 @@
        2009  +
GET
        2010  +
/%E1%88%B4
        2011  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2012  +
host:example.amazonaws.com
        2013  +
        2014  +
host
        2015  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2001   2016   
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
 2002   2017   
new file mode 100644
 2003   2018   
index 0000000..21342b3
 2004         -
-- /dev/null
        2019  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 2005   2020   
@@ -0,0 +1 @@
        2021  +
10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44
              \
 No newline at end of file
 2006   2022   
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
 2007   2023   
new file mode 100644
 2008   2024   
index 0000000..368c2ff
 2009         -
-- /dev/null
        2025  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 2010   2026   
@@ -0,0 +1,3 @@
        2027  +
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
        2028  +
Host:example.amazonaws.com
        2029  +
 2011   2030   
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
 2012   2031   
new file mode 100644
 2013   2032   
index 0000000..56b8fbf
 2014         -
-- /dev/null
        2033  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 2015   2034   
@@ -0,0 +1,4 @@
        2035  +
AWS4-HMAC-SHA256
        2036  +
20150830T123600Z
        2037  +
20150830/us-east-1/service/aws4_request
        2038  +
d8f78e05d0d9bb1c16ae1e60ed405de76cfb8fdcd3e414ffe65fad563b996d66
              \
 No newline at end of file
 2016   2039   
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
 2017   2040   
similarity index 62%
 2018   2041   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
 2019   2042   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2020   2043   
index da4808d..9e273f6 100644
 2021         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
        2044  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2022   2045   
@@ -1,3 +1,2 @@
 2023   2046   
GET /ሴ HTTP/1.1
 2024   2047   
Host:example.amazonaws.com
 2025         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2026   2048   
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
 2027   2049   
new file mode 100644
 2028   2050   
index 0000000..0468d80
 2029         -
-- /dev/null
        2051  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 2030   2052   
@@ -0,0 +1,12 @@
        2053  +
{
        2054  +
    "credentials": {
        2055  +
        "access_key_id": "AKIDEXAMPLE",
        2056  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2057  +
    },
        2058  +
    "expiration_in_seconds": 3600,
        2059  +
    "normalize": true,
        2060  +
    "region": "us-east-1",
        2061  +
    "service": "service",
        2062  +
    "sign_body": false,
        2063  +
    "timestamp": "2015-08-30T12:36:00Z"
        2064  +
}
              \
 No newline at end of file
 2031   2065   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 2032   2066   
similarity index 100%
 2033   2067   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.creq
 2034   2068   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 2035   2069   
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
 2036   2070   
new file mode 100644
 2037   2071   
index 0000000..d7f1c1c
 2038         -
-- /dev/null
        2072  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 2039   2073   
@@ -0,0 +1 @@
        2074  +
a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
 2040   2075   
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
 2041   2076   
new file mode 100644
 2042   2077   
index 0000000..1c60790
 2043         -
-- /dev/null
        2078  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 2044   2079   
@@ -0,0 +1,5 @@
        2080  +
GET /?Param1=value1 HTTP/1.1
        2081  +
Host:example.amazonaws.com
        2082  +
X-Amz-Date:20150830T123600Z
        2083  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
        2084  +
 2045   2085   
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
 2046   2086   
similarity index 100%
 2047   2087   
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
 2048   2088   
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
 2049   2089   
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
 2050   2090   
new file mode 100644
 2051   2091   
index 0000000..6a823ed
 2052         -
-- /dev/null
        2092  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 2053   2093   
@@ -0,0 +1,7 @@
        2094  +
GET
        2095  +
/
        2096  +
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
        2097  +
host:example.amazonaws.com
        2098  +
        2099  +
host
        2100  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2054   2101   
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
 2055   2102   
new file mode 100644
 2056   2103   
index 0000000..8c77136
 2057         -
-- /dev/null
        2104  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 2058   2105   
@@ -0,0 +1 @@
        2106  +
49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de
              \
 No newline at end of file
 2059   2107   
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
 2060   2108   
new file mode 100644
 2061   2109   
index 0000000..2d337d8
 2062         -
-- /dev/null
        2110  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 2063   2111   
@@ -0,0 +1,3 @@
        2112  +
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
        2113  +
Host:example.amazonaws.com
        2114  +
 2064   2115   
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
 2065   2116   
new file mode 100644
 2066   2117   
index 0000000..191a484
 2067         -
-- /dev/null
        2118  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 2068   2119   
@@ -0,0 +1,4 @@
        2120  +
AWS4-HMAC-SHA256
        2121  +
20150830T123600Z
        2122  +
20150830/us-east-1/service/aws4_request
        2123  +
74828b608f939673ed5a839190452a943b0178760f258da766209b21f8ca3f86
              \
 No newline at end of file
 2069   2124   
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
 2070   2125   
similarity index 100%
 2071   2126   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt
 2072   2127   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 2073   2128   
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
 2074   2129   
new file mode 100644
 2075   2130   
index 0000000..0468d80
 2076         -
-- /dev/null
        2131  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 2077   2132   
@@ -0,0 +1,12 @@
        2133  +
{
        2134  +
    "credentials": {
        2135  +
        "access_key_id": "AKIDEXAMPLE",
        2136  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2137  +
    },
        2138  +
    "expiration_in_seconds": 3600,
        2139  +
    "normalize": true,
        2140  +
    "region": "us-east-1",
        2141  +
    "service": "service",
        2142  +
    "sign_body": false,
        2143  +
    "timestamp": "2015-08-30T12:36:00Z"
        2144  +
}
              \
 No newline at end of file
 2078   2145   
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
 2079   2146   
new file mode 100644
 2080   2147   
index 0000000..0c8ba21
 2081         -
-- /dev/null
        2148  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 2082   2149   
@@ -0,0 +1,8 @@
        2150  +
GET
        2151  +
/
        2152  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        2153  +
host:example.amazonaws.com
        2154  +
x-amz-date:20150830T123600Z
        2155  +
        2156  +
host;x-amz-date
        2157  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2083   2158   
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
 2084   2159   
new file mode 100644
 2085   2160   
index 0000000..9ab65ed
 2086         -
-- /dev/null
        2161  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 2087   2162   
@@ -0,0 +1 @@
        2163  +
371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
              \
 No newline at end of file
 2088   2164   
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
 2089   2165   
new file mode 100644
 2090   2166   
index 0000000..0bcdf98
 2091         -
-- /dev/null
        2167  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 2092   2168   
@@ -0,0 +1,5 @@
        2169  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2170  +
Host:example.amazonaws.com
        2171  +
X-Amz-Date:20150830T123600Z
        2172  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
        2173  +
 2093   2174   
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
 2094   2175   
new file mode 100644
 2095   2176   
index 0000000..bf674ad
 2096         -
-- /dev/null
        2177  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 2097   2178   
@@ -0,0 +1,4 @@
        2179  +
AWS4-HMAC-SHA256
        2180  +
20150830T123600Z
        2181  +
20150830/us-east-1/service/aws4_request
        2182  +
868294f5c38bd141c4972a373a76654f1418a8e4fc18b2e7903ae45e8ae0ec71
              \
 No newline at end of file
 2098   2183   
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
 2099   2184   
new file mode 100644
 2100   2185   
index 0000000..3f590a4
 2101         -
-- /dev/null
        2186  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 2102   2187   
@@ -0,0 +1,7 @@
        2188  +
GET
        2189  +
/
        2190  +
%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
        2191  +
host:example.amazonaws.com
        2192  +
        2193  +
host
        2194  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2103   2195   
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
 2104   2196   
new file mode 100644
 2105   2197   
index 0000000..e225eab
 2106         -
-- /dev/null
        2198  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 2107   2199   
@@ -0,0 +1 @@
        2200  +
c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787
              \
 No newline at end of file
 2108   2201   
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
 2109   2202   
new file mode 100644
 2110   2203   
index 0000000..6206719
 2111         -
-- /dev/null
        2204  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 2112   2205   
@@ -0,0 +1,3 @@
        2206  +
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
        2207  +
Host:example.amazonaws.com
        2208  +
 2113   2209   
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
 2114   2210   
new file mode 100644
 2115   2211   
index 0000000..81a4210
 2116         -
-- /dev/null
        2212  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 2117   2213   
@@ -0,0 +1,4 @@
        2214  +
AWS4-HMAC-SHA256
        2215  +
20150830T123600Z
        2216  +
20150830/us-east-1/service/aws4_request
        2217  +
9808d6cdc8245c74e705c68350fc6a62b91778cdd613890e5d177998c02c6f53
              \
 No newline at end of file
 2118   2218   
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
 2119   2219   
new file mode 100644
 2120   2220   
index 0000000..368c6e3
 2121         -
-- /dev/null
        2221  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 2122   2222   
@@ -0,0 +1,2 @@
        2223  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2224  +
Host:example.amazonaws.com
 2123   2225   
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
 2124   2226   
new file mode 100644
 2125   2227   
index 0000000..0468d80
 2126         -
-- /dev/null
        2228  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 2127   2229   
@@ -0,0 +1,12 @@
        2230  +
{
        2231  +
    "credentials": {
        2232  +
        "access_key_id": "AKIDEXAMPLE",
        2233  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2234  +
    },
        2235  +
    "expiration_in_seconds": 3600,
        2236  +
    "normalize": true,
        2237  +
    "region": "us-east-1",
        2238  +
    "service": "service",
        2239  +
    "sign_body": false,
        2240  +
    "timestamp": "2015-08-30T12:36:00Z"
        2241  +
}
              \
 No newline at end of file
 2128   2242   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.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
 2129   2243   
similarity index 100%
 2130   2244   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.creq
 2131   2245   
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
 2132   2246   
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
 2133   2247   
new file mode 100644
 2134   2248   
index 0000000..6a8cb9d
 2135         -
-- /dev/null
        2249  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 2136   2250   
@@ -0,0 +1 @@
        2251  +
b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
 2137   2252   
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
 2138   2253   
new file mode 100644
 2139   2254   
index 0000000..f78a9d2
 2140         -
-- /dev/null
        2255  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 2141   2256   
@@ -0,0 +1,5 @@
        2257  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        2258  +
Host:example.amazonaws.com
        2259  +
X-Amz-Date:20150830T123600Z
        2260  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
        2261  +
 2142   2262   
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
 2143   2263   
similarity index 100%
 2144   2264   
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
 2145   2265   
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
 2146   2266   
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
 2147   2267   
new file mode 100644
 2148   2268   
index 0000000..a6e1bc7
 2149         -
-- /dev/null
        2269  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 2150   2270   
@@ -0,0 +1,7 @@
        2271  +
GET
        2272  +
/
        2273  +
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
        2274  +
host:example.amazonaws.com
        2275  +
        2276  +
host
        2277  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2151   2278   
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
 2152   2279   
new file mode 100644
 2153   2280   
index 0000000..d6e6a88
 2154         -
-- /dev/null
        2281  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 2155   2282   
@@ -0,0 +1 @@
        2283  +
86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5
              \
 No newline at end of file
 2156   2284   
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
 2157   2285   
new file mode 100644
 2158   2286   
index 0000000..538e2f0
 2159         -
-- /dev/null
        2287  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 2160   2288   
@@ -0,0 +1,3 @@
        2289  +
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
        2290  +
Host:example.amazonaws.com
        2291  +
 2161   2292   
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
 2162   2293   
new file mode 100644
 2163   2294   
index 0000000..e696085
 2164         -
-- /dev/null
        2295  +
++ 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
 2165   2296   
@@ -0,0 +1,4 @@
        2297  +
AWS4-HMAC-SHA256
        2298  +
20150830T123600Z
        2299  +
20150830/us-east-1/service/aws4_request
        2300  +
b82878ecb2ab7ad194b9fe79b2946c2a36ee1627a219408089b2d774c1a0cedb
              \
 No newline at end of file
 2166   2301   
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
 2167   2302   
similarity index 100%
 2168   2303   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt
 2169   2304   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2170   2305   
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
 2171   2306   
new file mode 100644
 2172   2307   
index 0000000..0468d80
 2173         -
-- /dev/null
        2308  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2174   2309   
@@ -0,0 +1,12 @@
        2310  +
{
        2311  +
    "credentials": {
        2312  +
        "access_key_id": "AKIDEXAMPLE",
        2313  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2314  +
    },
        2315  +
    "expiration_in_seconds": 3600,
        2316  +
    "normalize": true,
        2317  +
    "region": "us-east-1",
        2318  +
    "service": "service",
        2319  +
    "sign_body": false,
        2320  +
    "timestamp": "2015-08-30T12:36:00Z"
        2321  +
}
              \
 No newline at end of file
 2175   2322   
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
 2176   2323   
similarity index 100%
 2177   2324   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq
 2178   2325   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2179   2326   
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
 2180   2327   
new file mode 100644
 2181   2328   
index 0000000..876a64b
 2182         -
-- /dev/null
        2329  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2183   2330   
@@ -0,0 +1 @@
        2331  +
9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
 2184   2332   
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
 2185   2333   
similarity index 50%
 2186   2334   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
 2187   2335   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2188   2336   
index ba1ef40..9d0d993 100644
 2189         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
        2337  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2190   2338   
@@ -1,4 +1,5 @@
 2191   2339   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 2192   2340   
Host:example.amazonaws.com
 2193   2341   
X-Amz-Date:20150830T123600Z
 2194         -
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
        2342  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
        2343  +
 2195   2344   
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
 2196   2345   
similarity index 100%
 2197   2346   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts
 2198   2347   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2199   2348   
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
 2200   2349   
new file mode 100644
 2201   2350   
index 0000000..a1bac59
 2202         -
-- /dev/null
        2351  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2203   2352   
@@ -0,0 +1,7 @@
        2353  +
GET
        2354  +
/
        2355  +
-._~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
        2356  +
host:example.amazonaws.com
        2357  +
        2358  +
host
        2359  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2204   2360   
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
 2205   2361   
new file mode 100644
 2206   2362   
index 0000000..41881e9
 2207         -
-- /dev/null
        2363  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2208   2364   
@@ -0,0 +1 @@
        2365  +
8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf
              \
 No newline at end of file
 2209   2366   
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
 2210   2367   
new file mode 100644
 2211   2368   
index 0000000..3179076
 2212         -
-- /dev/null
        2369  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2213   2370   
@@ -0,0 +1,3 @@
        2371  +
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
        2372  +
Host:example.amazonaws.com
        2373  +
 2214   2374   
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
 2215   2375   
new file mode 100644
 2216   2376   
index 0000000..6d675fc
 2217         -
-- /dev/null
        2377  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2218   2378   
@@ -0,0 +1,4 @@
        2379  +
AWS4-HMAC-SHA256
        2380  +
20150830T123600Z
        2381  +
20150830/us-east-1/service/aws4_request
        2382  +
c77f27ef2b499fbfee3f0b3c88bba7057b2b31ee9b62047078a5e0d6be91fd58
              \
 No newline at end of file
 2219   2383   
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
 2220   2384   
similarity index 100%
 2221   2385   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt
 2222   2386   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2223   2387   
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
 2224   2388   
new file mode 100644
 2225   2389   
index 0000000..0468d80
 2226         -
-- /dev/null
        2390  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2227   2391   
@@ -0,0 +1,12 @@
        2392  +
{
        2393  +
    "credentials": {
        2394  +
        "access_key_id": "AKIDEXAMPLE",
        2395  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2396  +
    },
        2397  +
    "expiration_in_seconds": 3600,
        2398  +
    "normalize": true,
        2399  +
    "region": "us-east-1",
        2400  +
    "service": "service",
        2401  +
    "sign_body": false,
        2402  +
    "timestamp": "2015-08-30T12:36:00Z"
        2403  +
}
              \
 No newline at end of file
 2228   2404   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2229   2405   
similarity index 100%
 2230   2406   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.creq
 2231   2407   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2232   2408   
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
 2233   2409   
new file mode 100644
 2234   2410   
index 0000000..87f295f
 2235         -
-- /dev/null
        2411  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2236   2412   
@@ -0,0 +1 @@
        2413  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2237   2414   
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
 2238   2415   
new file mode 100644
 2239   2416   
index 0000000..36b86e7
 2240         -
-- /dev/null
        2417  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2241   2418   
@@ -0,0 +1,5 @@
        2419  +
GET / HTTP/1.1
        2420  +
Host:example.amazonaws.com
        2421  +
X-Amz-Date:20150830T123600Z
        2422  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2423  +
 2242   2424   
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
 2243   2425   
similarity index 100%
 2244   2426   
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
 2245   2427   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2246   2428   
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
 2247   2429   
new file mode 100644
 2248   2430   
index 0000000..fb2420d
 2249         -
-- /dev/null
        2431  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2250   2432   
@@ -0,0 +1,7 @@
        2433  +
GET
        2434  +
/
        2435  +
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
        2436  +
host:example.amazonaws.com
        2437  +
        2438  +
host
        2439  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2251   2440   
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
 2252   2441   
new file mode 100644
 2253   2442   
index 0000000..da5c905
 2254         -
-- /dev/null
        2443  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2255   2444   
@@ -0,0 +1 @@
        2445  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2256   2446   
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
 2257   2447   
new file mode 100644
 2258   2448   
index 0000000..eeb7a8f
 2259         -
-- /dev/null
        2449  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2260   2450   
@@ -0,0 +1,3 @@
        2451  +
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
        2452  +
Host:example.amazonaws.com
        2453  +
 2261   2454   
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
 2262   2455   
new file mode 100644
 2263   2456   
index 0000000..d837e67
 2264         -
-- /dev/null
        2457  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2265   2458   
@@ -0,0 +1,4 @@
        2459  +
AWS4-HMAC-SHA256
        2460  +
20150830T123600Z
        2461  +
20150830/us-east-1/service/aws4_request
        2462  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2266   2463   
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
 2267   2464   
similarity index 100%
 2268   2465   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt
 2269   2466   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2270   2467   
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
 2271   2468   
new file mode 100644
 2272   2469   
index 0000000..0468d80
 2273         -
-- /dev/null
        2470  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2274   2471   
@@ -0,0 +1,12 @@
        2472  +
{
        2473  +
    "credentials": {
        2474  +
        "access_key_id": "AKIDEXAMPLE",
        2475  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2476  +
    },
        2477  +
    "expiration_in_seconds": 3600,
        2478  +
    "normalize": true,
        2479  +
    "region": "us-east-1",
        2480  +
    "service": "service",
        2481  +
    "sign_body": false,
        2482  +
    "timestamp": "2015-08-30T12:36:00Z"
        2483  +
}
              \
 No newline at end of file
 2275   2484   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2276   2485   
similarity index 100%
 2277   2486   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq
 2278   2487   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2279   2488   
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
 2280   2489   
new file mode 100644
 2281   2490   
index 0000000..19a2cc9
 2282         -
-- /dev/null
        2491  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2283   2492   
@@ -0,0 +1 @@
        2493  +
2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
 2284   2494   
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
 2285   2495   
new file mode 100644
 2286   2496   
index 0000000..acb13ee
 2287         -
-- /dev/null
        2497  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2288   2498   
@@ -0,0 +1,5 @@
        2499  +
GET /?ሴ=bar HTTP/1.1
        2500  +
Host:example.amazonaws.com
        2501  +
X-Amz-Date:20150830T123600Z
        2502  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
        2503  +
 2289   2504   
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
 2290   2505   
similarity index 100%
 2291   2506   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts
 2292   2507   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2293   2508   
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
 2294   2509   
new file mode 100644
 2295   2510   
index 0000000..92cee62
 2296         -
-- /dev/null
        2511  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2297   2512   
@@ -0,0 +1,7 @@
        2513  +
GET
        2514  +
/
        2515  +
%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
        2516  +
host:example.amazonaws.com
        2517  +
        2518  +
host
        2519  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2298   2520   
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
 2299   2521   
new file mode 100644
 2300   2522   
index 0000000..c9e49de
 2301         -
-- /dev/null
        2523  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2302   2524   
@@ -0,0 +1 @@
        2525  +
0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600
              \
 No newline at end of file
 2303   2526   
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
 2304   2527   
new file mode 100644
 2305   2528   
index 0000000..8f4d8d0
 2306         -
-- /dev/null
        2529  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2307   2530   
@@ -0,0 +1,3 @@
        2531  +
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
        2532  +
Host:example.amazonaws.com
        2533  +
 2308   2534   
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
 2309   2535   
new file mode 100644
 2310   2536   
index 0000000..a6181dc
 2311         -
-- /dev/null
        2537  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2312   2538   
@@ -0,0 +1,4 @@
        2539  +
AWS4-HMAC-SHA256
        2540  +
20150830T123600Z
        2541  +
20150830/us-east-1/service/aws4_request
        2542  +
b2e8ae8e48ec880defebc6f6dc1d9fbc9f1856b33146f2943060ca71a50a7a77
              \
 No newline at end of file
 2313   2543   
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
 2314   2544   
similarity index 64%
 2315   2545   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
 2316   2546   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2317   2547   
index cc2757e..aff333a 100644
 2318         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
        2548  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2319   2549   
@@ -1,3 +1,2 @@
 2320   2550   
GET /?ሴ=bar HTTP/1.1
 2321   2551   
Host:example.amazonaws.com
 2322         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2323   2552   
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
 2324   2553   
similarity index 99%
 2325   2554   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
 2326   2555   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2327   2556   
index a457c8a..a334e18 100644
 2328   2557   
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
 2329   2558   
new file mode 100644
 2330   2559   
index 0000000..ccacdeb
 2331         -
-- /dev/null
        2560  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2332   2561   
@@ -0,0 +1,9 @@
        2562  +
GET
        2563  +
/
        2564  +
        2565  +
host:example.amazonaws.com
        2566  +
x-amz-date:20150830T123600Z
        2567  +
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2568  +
        2569  +
host;x-amz-date;x-amz-security-token
        2570  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2333   2571   
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
 2334   2572   
new file mode 100644
 2335   2573   
index 0000000..083e30d
 2336         -
-- /dev/null
        2574  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2337   2575   
@@ -0,0 +1 @@
        2576  +
07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
              \
 No newline at end of file
 2338   2577   
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
 2339   2578   
new file mode 100644
 2340   2579   
index 0000000..5287932
 2341         -
-- /dev/null
        2580  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2342   2581   
@@ -0,0 +1,6 @@
        2582  +
GET / HTTP/1.1
        2583  +
Host:example.amazonaws.com
        2584  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2585  +
X-Amz-Date:20150830T123600Z
        2586  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
        2587  +
 2343   2588   
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
 2344   2589   
new file mode 100644
 2345   2590   
index 0000000..742b880
 2346         -
-- /dev/null
        2591  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2347   2592   
@@ -0,0 +1,4 @@
        2593  +
AWS4-HMAC-SHA256
        2594  +
20150830T123600Z
        2595  +
20150830/us-east-1/service/aws4_request
        2596  +
067b36aa60031588cea4a4cde1f21215227a047690c72247f1d70b32fbbfad2b
              \
 No newline at end of file
 2348   2597   
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
 2349   2598   
new file mode 100644
 2350   2599   
index 0000000..5e75179
 2351         -
-- /dev/null
        2600  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2352   2601   
@@ -0,0 +1,7 @@
        2602  +
GET
        2603  +
/
        2604  +
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
        2605  +
host:example.amazonaws.com
        2606  +
        2607  +
host
        2608  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2353   2609   
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
 2354   2610   
new file mode 100644
 2355   2611   
index 0000000..50b947f
 2356         -
-- /dev/null
        2612  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2357   2613   
@@ -0,0 +1 @@
        2614  +
7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c
              \
 No newline at end of file
 2358   2615   
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
 2359   2616   
new file mode 100644
 2360   2617   
index 0000000..aee910b
 2361         -
-- /dev/null
        2618  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2362   2619   
@@ -0,0 +1,3 @@
        2620  +
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
        2621  +
Host:example.amazonaws.com
        2622  +
 2363   2623   
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
 2364   2624   
new file mode 100644
 2365   2625   
index 0000000..04a6c17
 2366         -
-- /dev/null
        2626  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2367   2627   
@@ -0,0 +1,4 @@
        2628  +
AWS4-HMAC-SHA256
        2629  +
20150830T123600Z
        2630  +
20150830/us-east-1/service/aws4_request
        2631  +
cb30434103085aa9e73780fc60dc9a9df818fd2a7b1de12a9f6f4d791f898761
              \
 No newline at end of file
 2368   2632   
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
 2369   2633   
similarity index 100%
 2370   2634   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt
 2371   2635   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2372   2636   
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
 2373   2637   
new file mode 100644
 2374   2638   
index 0000000..0468d80
 2375         -
-- /dev/null
        2639  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2376   2640   
@@ -0,0 +1,12 @@
        2641  +
{
        2642  +
    "credentials": {
        2643  +
        "access_key_id": "AKIDEXAMPLE",
        2644  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2645  +
    },
        2646  +
    "expiration_in_seconds": 3600,
        2647  +
    "normalize": true,
        2648  +
    "region": "us-east-1",
        2649  +
    "service": "service",
        2650  +
    "sign_body": false,
        2651  +
    "timestamp": "2015-08-30T12:36:00Z"
        2652  +
}
              \
 No newline at end of file
 2377   2653   
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
 2378   2654   
similarity index 100%
 2379   2655   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq
 2380   2656   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2381   2657   
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
 2382   2658   
new file mode 100644
 2383   2659   
index 0000000..87f295f
 2384         -
-- /dev/null
        2660  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2385   2661   
@@ -0,0 +1 @@
        2662  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2386   2663   
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
 2387   2664   
new file mode 100644
 2388   2665   
index 0000000..36b86e7
 2389         -
-- /dev/null
        2666  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2390   2667   
@@ -0,0 +1,5 @@
        2668  +
GET / HTTP/1.1
        2669  +
Host:example.amazonaws.com
        2670  +
X-Amz-Date:20150830T123600Z
        2671  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2672  +
 2391   2673   
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
 2392   2674   
similarity index 100%
 2393   2675   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts
 2394   2676   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2395   2677   
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
 2396   2678   
new file mode 100644
 2397   2679   
index 0000000..fb2420d
 2398         -
-- /dev/null
        2680  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2399   2681   
@@ -0,0 +1,7 @@
        2682  +
GET
        2683  +
/
        2684  +
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
        2685  +
host:example.amazonaws.com
        2686  +
        2687  +
host
        2688  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2400   2689   
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
 2401   2690   
new file mode 100644
 2402   2691   
index 0000000..da5c905
 2403         -
-- /dev/null
        2692  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2404   2693   
@@ -0,0 +1 @@
        2694  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2405   2695   
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
 2406   2696   
new file mode 100644
 2407   2697   
index 0000000..eeb7a8f
 2408         -
-- /dev/null
        2698  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2409   2699   
@@ -0,0 +1,3 @@
        2700  +
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
        2701  +
Host:example.amazonaws.com
        2702  +
 2410   2703   
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
 2411   2704   
new file mode 100644
 2412   2705   
index 0000000..d837e67
 2413         -
-- /dev/null
        2706  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2414   2707   
@@ -0,0 +1,4 @@
        2708  +
AWS4-HMAC-SHA256
        2709  +
20150830T123600Z
        2710  +
20150830/us-east-1/service/aws4_request
        2711  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2415   2712   
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
 2416   2713   
similarity index 100%
 2417   2714   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt
 2418   2715   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2419   2716   
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
 2420   2717   
new file mode 100644
 2421   2718   
index 0000000..0468d80
 2422         -
-- /dev/null
        2719  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2423   2720   
@@ -0,0 +1,12 @@
        2721  +
{
        2722  +
    "credentials": {
        2723  +
        "access_key_id": "AKIDEXAMPLE",
        2724  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2725  +
    },
        2726  +
    "expiration_in_seconds": 3600,
        2727  +
    "normalize": true,
        2728  +
    "region": "us-east-1",
        2729  +
    "service": "service",
        2730  +
    "sign_body": false,
        2731  +
    "timestamp": "2015-08-30T12:36:00Z"
        2732  +
}
              \
 No newline at end of file
 2424   2733   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2425   2734   
similarity index 100%
 2426   2735   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq
 2427   2736   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2428   2737   
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
 2429   2738   
new file mode 100644
 2430   2739   
index 0000000..629487f
 2431         -
-- /dev/null
        2740  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2432   2741   
@@ -0,0 +1 @@
        2742  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2433   2743   
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
 2434   2744   
new file mode 100644
 2435   2745   
index 0000000..0d99b1c
 2436         -
-- /dev/null
        2746  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2437   2747   
@@ -0,0 +1,5 @@
        2748  +
POST / HTTP/1.1
        2749  +
Host:example.amazonaws.com
        2750  +
X-Amz-Date:20150830T123600Z
        2751  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2752  +
 2438   2753   
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
 2439   2754   
similarity index 100%
 2440   2755   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts
 2441   2756   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2442   2757   
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
 2443   2758   
new file mode 100644
 2444   2759   
index 0000000..d3341e7
 2445         -
-- /dev/null
        2760  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2446   2761   
@@ -0,0 +1,7 @@
        2762  +
POST
        2763  +
/
        2764  +
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
        2765  +
host:example.amazonaws.com
        2766  +
        2767  +
host
        2768  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2447   2769   
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
 2448   2770   
new file mode 100644
 2449   2771   
index 0000000..79f7e0d
 2450         -
-- /dev/null
        2772  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2451   2773   
@@ -0,0 +1 @@
        2774  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2452   2775   
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
 2453   2776   
new file mode 100644
 2454   2777   
index 0000000..94f1b21
 2455         -
-- /dev/null
        2778  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2456   2779   
@@ -0,0 +1,3 @@
        2780  +
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
        2781  +
Host:example.amazonaws.com
        2782  +
 2457   2783   
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
 2458   2784   
new file mode 100644
 2459   2785   
index 0000000..e8f335b
 2460         -
-- /dev/null
        2786  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2461   2787   
@@ -0,0 +1,4 @@
        2788  +
AWS4-HMAC-SHA256
        2789  +
20150830T123600Z
        2790  +
20150830/us-east-1/service/aws4_request
        2791  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2462   2792   
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
 2463   2793   
similarity index 100%
 2464   2794   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt
 2465   2795   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2466   2796   
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
 2467   2797   
new file mode 100644
 2468   2798   
index 0000000..0468d80
 2469         -
-- /dev/null
        2799  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2470   2800   
@@ -0,0 +1,12 @@
        2801  +
{
        2802  +
    "credentials": {
        2803  +
        "access_key_id": "AKIDEXAMPLE",
        2804  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2805  +
    },
        2806  +
    "expiration_in_seconds": 3600,
        2807  +
    "normalize": true,
        2808  +
    "region": "us-east-1",
        2809  +
    "service": "service",
        2810  +
    "sign_body": false,
        2811  +
    "timestamp": "2015-08-30T12:36:00Z"
        2812  +
}
              \
 No newline at end of file
 2471   2813   
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
 2472   2814   
similarity index 100%
 2473   2815   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq
 2474   2816   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2475   2817   
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
 2476   2818   
new file mode 100644
 2477   2819   
index 0000000..e4e6428
 2478         -
-- /dev/null
        2820  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2479   2821   
@@ -0,0 +1 @@
        2822  +
c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
 2480   2823   
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
 2481   2824   
new file mode 100644
 2482   2825   
index 0000000..e3778f5
 2483         -
-- /dev/null
        2826  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2484   2827   
@@ -0,0 +1,6 @@
        2828  +
POST / HTTP/1.1
        2829  +
Host:example.amazonaws.com
        2830  +
My-Header1:value1
        2831  +
X-Amz-Date:20150830T123600Z
        2832  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
        2833  +
 2485   2834   
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
 2486   2835   
similarity index 100%
 2487   2836   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts
 2488   2837   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2489   2838   
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
 2490   2839   
new file mode 100644
 2491   2840   
index 0000000..bd7c937
 2492         -
-- /dev/null
        2841  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2493   2842   
@@ -0,0 +1,8 @@
        2843  +
POST
        2844  +
/
        2845  +
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
        2846  +
host:example.amazonaws.com
        2847  +
my-header1:value1
        2848  +
        2849  +
host;my-header1
        2850  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2494   2851   
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
 2495   2852   
new file mode 100644
 2496   2853   
index 0000000..0416f13
 2497         -
-- /dev/null
        2854  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2498   2855   
@@ -0,0 +1 @@
        2856  +
c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7
              \
 No newline at end of file
 2499   2857   
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
 2500   2858   
new file mode 100644
 2501   2859   
index 0000000..5e6522f
 2502         -
-- /dev/null
        2860  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2503   2861   
@@ -0,0 +1,4 @@
        2862  +
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
        2863  +
Host:example.amazonaws.com
        2864  +
My-Header1:value1
        2865  +
 2504   2866   
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
 2505   2867   
new file mode 100644
 2506   2868   
index 0000000..d06d1df
 2507         -
-- /dev/null
        2869  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2508   2870   
@@ -0,0 +1,4 @@
        2871  +
AWS4-HMAC-SHA256
        2872  +
20150830T123600Z
        2873  +
20150830/us-east-1/service/aws4_request
        2874  +
1295ed77e4ef8b18b32815e493e0b0f78ee47615c0ecbebfec7c75709eb58c88
              \
 No newline at end of file
 2509   2875   
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
 2510   2876   
similarity index 100%
 2511   2877   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt
 2512   2878   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2513   2879   
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
 2514   2880   
new file mode 100644
 2515   2881   
index 0000000..0468d80
 2516         -
-- /dev/null
        2882  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2517   2883   
@@ -0,0 +1,12 @@
        2884  +
{
        2885  +
    "credentials": {
        2886  +
        "access_key_id": "AKIDEXAMPLE",
        2887  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2888  +
    },
        2889  +
    "expiration_in_seconds": 3600,
        2890  +
    "normalize": true,
        2891  +
    "region": "us-east-1",
        2892  +
    "service": "service",
        2893  +
    "sign_body": false,
        2894  +
    "timestamp": "2015-08-30T12:36:00Z"
        2895  +
}
              \
 No newline at end of file
 2518   2896   
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
 2519   2897   
similarity index 100%
 2520   2898   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq
 2521   2899   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2522   2900   
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
 2523   2901   
new file mode 100644
 2524   2902   
index 0000000..bb3809c
 2525         -
-- /dev/null
        2903  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2526   2904   
@@ -0,0 +1 @@
        2905  +
cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
 2527   2906   
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
 2528   2907   
new file mode 100644
 2529   2908   
index 0000000..10f6761
 2530         -
-- /dev/null
        2909  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2531   2910   
@@ -0,0 +1,6 @@
        2911  +
POST / HTTP/1.1
        2912  +
Host:example.amazonaws.com
        2913  +
My-Header1:VALUE1
        2914  +
X-Amz-Date:20150830T123600Z
        2915  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
        2916  +
 2532   2917   
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
 2533   2918   
similarity index 100%
 2534   2919   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts
 2535   2920   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2536   2921   
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
 2537   2922   
new file mode 100644
 2538   2923   
index 0000000..f84856f
 2539         -
-- /dev/null
        2924  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2540   2925   
@@ -0,0 +1,8 @@
        2926  +
POST
        2927  +
/
        2928  +
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
        2929  +
host:example.amazonaws.com
        2930  +
my-header1:VALUE1
        2931  +
        2932  +
host;my-header1
        2933  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2541   2934   
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
 2542   2935   
new file mode 100644
 2543   2936   
index 0000000..a9d3cac
 2544         -
-- /dev/null
        2937  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2545   2938   
@@ -0,0 +1 @@
        2939  +
0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed
              \
 No newline at end of file
 2546   2940   
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
 2547   2941   
new file mode 100644
 2548   2942   
index 0000000..cf96c7c
 2549         -
-- /dev/null
        2943  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2550   2944   
@@ -0,0 +1,4 @@
        2945  +
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
        2946  +
Host:example.amazonaws.com
        2947  +
My-Header1:VALUE1
        2948  +
 2551   2949   
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
 2552   2950   
new file mode 100644
 2553   2951   
index 0000000..47ef566
 2554         -
-- /dev/null
        2952  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2555   2953   
@@ -0,0 +1,4 @@
        2954  +
AWS4-HMAC-SHA256
        2955  +
20150830T123600Z
        2956  +
20150830/us-east-1/service/aws4_request
        2957  +
9d4d1de88f0149695a91a01275fc72dc00fb50bdc78e424f012ec860d5f8c41d
              \
 No newline at end of file
 2556   2958   
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
 2557   2959   
similarity index 100%
 2558   2960   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt
 2559   2961   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2560   2962   
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
 2561   2963   
similarity index 100%
 2562   2964   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json
 2563   2965   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2564   2966   
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
 2565   2967   
similarity index 100%
 2566   2968   
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
 2567   2969   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2568   2970   
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
 2569   2971   
new file mode 100644
 2570   2972   
index 0000000..629487f
 2571         -
-- /dev/null
        2973  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2572   2974   
@@ -0,0 +1 @@
        2975  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2573   2976   
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
 2574   2977   
similarity index 67%
 2575   2978   
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
 2576   2979   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2577   2980   
index 291ed07..f96ff9e 100644
 2578         -
-- 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
        2981  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2579   2982   
@@ -1,5 +1,6 @@
 2580   2983   
POST / HTTP/1.1
 2581   2984   
Host:example.amazonaws.com
 2582         -
X-Amz-Date:20150830T123600Z
 2583   2985   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2584         -
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
        2986  +
X-Amz-Date:20150830T123600Z
        2987  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2988  +
 2585   2989   
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
 2586   2990   
similarity index 100%
 2587   2991   
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
 2588   2992   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2589   2993   
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
 2590   2994   
new file mode 100644
 2591   2995   
index 0000000..d3341e7
 2592         -
-- /dev/null
        2996  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2593   2997   
@@ -0,0 +1,7 @@
        2998  +
POST
        2999  +
/
        3000  +
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
        3001  +
host:example.amazonaws.com
        3002  +
        3003  +
host
        3004  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2594   3005   
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
 2595   3006   
new file mode 100644
 2596   3007   
index 0000000..79f7e0d
 2597         -
-- /dev/null
        3008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2598   3009   
@@ -0,0 +1 @@
        3010  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2599   3011   
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
 2600   3012   
new file mode 100644
 2601   3013   
index 0000000..4983268
 2602         -
-- /dev/null
        3014  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2603   3015   
@@ -0,0 +1,3 @@
        3016  +
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
        3017  +
Host:example.amazonaws.com
        3018  +
 2604   3019   
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
 2605   3020   
new file mode 100644
 2606   3021   
index 0000000..e8f335b
 2607         -
-- /dev/null
        3022  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2608   3023   
@@ -0,0 +1,4 @@
        3024  +
AWS4-HMAC-SHA256
        3025  +
20150830T123600Z
        3026  +
20150830/us-east-1/service/aws4_request
        3027  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2609   3028   
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
 2610   3029   
similarity index 100%
 2611   3030   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt
 2612   3031   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2613   3032   
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
 2614   3033   
similarity index 100%
 2615   3034   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json
 2616   3035   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2617   3036   
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
 2618   3037   
similarity index 100%
 2619   3038   
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
 2620   3039   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2621   3040   
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
 2622   3041   
new file mode 100644
 2623   3042   
index 0000000..85a7c29
 2624         -
-- /dev/null
        3043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2625   3044   
@@ -0,0 +1 @@
        3045  +
85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
 2626   3046   
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
 2627   3047   
similarity index 65%
 2628   3048   
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
 2629   3049   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2630   3050   
index 37b2f04..4d0b143 100644
 2631         -
-- 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
        3051  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2632   3052   
@@ -1,5 +1,6 @@
 2633   3053   
POST / HTTP/1.1
 2634   3054   
Host:example.amazonaws.com
 2635         -
X-Amz-Date:20150830T123600Z
 2636   3055   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2637         -
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
        3056  +
X-Amz-Date:20150830T123600Z
        3057  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
        3058  +
 2638   3059   
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
 2639   3060   
similarity index 100%
 2640   3061   
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
 2641   3062   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2642   3063   
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
 2643   3064   
new file mode 100644
 2644   3065   
index 0000000..57a7bc3
 2645         -
-- /dev/null
        3066  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2646   3067   
@@ -0,0 +1,7 @@
        3068  +
POST
        3069  +
/
        3070  +
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
        3071  +
host:example.amazonaws.com
        3072  +
        3073  +
host
        3074  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2647   3075   
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
 2648   3076   
new file mode 100644
 2649   3077   
index 0000000..eb905d2
 2650         -
-- /dev/null
        3078  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2651   3079   
@@ -0,0 +1 @@
        3080  +
46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c
              \
 No newline at end of file
 2652   3081   
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
 2653   3082   
new file mode 100644
 2654   3083   
index 0000000..1d80ec0
 2655         -
-- /dev/null
        3084  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2656   3085   
@@ -0,0 +1,3 @@
        3086  +
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
        3087  +
Host:example.amazonaws.com
        3088  +
 2657   3089   
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
 2658   3090   
new file mode 100644
 2659   3091   
index 0000000..bd0239a
 2660         -
-- /dev/null
        3092  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2661   3093   
@@ -0,0 +1,4 @@
        3094  +
AWS4-HMAC-SHA256
        3095  +
20150830T123600Z
        3096  +
20150830/us-east-1/service/aws4_request
        3097  +
37f7ba7a2ec89e8b29a0d637bcc70d8e8d0fdba854ddfc5bc06a12398cfe8605
              \
 No newline at end of file
 2662   3098   
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
 2663   3099   
similarity index 100%
 2664   3100   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt
 2665   3101   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2666   3102   
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
 2667   3103   
new file mode 100644
 2668   3104   
index 0000000..0468d80
 2669         -
-- /dev/null
        3105  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2670   3106   
@@ -0,0 +1,12 @@
        3107  +
{
        3108  +
    "credentials": {
        3109  +
        "access_key_id": "AKIDEXAMPLE",
        3110  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3111  +
    },
        3112  +
    "expiration_in_seconds": 3600,
        3113  +
    "normalize": true,
        3114  +
    "region": "us-east-1",
        3115  +
    "service": "service",
        3116  +
    "sign_body": false,
        3117  +
    "timestamp": "2015-08-30T12:36:00Z"
        3118  +
}
              \
 No newline at end of file
 2671   3119   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2672   3120   
similarity index 100%
 2673   3121   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.creq
 2674   3122   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2675   3123   
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
 2676   3124   
new file mode 100644
 2677   3125   
index 0000000..80ed433
 2678         -
-- /dev/null
        3126  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2679   3127   
@@ -0,0 +1 @@
        3128  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2680   3129   
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
 2681   3130   
new file mode 100644
 2682   3131   
index 0000000..4e614f8
 2683         -
-- /dev/null
        3132  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2684   3133   
@@ -0,0 +1,5 @@
        3134  +
POST /?Param1=value1 HTTP/1.1
        3135  +
Host:example.amazonaws.com
        3136  +
X-Amz-Date:20150830T123600Z
        3137  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3138  +
 2685   3139   
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
 2686   3140   
similarity index 100%
 2687   3141   
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
 2688   3142   
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
 2689   3143   
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
 2690   3144   
new file mode 100644
 2691   3145   
index 0000000..be66403
 2692         -
-- /dev/null
        3146  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2693   3147   
@@ -0,0 +1,7 @@
        3148  +
POST
        3149  +
/
        3150  +
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
        3151  +
host:example.amazonaws.com
        3152  +
        3153  +
host
        3154  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2694   3155   
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
 2695   3156   
new file mode 100644
 2696   3157   
index 0000000..20fd32b
 2697         -
-- /dev/null
        3158  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2698   3159   
@@ -0,0 +1 @@
        3160  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2699   3161   
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
 2700   3162   
new file mode 100644
 2701   3163   
index 0000000..d1148d0
 2702         -
-- /dev/null
        3164  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2703   3165   
@@ -0,0 +1,3 @@
        3166  +
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
        3167  +
Host:example.amazonaws.com
        3168  +
 2704   3169   
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
 2705   3170   
new file mode 100644
 2706   3171   
index 0000000..1a77103
 2707         -
-- /dev/null
        3172  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2708   3173   
@@ -0,0 +1,4 @@
        3174  +
AWS4-HMAC-SHA256
        3175  +
20150830T123600Z
        3176  +
20150830/us-east-1/service/aws4_request
        3177  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2709   3178   
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
 2710   3179   
similarity index 100%
 2711   3180   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt
 2712   3181   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2713   3182   
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
 2714   3183   
new file mode 100644
 2715   3184   
index 0000000..0468d80
 2716         -
-- /dev/null
        3185  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2717   3186   
@@ -0,0 +1,12 @@
        3187  +
{
        3188  +
    "credentials": {
        3189  +
        "access_key_id": "AKIDEXAMPLE",
        3190  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3191  +
    },
        3192  +
    "expiration_in_seconds": 3600,
        3193  +
    "normalize": true,
        3194  +
    "region": "us-east-1",
        3195  +
    "service": "service",
        3196  +
    "sign_body": false,
        3197  +
    "timestamp": "2015-08-30T12:36:00Z"
        3198  +
}
              \
 No newline at end of file
 2718   3199   
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
 2719   3200   
similarity index 100%
 2720   3201   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq
 2721   3202   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2722   3203   
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
 2723   3204   
new file mode 100644
 2724   3205   
index 0000000..80ed433
 2725         -
-- /dev/null
        3206  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2726   3207   
@@ -0,0 +1 @@
        3208  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2727   3209   
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
 2728   3210   
new file mode 100644
 2729   3211   
index 0000000..4e614f8
 2730         -
-- /dev/null
        3212  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2731   3213   
@@ -0,0 +1,5 @@
        3214  +
POST /?Param1=value1 HTTP/1.1
        3215  +
Host:example.amazonaws.com
        3216  +
X-Amz-Date:20150830T123600Z
        3217  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3218  +
 2732   3219   
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
 2733   3220   
similarity index 100%
 2734   3221   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts
 2735   3222   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2736   3223   
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
 2737   3224   
new file mode 100644
 2738   3225   
index 0000000..be66403
 2739         -
-- /dev/null
        3226  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2740   3227   
@@ -0,0 +1,7 @@
        3228  +
POST
        3229  +
/
        3230  +
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
        3231  +
host:example.amazonaws.com
        3232  +
        3233  +
host
        3234  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2741   3235   
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
 2742   3236   
new file mode 100644
 2743   3237   
index 0000000..20fd32b
 2744         -
-- /dev/null
        3238  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2745   3239   
@@ -0,0 +1 @@
        3240  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2746   3241   
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
 2747   3242   
new file mode 100644
 2748   3243   
index 0000000..d1148d0
 2749         -
-- /dev/null
        3244  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2750   3245   
@@ -0,0 +1,3 @@
        3246  +
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
        3247  +
Host:example.amazonaws.com
        3248  +
 2751   3249   
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
 2752   3250   
new file mode 100644
 2753   3251   
index 0000000..1a77103
 2754         -
-- /dev/null
        3252  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2755   3253   
@@ -0,0 +1,4 @@
        3254  +
AWS4-HMAC-SHA256
        3255  +
20150830T123600Z
        3256  +
20150830/us-east-1/service/aws4_request
        3257  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2756   3258   
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
 2757   3259   
similarity index 100%
 2758   3260   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt
 2759   3261   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2760   3262   
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
 2761   3263   
new file mode 100644
 2762   3264   
index 0000000..0468d80
 2763         -
-- /dev/null
        3265  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2764   3266   
@@ -0,0 +1,12 @@
        3267  +
{
        3268  +
    "credentials": {
        3269  +
        "access_key_id": "AKIDEXAMPLE",
        3270  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3271  +
    },
        3272  +
    "expiration_in_seconds": 3600,
        3273  +
    "normalize": true,
        3274  +
    "region": "us-east-1",
        3275  +
    "service": "service",
        3276  +
    "sign_body": false,
        3277  +
    "timestamp": "2015-08-30T12:36:00Z"
        3278  +
}
              \
 No newline at end of file
 2765   3279   
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
 2766   3280   
similarity index 100%
 2767   3281   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq
 2768   3282   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2769   3283   
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
 2770   3284   
new file mode 100644
 2771   3285   
index 0000000..629487f
 2772         -
-- /dev/null
        3286  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2773   3287   
@@ -0,0 +1 @@
        3288  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2774   3289   
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
 2775   3290   
new file mode 100644
 2776   3291   
index 0000000..0d99b1c
 2777         -
-- /dev/null
        3292  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2778   3293   
@@ -0,0 +1,5 @@
        3294  +
POST / HTTP/1.1
        3295  +
Host:example.amazonaws.com
        3296  +
X-Amz-Date:20150830T123600Z
        3297  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3298  +
 2779   3299   
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
 2780   3300   
similarity index 100%
 2781   3301   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts
 2782   3302   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2783   3303   
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
 2784   3304   
new file mode 100644
 2785   3305   
index 0000000..d3341e7
 2786         -
-- /dev/null
        3306  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2787   3307   
@@ -0,0 +1,7 @@
        3308  +
POST
        3309  +
/
        3310  +
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
        3311  +
host:example.amazonaws.com
        3312  +
        3313  +
host
        3314  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2788   3315   
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
 2789   3316   
new file mode 100644
 2790   3317   
index 0000000..79f7e0d
 2791         -
-- /dev/null
        3318  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2792   3319   
@@ -0,0 +1 @@
        3320  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2793   3321   
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
 2794   3322   
new file mode 100644
 2795   3323   
index 0000000..94f1b21
 2796         -
-- /dev/null
        3324  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2797   3325   
@@ -0,0 +1,3 @@
        3326  +
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
        3327  +
Host:example.amazonaws.com
        3328  +
 2798   3329   
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
 2799   3330   
new file mode 100644
 2800   3331   
index 0000000..e8f335b
 2801         -
-- /dev/null
        3332  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2802   3333   
@@ -0,0 +1,4 @@
        3334  +
AWS4-HMAC-SHA256
        3335  +
20150830T123600Z
        3336  +
20150830/us-east-1/service/aws4_request
        3337  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2803   3338   
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
 2804   3339   
similarity index 100%
 2805   3340   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt
 2806   3341   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2807   3342   
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
 2808   3343   
similarity index 99%
 2809   3344   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
 2810   3345   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2811   3346   
index fc4bce6..0db1df1 100644
 2812   3347   
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
 2813   3348   
new file mode 100644
 2814   3349   
index 0000000..c218fdf
 2815         -
-- /dev/null
        3350  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2816   3351   
@@ -0,0 +1,11 @@
        3352  +
POST
        3353  +
/
        3354  +
        3355  +
content-length:13
        3356  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3357  +
host:example.amazonaws.com
        3358  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3359  +
x-amz-date:20150830T123600Z
        3360  +
        3361  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3362  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2817   3363   
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
 2818   3364   
new file mode 100644
 2819   3365   
index 0000000..836aa8b
 2820         -
-- /dev/null
        3366  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2821   3367   
@@ -0,0 +1 @@
        3368  +
328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
              \
 No newline at end of file
 2822   3369   
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
 2823   3370   
new file mode 100644
 2824   3371   
index 0000000..9262d53
 2825         -
-- /dev/null
        3372  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2826   3373   
@@ -0,0 +1,9 @@
        3374  +
POST / HTTP/1.1
        3375  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3376  +
Host:example.amazonaws.com
        3377  +
Content-Length:13
        3378  +
X-Amz-Date:20150830T123600Z
        3379  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3380  +
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
        3381  +
        3382  +
Param1=value1
              \
 No newline at end of file
 2827   3383   
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
 2828   3384   
new file mode 100644
 2829   3385   
index 0000000..ddbdccc
 2830         -
-- /dev/null
        3386  +
++ 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
 2831   3387   
@@ -0,0 +1,4 @@
        3388  +
AWS4-HMAC-SHA256
        3389  +
20150830T123600Z
        3390  +
20150830/us-east-1/service/aws4_request
        3391  +
a89f1a5b53e37702ee6363ce1da3ce8f54386f3c8f352ae652153c2982a0bc4d
              \
 No newline at end of file
 2832   3392   
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
 2833   3393   
new file mode 100644
 2834   3394   
index 0000000..596a579
 2835         -
-- /dev/null
        3395  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 2836   3396   
@@ -0,0 +1,9 @@
        3397  +
POST
        3398  +
/
        3399  +
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
        3400  +
content-length:13
        3401  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3402  +
host:example.amazonaws.com
        3403  +
        3404  +
content-length;content-type;host
        3405  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2837   3406   
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
 2838   3407   
new file mode 100644
 2839   3408   
index 0000000..bc85cd8
 2840         -
-- /dev/null
        3409  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 2841   3410   
@@ -0,0 +1 @@
        3411  +
0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d
              \
 No newline at end of file
 2842   3412   
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
 2843   3413   
new file mode 100644
 2844   3414   
index 0000000..16b59e5
 2845         -
-- /dev/null
        3415  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 2846   3416   
@@ -0,0 +1,6 @@
        3417  +
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
        3418  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3419  +
Host:example.amazonaws.com
        3420  +
Content-Length:13
        3421  +
        3422  +
Param1=value1
              \
 No newline at end of file
 2847   3423   
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
 2848   3424   
new file mode 100644
 2849   3425   
index 0000000..50074af
 2850         -
-- /dev/null
        3426  +
++ 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
 2851   3427   
@@ -0,0 +1,4 @@
        3428  +
AWS4-HMAC-SHA256
        3429  +
20150830T123600Z
        3430  +
20150830/us-east-1/service/aws4_request
        3431  +
32192353b8ae6d857fac1c71cda066e6af2d3a3127ea7ac1fee22621ab4f05dc
              \
 No newline at end of file
 2852   3432   
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
 2853   3433   
similarity index 89%
 2854   3434   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
 2855   3435   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 2856   3436   
index b711c25..8289eaa 100644
 2857   3437   
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
 2858   3438   
similarity index 99%
 2859   3439   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
 2860   3440   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 2861   3441   
index fc4bce6..0db1df1 100644
 2862   3442   
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
 2863   3443   
new file mode 100644
 2864   3444   
index 0000000..4d116a5
 2865         -
-- /dev/null
        3445  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 2866   3446   
@@ -0,0 +1,11 @@
        3447  +
POST
        3448  +
/
        3449  +
        3450  +
content-length:13
        3451  +
content-type:application/x-www-form-urlencoded
        3452  +
host:example.amazonaws.com
        3453  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3454  +
x-amz-date:20150830T123600Z
        3455  +
        3456  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3457  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2867   3458   
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
 2868   3459   
new file mode 100644
 2869   3460   
index 0000000..0d2ac37
 2870         -
-- /dev/null
        3461  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 2871   3462   
@@ -0,0 +1 @@
        3463  +
d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
              \
 No newline at end of file
 2872   3464   
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
 2873   3465   
new file mode 100644
 2874   3466   
index 0000000..bd5e49c
 2875         -
-- /dev/null
        3467  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 2876   3468   
@@ -0,0 +1,9 @@
        3469  +
POST / HTTP/1.1
        3470  +
Content-Type:application/x-www-form-urlencoded
        3471  +
Host:example.amazonaws.com
        3472  +
Content-Length:13
        3473  +
X-Amz-Date:20150830T123600Z
        3474  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3475  +
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
        3476  +
        3477  +
Param1=value1
              \
 No newline at end of file
 2877   3478   
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
 2878   3479   
new file mode 100644
 2879   3480   
index 0000000..f1c599c
 2880         -
-- /dev/null
        3481  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 2881   3482   
@@ -0,0 +1,4 @@
        3483  +
AWS4-HMAC-SHA256
        3484  +
20150830T123600Z
        3485  +
20150830/us-east-1/service/aws4_request
        3486  +
b1edd1d03544c25390e32085d55b57acc9a3961bb59415ff86c45c3d89d16cfb
              \
 No newline at end of file
 2882   3487   
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
 2883   3488   
new file mode 100644
 2884   3489   
index 0000000..1fc1bb7
 2885         -
-- /dev/null
        3490  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 2886   3491   
@@ -0,0 +1,9 @@
        3492  +
POST
        3493  +
/
        3494  +
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
        3495  +
content-length:13
        3496  +
content-type:application/x-www-form-urlencoded
        3497  +
host:example.amazonaws.com
        3498  +
        3499  +
content-length;content-type;host
        3500  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2887   3501   
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
 2888   3502   
new file mode 100644
 2889   3503   
index 0000000..98c91b3
 2890         -
-- /dev/null
        3504  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 2891   3505   
@@ -0,0 +1 @@
        3506  +
89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9
              \
 No newline at end of file
 2892   3507   
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
 2893   3508   
new file mode 100644
 2894   3509   
index 0000000..055cd7a
 2895         -
-- /dev/null
        3510  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 2896   3511   
@@ -0,0 +1,6 @@
        3512  +
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
        3513  +
Content-Type:application/x-www-form-urlencoded
        3514  +
Host:example.amazonaws.com
        3515  +
Content-Length:13
        3516  +
        3517  +
Param1=value1
              \
 No newline at end of file
 2897   3518   
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
 2898   3519   
new file mode 100644
 2899   3520   
index 0000000..db7fc27
 2900         -
-- /dev/null
        3521  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 2901   3522   
@@ -0,0 +1,4 @@
        3523  +
AWS4-HMAC-SHA256
        3524  +
20150830T123600Z
        3525  +
20150830/us-east-1/service/aws4_request
        3526  +
ee5059a7c437165a28d0e775e6498be428761255d657d8c04cb1baa41de6514c
              \
 No newline at end of file
 2902   3527   
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
 2903   3528   
similarity index 88%
 2904   3529   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
 2905   3530   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 2906   3531   
index 0091102..760b2d3 100644
 2907   3532   
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
 2908   3533   
new file mode 100644
 2909   3534   
index 0000000..0468d80
 2910         -
-- /dev/null
        3535  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 2911   3536   
@@ -0,0 +1,12 @@
        3537  +
{
        3538  +
    "credentials": {
        3539  +
        "access_key_id": "AKIDEXAMPLE",
        3540  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3541  +
    },
        3542  +
    "expiration_in_seconds": 3600,
        3543  +
    "normalize": true,
        3544  +
    "region": "us-east-1",
        3545  +
    "service": "service",
        3546  +
    "sign_body": false,
        3547  +
    "timestamp": "2015-08-30T12:36:00Z"
        3548  +
}
              \
 No newline at end of file
 2912   3549   
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
 2913   3550   
similarity index 99%
 2914   3551   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
 2915   3552   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 2916   3553   
index ccb5f43..1bc448e 100644
 2917   3554   
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
 2918   3555   
new file mode 100644
 2919   3556   
index 0000000..489c182
 2920         -
-- /dev/null
        3557  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 2921   3558   
@@ -0,0 +1 @@
        3559  +
304502204862ad283a21f883fc12f1156a6f3fcdbba13d1847e58aa5eb37c666477ea06b022100ee439fac0a975c9a6605b1fa44ad7b654a1f8ac6e868e4e1069a1b3aa35d8113
              \
 No newline at end of file
 2922   3560   
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
 2923   3561   
new file mode 100644
 2924   3562   
index 0000000..e1b8dbf
 2925         -
-- /dev/null
        3563  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 2926   3564   
@@ -0,0 +1,9 @@
        3565  +
GET / HTTP/1.1
        3566  +
Host:example.amazonaws.com
        3567  +
My-Header1:value2
        3568  +
My-Header1:value2
        3569  +
My-Header1:value1
        3570  +
X-Amz-Date:20150830T123600Z
        3571  +
X-Amz-Region-Set:us-east-1
        3572  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=30450220331da6dfebb0d19e5e161b1efa389ccb83cadb60bc71f6791ef71ac6054c44de0221008588b7d5c9f7a79ca9c02a02efbd0f540cda242a64ca1452aa914e050b517724
        3573  +
 2927   3574   
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
 2928   3575   
similarity index 99%
 2929   3576   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
 2930   3577   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 2931   3578   
index 8783461..bfc4619 100644
 2932   3579   
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
 2933   3580   
new file mode 100644
 2934   3581   
index 0000000..379dcb2
 2935         -
-- /dev/null
        3582  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 2936   3583   
@@ -0,0 +1,4 @@
        3584  +
{
        3585  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3586  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3587  +
}
 2937   3588   
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
 2938   3589   
similarity index 99%
 2939   3590   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
 2940   3591   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 2941   3592   
index 9561297..c05c3f5 100644
 2942   3593   
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
 2943   3594   
new file mode 100644
 2944   3595   
index 0000000..de9a4c3
 2945         -
-- /dev/null
        3596  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 2946   3597   
@@ -0,0 +1 @@
        3598  +
3045022100e1e03fa80218cb464404dc4badbdf443f5f5bb504840a2b3803565a28be0388d022063399d4fb8b974906e87a8d67bf7e95334d9dc620817ef92eb2bc6affb1c6a10
              \
 No newline at end of file
 2947   3599   
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
 2948   3600   
new file mode 100644
 2949   3601   
index 0000000..6c6b8c4
 2950         -
-- /dev/null
        3602  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 2951   3603   
@@ -0,0 +1,6 @@
        3604  +
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
        3605  +
Host:example.amazonaws.com
        3606  +
My-Header1:value2
        3607  +
My-Header1:value2
        3608  +
My-Header1:value1
        3609  +
 2952   3610   
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
 2953   3611   
similarity index 99%
 2954   3612   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
 2955   3613   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 2956   3614   
index 3140f6f..4eef106 100644
 2957   3615   
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
 2958   3616   
similarity index 78%
 2959   3617   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
 2960   3618   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2961   3619   
index 08a0364..40455ce 100644
 2962         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
        3620  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2963   3621   
@@ -1,6 +1,5 @@
 2964   3622   
GET / HTTP/1.1
 2965   3623   
Host:example.amazonaws.com
 2966   3624   
My-Header1:value2
 2967   3625   
My-Header1:value2
 2968   3626   
My-Header1:value1
 2969         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2970   3627   
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
 2971   3628   
new file mode 100644
 2972   3629   
index 0000000..0468d80
 2973         -
-- /dev/null
        3630  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 2974   3631   
@@ -0,0 +1,12 @@
        3632  +
{
        3633  +
    "credentials": {
        3634  +
        "access_key_id": "AKIDEXAMPLE",
        3635  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3636  +
    },
        3637  +
    "expiration_in_seconds": 3600,
        3638  +
    "normalize": true,
        3639  +
    "region": "us-east-1",
        3640  +
    "service": "service",
        3641  +
    "sign_body": false,
        3642  +
    "timestamp": "2015-08-30T12:36:00Z"
        3643  +
}
              \
 No newline at end of file
 2975   3644   
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
 2976   3645   
new file mode 100644
 2977   3646   
index 0000000..69526cd
 2978         -
-- /dev/null
        3647  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 2979   3648   
@@ -0,0 +1,10 @@
        3649  +
GET
        3650  +
/
        3651  +
        3652  +
host:example.amazonaws.com
        3653  +
my-header1:value1 value2 value3
        3654  +
x-amz-date:20150830T123600Z
        3655  +
x-amz-region-set:us-east-1
        3656  +
        3657  +
host;my-header1;x-amz-date;x-amz-region-set
        3658  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2980   3659   
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
 2981   3660   
new file mode 100644
 2982   3661   
index 0000000..d51b4f3
 2983         -
-- /dev/null
        3662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 2984   3663   
@@ -0,0 +1 @@
        3664  +
304502206a2d7c3572ebcb9a1f34e5fa744250c3fb2f403a0a7e4b0bc196286846a996a8022100d94aacba36ff453394df27966e9cccd7c6065457b6fe828aebe107307cc5e8e9
              \
 No newline at end of file
 2985   3665   
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
 2986   3666   
new file mode 100644
 2987   3667   
index 0000000..8131420
 2988         -
-- /dev/null
        3668  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 2989   3669   
@@ -0,0 +1,9 @@
        3670  +
GET / HTTP/1.1
        3671  +
Host:example.amazonaws.com
        3672  +
My-Header1:value1
        3673  +
  value2
        3674  +
     value3
        3675  +
X-Amz-Date:20150830T123600Z
        3676  +
X-Amz-Region-Set:us-east-1
        3677  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022060b9f2f480a395bf34aa42074697f923c2355e26970987461ce904a6a2eeef52022100fc7ef73838bbfba208a8cf8f3edbe1c8879be7853b677f492db93c30df6fbe02
        3678  +
 2990   3679   
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
 2991   3680   
new file mode 100644
 2992   3681   
index 0000000..e4d99fa
 2993         -
-- /dev/null
        3682  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 2994   3683   
@@ -0,0 +1,4 @@
        3684  +
AWS4-ECDSA-P256-SHA256
        3685  +
20150830T123600Z
        3686  +
20150830/service/aws4_request
        3687  +
3579d4751dd7db30860b89a17b53647c70fd8363ec485836dbf68cfd22313398
              \
 No newline at end of file
 2995   3688   
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
 2996   3689   
new file mode 100644
 2997   3690   
index 0000000..379dcb2
 2998         -
-- /dev/null
        3691  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 2999   3692   
@@ -0,0 +1,4 @@
        3693  +
{
        3694  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3695  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3696  +
}
 3000   3697   
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
 3001   3698   
new file mode 100644
 3002   3699   
index 0000000..3c4d52f
 3003         -
-- /dev/null
        3700  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 3004   3701   
@@ -0,0 +1,8 @@
        3702  +
GET
        3703  +
/
        3704  +
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
        3705  +
host:example.amazonaws.com
        3706  +
my-header1:value1 value2 value3
        3707  +
        3708  +
host;my-header1
        3709  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3005   3710   
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
 3006   3711   
new file mode 100644
 3007   3712   
index 0000000..4e63f9a
 3008         -
-- /dev/null
        3713  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 3009   3714   
@@ -0,0 +1 @@
        3715  +
30450220159829015456fd111a27c4e0d6a555da894aefd23c96c5eb915b94bf6788499a022100fd48a0b97d1c32a11ee33873f87953a3ef410978f226b4a708acb9e582828fde
              \
 No newline at end of file
 3010   3716   
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
 3011   3717   
new file mode 100644
 3012   3718   
index 0000000..adf1f09
 3013         -
-- /dev/null
        3719  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 3014   3720   
@@ -0,0 +1,6 @@
        3721  +
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
        3722  +
Host:example.amazonaws.com
        3723  +
My-Header1:value1
        3724  +
  value2
        3725  +
     value3
        3726  +
 3015   3727   
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
 3016   3728   
new file mode 100644
 3017   3729   
index 0000000..e085407
 3018         -
-- /dev/null
        3730  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 3019   3731   
@@ -0,0 +1,4 @@
        3732  +
AWS4-ECDSA-P256-SHA256
        3733  +
20150830T123600Z
        3734  +
20150830/service/aws4_request
        3735  +
960c3db8a6ce71c62c4bc13e5f2a72231a8f1a644d52e688ac1524ecd4b09643
              \
 No newline at end of file
 3020   3736   
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
 3021   3737   
new file mode 100644
 3022   3738   
index 0000000..b5026cd
 3023         -
-- /dev/null
        3739  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 3024   3740   
@@ -0,0 +1,5 @@
        3741  +
GET / HTTP/1.1
        3742  +
Host:example.amazonaws.com
        3743  +
My-Header1:value1
        3744  +
  value2
        3745  +
     value3
 3025   3746   
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
 3026   3747   
new file mode 100644
 3027   3748   
index 0000000..0468d80
 3028         -
-- /dev/null
        3749  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 3029   3750   
@@ -0,0 +1,12 @@
        3751  +
{
        3752  +
    "credentials": {
        3753  +
        "access_key_id": "AKIDEXAMPLE",
        3754  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3755  +
    },
        3756  +
    "expiration_in_seconds": 3600,
        3757  +
    "normalize": true,
        3758  +
    "region": "us-east-1",
        3759  +
    "service": "service",
        3760  +
    "sign_body": false,
        3761  +
    "timestamp": "2015-08-30T12:36:00Z"
        3762  +
}
              \
 No newline at end of file
 3030   3763   
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
 3031   3764   
similarity index 99%
 3032   3765   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
 3033   3766   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3034   3767   
index 9375193..533afdb 100644
 3035   3768   
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
 3036   3769   
new file mode 100644
 3037   3770   
index 0000000..057b426
 3038         -
-- /dev/null
        3771  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 3039   3772   
@@ -0,0 +1 @@
        3773  +
3045022005e72f83b232f1fa01d7344267d44a46fa4c193bc3d0ad256e89f92a561eb8fa022100c62a85a22a6018463df69c97da07cd189185dadeede293c659e15514cd28a0c9
              \
 No newline at end of file
 3040   3774   
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
 3041   3775   
new file mode 100644
 3042   3776   
index 0000000..4e4ccf0
 3043         -
-- /dev/null
        3777  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 3044   3778   
@@ -0,0 +1,10 @@
        3779  +
GET / HTTP/1.1
        3780  +
Host:example.amazonaws.com
        3781  +
My-Header1:value4
        3782  +
My-Header1:value1
        3783  +
My-Header1:value3
        3784  +
My-Header1:value2
        3785  +
X-Amz-Date:20150830T123600Z
        3786  +
X-Amz-Region-Set:us-east-1
        3787  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=304402203410301a4cfc805996d0ac5305374d7cdff4e2564fcbd6f6cfed73b227966046022046e36b2ede1f78d2b68ea4534ae59da3de089e58f67ae08490411dfabd77f36e
        3788  +
 3045   3789   
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
 3046   3790   
similarity index 99%
 3047   3791   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
 3048   3792   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3049   3793   
index 6400baf..e68c952 100644
 3050   3794   
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
 3051   3795   
new file mode 100644
 3052   3796   
index 0000000..379dcb2
 3053         -
-- /dev/null
        3797  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 3054   3798   
@@ -0,0 +1,4 @@
        3799  +
{
        3800  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3801  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3802  +
}
 3055   3803   
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
 3056   3804   
similarity index 99%
 3057   3805   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
 3058   3806   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3059   3807   
index ecf494a..68450fe 100644
 3060   3808   
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
 3061   3809   
new file mode 100644
 3062   3810   
index 0000000..9df2eb3
 3063         -
-- /dev/null
        3811  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 3064   3812   
@@ -0,0 +1 @@
        3813  +
3045022044e0c722f2d02673c326d0ac38aae57e2877e158b700de702e5dd082be680f65022100841bb5007fb5ece1078add2bf38e84f1b7ea13e67b935d1fd021014eedee46a4
              \
 No newline at end of file
 3065   3814   
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
 3066   3815   
new file mode 100644
 3067   3816   
index 0000000..62f8cb7
 3068         -
-- /dev/null
        3817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 3069   3818   
@@ -0,0 +1,7 @@
        3819  +
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
        3820  +
Host:example.amazonaws.com
        3821  +
My-Header1:value4
        3822  +
My-Header1:value1
        3823  +
My-Header1:value3
        3824  +
My-Header1:value2
        3825  +
 3070   3826   
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
 3071   3827   
similarity index 99%
 3072   3828   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
 3073   3829   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3074   3830   
index b584179..2bcf7b1 100644
 3075   3831   
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
 3076   3832   
similarity index 80%
 3077   3833   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
 3078   3834   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3079   3835   
index f7bd9e6..2c6f49d 100644
 3080         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
        3836  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3081   3837   
@@ -1,7 +1,6 @@
 3082   3838   
GET / HTTP/1.1
 3083   3839   
Host:example.amazonaws.com
 3084   3840   
My-Header1:value4
 3085   3841   
My-Header1:value1
 3086   3842   
My-Header1:value3
 3087   3843   
My-Header1:value2
 3088         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3089   3844   
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
 3090   3845   
new file mode 100644
 3091   3846   
index 0000000..0468d80
 3092         -
-- /dev/null
        3847  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 3093   3848   
@@ -0,0 +1,12 @@
        3849  +
{
        3850  +
    "credentials": {
        3851  +
        "access_key_id": "AKIDEXAMPLE",
        3852  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3853  +
    },
        3854  +
    "expiration_in_seconds": 3600,
        3855  +
    "normalize": true,
        3856  +
    "region": "us-east-1",
        3857  +
    "service": "service",
        3858  +
    "sign_body": false,
        3859  +
    "timestamp": "2015-08-30T12:36:00Z"
        3860  +
}
              \
 No newline at end of file
 3094   3861   
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
 3095   3862   
similarity index 99%
 3096   3863   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
 3097   3864   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3098   3865   
index e91e952..94b6be5 100644
 3099   3866   
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
 3100   3867   
new file mode 100644
 3101   3868   
index 0000000..bf8c3cb
 3102         -
-- /dev/null
        3869  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 3103   3870   
@@ -0,0 +1 @@
        3871  +
3046022100f05cfb8a9a49ee4540c49ed27e612ddd1a2d168512bad65a96cdf8378254a4bd022100a3eb663e6734125d467fc00d5a41dc6bf476ec167d5c20657ff3135c8b4f7815
              \
 No newline at end of file
 3104   3872   
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
 3105   3873   
new file mode 100644
 3106   3874   
index 0000000..f7f054d
 3107         -
-- /dev/null
        3875  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 3108   3876   
@@ -0,0 +1,8 @@
        3877  +
GET / HTTP/1.1
        3878  +
Host:example.amazonaws.com
        3879  +
My-Header1: value1
        3880  +
My-Header2: "a   b   c"
        3881  +
X-Amz-Date:20150830T123600Z
        3882  +
X-Amz-Region-Set:us-east-1
        3883  +
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
        3884  +
 3109   3885   
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
 3110   3886   
similarity index 99%
 3111   3887   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
 3112   3888   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3113   3889   
index 0e407d8..a2c9c05 100644
 3114   3890   
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
 3115   3891   
new file mode 100644
 3116   3892   
index 0000000..379dcb2
 3117         -
-- /dev/null
        3893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 3118   3894   
@@ -0,0 +1,4 @@
        3895  +
{
        3896  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3897  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3898  +
}
 3119   3899   
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
 3120   3900   
similarity index 99%
 3121   3901   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
 3122   3902   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3123   3903   
index 8a3b042..3a51150 100644
 3124   3904   
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
 3125   3905   
new file mode 100644
 3126   3906   
index 0000000..0033053
 3127         -
-- /dev/null
        3907  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 3128   3908   
@@ -0,0 +1 @@
        3909  +
3045022100a765fa4e0a2c5d56292cc9aa654332858bcbb2af27b8c488157113f2c084776b02206145afa6dbb99993e499863fa36e592b94ddaeefbd778a473348204f26c15547
              \
 No newline at end of file
 3129   3910   
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
 3130   3911   
new file mode 100644
 3131   3912   
index 0000000..1537888
 3132         -
-- /dev/null
        3913  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 3133   3914   
@@ -0,0 +1,5 @@
        3915  +
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
        3916  +
Host:example.amazonaws.com
        3917  +
My-Header1: value1
        3918  +
My-Header2: "a   b   c"
        3919  +
 3134   3920   
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
 3135   3921   
similarity index 99%
 3136   3922   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
 3137   3923   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3138   3924   
index 5eead25..633dc1f 100644
 3139   3925   
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
 3140   3926   
similarity index 75%
 3141   3927   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
 3142   3928   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3143   3929   
index 901f36c..ad1ea98 100644
 3144         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
        3930  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3145   3931   
@@ -1,5 +1,4 @@
 3146   3932   
GET / HTTP/1.1
 3147   3933   
Host:example.amazonaws.com
 3148   3934   
My-Header1: value1
 3149   3935   
My-Header2: "a   b   c"
 3150         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3151   3936   
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
 3152   3937   
new file mode 100644
 3153   3938   
index 0000000..0468d80
 3154         -
-- /dev/null
        3939  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 3155   3940   
@@ -0,0 +1,12 @@
        3941  +
{
        3942  +
    "credentials": {
        3943  +
        "access_key_id": "AKIDEXAMPLE",
        3944  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3945  +
    },
        3946  +
    "expiration_in_seconds": 3600,
        3947  +
    "normalize": true,
        3948  +
    "region": "us-east-1",
        3949  +
    "service": "service",
        3950  +
    "sign_body": false,
        3951  +
    "timestamp": "2015-08-30T12:36:00Z"
        3952  +
}
              \
 No newline at end of file
 3156   3953   
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
 3157   3954   
similarity index 99%
 3158   3955   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
 3159   3956   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3160   3957   
index 47e7128..76db73d 100644
 3161   3958   
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
 3162   3959   
new file mode 100644
 3163   3960   
index 0000000..cbd6ae2
 3164         -
-- /dev/null
        3961  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3165   3962   
@@ -0,0 +1 @@
        3963  +
3045022002e5e766e09de198957182589c9abe3e7ccd00a8fc6d7bbaf5f0a2c10660d16a022100e6b0835731cd5b72d5abb50e5821d90f5f713339697eb65cf40d34a3facfdbb8
              \
 No newline at end of file
 3166   3964   
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
 3167   3965   
new file mode 100644
 3168   3966   
index 0000000..a343fcf
 3169         -
-- /dev/null
        3967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3170   3968   
@@ -0,0 +1,6 @@
        3969  +
GET /example/.. HTTP/1.1
        3970  +
Host:example.amazonaws.com
        3971  +
X-Amz-Date:20150830T123600Z
        3972  +
X-Amz-Region-Set:us-east-1
        3973  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206ccd591952cdb4a0a002217788234c80eac520f890b0a6ea07b98044f08ba10e0220733126caf0347f7df89773f79b9fae2648ca786e67a7d88ec296d66452da4bec
        3974  +
 3171   3975   
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
 3172   3976   
similarity index 99%
 3173   3977   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
 3174   3978   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3175   3979   
index 95d7219..600f1d8 100644
 3176   3980   
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
 3177   3981   
new file mode 100644
 3178   3982   
index 0000000..379dcb2
 3179         -
-- /dev/null
        3983  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3180   3984   
@@ -0,0 +1,4 @@
        3985  +
{
        3986  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3987  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3988  +
}
 3181   3989   
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
 3182   3990   
similarity index 99%
 3183   3991   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
 3184   3992   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3185   3993   
index a34ea26..779c51c 100644
 3186   3994   
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
 3187   3995   
new file mode 100644
 3188   3996   
index 0000000..3cc88e6
 3189         -
-- /dev/null
        3997  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3190   3998   
@@ -0,0 +1 @@
        3999  +
304402200ef7c6ac7bfaaddbf4df3a4b03ab2e4e24e992d305fa133ef0f6c826ad9850e602203ef21f22e239cd1971310c404c80d6e50c5cd06eae1452695ae762d1a9a51c90
              \
 No newline at end of file
 3191   4000   
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
 3192   4001   
new file mode 100644
 3193   4002   
index 0000000..f68dde8
 3194         -
-- /dev/null
        4003  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3195   4004   
@@ -0,0 +1,3 @@
        4005  +
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
        4006  +
Host:example.amazonaws.com
        4007  +
 3196   4008   
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
 3197   4009   
similarity index 99%
 3198   4010   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
 3199   4011   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3200   4012   
index 48f855c..6e29a7e 100644
 3201   4013   
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
 3202   4014   
similarity index 65%
 3203   4015   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
 3204   4016   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3205   4017   
index 9d6d7ca..6aa9f99 100644
 3206         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
        4018  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3207   4019   
@@ -1,3 +1,2 @@
 3208   4020   
GET /example/.. HTTP/1.1
 3209   4021   
Host:example.amazonaws.com
 3210         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3211   4022   
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
 3212   4023   
new file mode 100644
 3213   4024   
index 0000000..0468d80
 3214         -
-- /dev/null
        4025  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3215   4026   
@@ -0,0 +1,12 @@
        4027  +
{
        4028  +
    "credentials": {
        4029  +
        "access_key_id": "AKIDEXAMPLE",
        4030  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4031  +
    },
        4032  +
    "expiration_in_seconds": 3600,
        4033  +
    "normalize": true,
        4034  +
    "region": "us-east-1",
        4035  +
    "service": "service",
        4036  +
    "sign_body": false,
        4037  +
    "timestamp": "2015-08-30T12:36:00Z"
        4038  +
}
              \
 No newline at end of file
 3216   4039   
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
 3217   4040   
similarity index 99%
 3218   4041   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
 3219   4042   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3220   4043   
index 47e7128..76db73d 100644
 3221   4044   
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
 3222   4045   
new file mode 100644
 3223   4046   
index 0000000..f7a7ebe
 3224         -
-- /dev/null
        4047  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3225   4048   
@@ -0,0 +1 @@
        4049  +
3046022100ea029ea1e7b8715f67cd33b8536e013e53e9c7bcd109770f29a4a28767bb2212022100c95a298283c130266a4c8457590d8c047205b4aef9266b85deeb90e5c73e5caa
              \
 No newline at end of file
 3226   4050   
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
 3227   4051   
new file mode 100644
 3228   4052   
index 0000000..9d2c50d
 3229         -
-- /dev/null
        4053  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3230   4054   
@@ -0,0 +1,6 @@
        4055  +
GET /example1/example2/../.. HTTP/1.1
        4056  +
Host:example.amazonaws.com
        4057  +
X-Amz-Date:20150830T123600Z
        4058  +
X-Amz-Region-Set:us-east-1
        4059  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203edb747d59fe32db47529b2e5e02c9276759b7c43ad9e36ff62d52b8dbeb00e3022007f99e8601938b893fe6dcbac9259fec2f3797b0e3d74fd66d59b09e83b8c1d4
        4060  +
 3231   4061   
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
 3232   4062   
similarity index 99%
 3233   4063   
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
 3234   4064   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3235   4065   
index 95d7219..600f1d8 100644
 3236   4066   
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
 3237   4067   
new file mode 100644
 3238   4068   
index 0000000..379dcb2
 3239         -
-- /dev/null
        4069  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3240   4070   
@@ -0,0 +1,4 @@
        4071  +
{
        4072  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4073  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4074  +
}
 3241   4075   
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
 3242   4076   
similarity index 99%
 3243   4077   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
 3244   4078   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3245   4079   
index a34ea26..779c51c 100644
 3246   4080   
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
 3247   4081   
new file mode 100644
 3248   4082   
index 0000000..45ef286
 3249         -
-- /dev/null
        4083  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3250   4084   
@@ -0,0 +1 @@
        4085  +
304402200afc56cdc43e814e44408999f2fb2fe0f8992877345b09e402b28fb2063e4987022035cdba28f5462e9034f45fc5f879bd2305943f9a1830b0f7fbe6468658ba52c1
              \
 No newline at end of file
 3251   4086   
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
 3252   4087   
new file mode 100644
 3253   4088   
index 0000000..0d16f66
 3254         -
-- /dev/null
        4089  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3255   4090   
@@ -0,0 +1,3 @@
        4091  +
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
        4092  +
Host:example.amazonaws.com
        4093  +
 3256   4094   
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
 3257   4095   
similarity index 99%
 3258   4096   
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
 3259   4097   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3260   4098   
index 48f855c..6e29a7e 100644
 3261   4099   
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
 3262   4100   
similarity index 70%
 3263   4101   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
 3264   4102   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3265   4103   
index cfd4e8b..a856c10 100644
 3266         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
        4104  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3267   4105   
@@ -1,3 +1,2 @@
 3268   4106   
GET /example1/example2/../.. HTTP/1.1
 3269   4107   
Host:example.amazonaws.com
 3270         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3271   4108   
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
 3272   4109   
new file mode 100644
 3273   4110   
index 0000000..7bee5c7
 3274         -
-- /dev/null
        4111  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3275   4112   
@@ -0,0 +1,12 @@
        4113  +
{
        4114  +
    "credentials": {
        4115  +
        "access_key_id": "AKIDEXAMPLE",
        4116  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4117  +
    },
        4118  +
    "expiration_in_seconds": 3600,
        4119  +
    "normalize": false,
        4120  +
    "region": "us-east-1",
        4121  +
    "service": "service",
        4122  +
    "sign_body": false,
        4123  +
    "timestamp": "2015-08-30T12:36:00Z"
        4124  +
}
              \
 No newline at end of file
 3276   4125   
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
 3277   4126   
similarity index 99%
 3278   4127   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
 3279   4128   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3280   4129   
index 5e1d1cf..e4e6d57 100644
 3281   4130   
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
 3282   4131   
new file mode 100644
 3283   4132   
index 0000000..2d1b47c
 3284         -
-- /dev/null
        4133  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3285   4134   
@@ -0,0 +1 @@
        4135  +
30450221009bf86ef8b148904a938fcc5a050aa99cb99cb6a3436a62badfef1b82977d95c4022053e3c11e10fb302a2c39c253b066530404ee5fcca63bf962facd8d072817a69d
              \
 No newline at end of file
 3286   4136   
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
 3287   4137   
new file mode 100644
 3288   4138   
index 0000000..7158179
 3289         -
-- /dev/null
        4139  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3290   4140   
@@ -0,0 +1,6 @@
        4141  +
GET /example1/example2/../.. HTTP/1.1
        4142  +
Host:example.amazonaws.com
        4143  +
X-Amz-Date:20150830T123600Z
        4144  +
X-Amz-Region-Set:us-east-1
        4145  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402205651d45d4f377407303dba0775405efa77683821adff20c0256b94d10710de5b022053fa72420652c55327876c5105da6770cb482f55533e1b0bd7d15fa75f570e46
        4146  +
 3291   4147   
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
 3292   4148   
similarity index 99%
 3293   4149   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
 3294   4150   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3295   4151   
index 1cca6cf..db60c8e 100644
 3296   4152   
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
 3297   4153   
new file mode 100644
 3298   4154   
index 0000000..379dcb2
 3299         -
-- /dev/null
        4155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3300   4156   
@@ -0,0 +1,4 @@
        4157  +
{
        4158  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4159  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4160  +
}
 3301   4161   
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
 3302   4162   
similarity index 99%
 3303   4163   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
 3304   4164   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3305   4165   
index 95dc104..0d963ba 100644
 3306   4166   
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
 3307   4167   
new file mode 100644
 3308   4168   
index 0000000..ae774e4
 3309         -
-- /dev/null
        4169  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3310   4170   
@@ -0,0 +1 @@
        4171  +
3046022100a11cd4cae39a6b3553651f9c6360898278d90a3cb8f736184ff6bdb8564decbc022100d86a34623cc34890750a7fe8a30948638f6dace0e558c3ff82a0cf6256067503
              \
 No newline at end of file
 3311   4172   
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
 3312   4173   
new file mode 100644
 3313   4174   
index 0000000..be6b86e
 3314         -
-- /dev/null
        4175  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3315   4176   
@@ -0,0 +1,3 @@
        4177  +
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
        4178  +
Host:example.amazonaws.com
        4179  +
 3316   4180   
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
 3317   4181   
similarity index 99%
 3318   4182   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
 3319   4183   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3320   4184   
index 50edce6..fcc70cd 100644
 3321   4185   
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
 3322   4186   
new file mode 100644
 3323   4187   
index 0000000..a856c10
 3324         -
-- /dev/null
        4188  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3325   4189   
@@ -0,0 +1,2 @@
        4190  +
GET /example1/example2/../.. HTTP/1.1
        4191  +
Host:example.amazonaws.com
 3326   4192   
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
 3327   4193   
new file mode 100644
 3328   4194   
index 0000000..7bee5c7
 3329         -
-- /dev/null
        4195  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3330   4196   
@@ -0,0 +1,12 @@
        4197  +
{
        4198  +
    "credentials": {
        4199  +
        "access_key_id": "AKIDEXAMPLE",
        4200  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4201  +
    },
        4202  +
    "expiration_in_seconds": 3600,
        4203  +
    "normalize": false,
        4204  +
    "region": "us-east-1",
        4205  +
    "service": "service",
        4206  +
    "sign_body": false,
        4207  +
    "timestamp": "2015-08-30T12:36:00Z"
        4208  +
}
              \
 No newline at end of file
 3331   4209   
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
 3332   4210   
similarity index 99%
 3333   4211   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
 3334   4212   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3335   4213   
index d6a0abe..22def1a 100644
 3336   4214   
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
 3337   4215   
new file mode 100644
 3338   4216   
index 0000000..9251bad
 3339         -
-- /dev/null
        4217  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3340   4218   
@@ -0,0 +1 @@
        4219  +
3045022100a85167a37a2c6aea42ef9dcb0dcaeaf85ca4ef1a4d8ffea5be550dbd4573471902202193760e5e6bb1ee4aff836769b9739f4563e06749bcaa7553ec1d1377aa5a6d
              \
 No newline at end of file
 3341   4220   
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
 3342   4221   
new file mode 100644
 3343   4222   
index 0000000..f1bb60f
 3344         -
-- /dev/null
        4223  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3345   4224   
@@ -0,0 +1,6 @@
        4225  +
GET /example/.. HTTP/1.1
        4226  +
Host:example.amazonaws.com
        4227  +
X-Amz-Date:20150830T123600Z
        4228  +
X-Amz-Region-Set:us-east-1
        4229  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402201430c834d8a89aca13ebd785da338950559f71ab29f1b7d7b4ad6b090de1a09702206c8d6089b75105d6fc5df5374bbb8abbc33b78951c95b90f9f6c25a657b58ce6
        4230  +
 3346   4231   
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
 3347   4232   
similarity index 99%
 3348   4233   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
 3349   4234   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3350   4235   
index 4a34e93..5673a20 100644
 3351   4236   
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
 3352   4237   
new file mode 100644
 3353   4238   
index 0000000..379dcb2
 3354         -
-- /dev/null
        4239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3355   4240   
@@ -0,0 +1,4 @@
        4241  +
{
        4242  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4243  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4244  +
}
 3356   4245   
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
 3357   4246   
similarity index 99%
 3358   4247   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
 3359   4248   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3360   4249   
index b1d123e..a1c22e0 100644
 3361   4250   
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
 3362   4251   
new file mode 100644
 3363   4252   
index 0000000..9f0f686
 3364         -
-- /dev/null
        4253  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3365   4254   
@@ -0,0 +1 @@
        4255  +
3045022074d05647e395d4bf3d751953c7242ee27dd16fbae3f604a272d3acc3d72ba5fb022100ddccd95ac05f60f10d5e95c5847b49018bbfa1084361bf338964408cc2162fff
              \
 No newline at end of file
 3366   4256   
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
 3367   4257   
new file mode 100644
 3368   4258   
index 0000000..d1d451a
 3369         -
-- /dev/null
        4259  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3370   4260   
@@ -0,0 +1,3 @@
        4261  +
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
        4262  +
Host:example.amazonaws.com
        4263  +
 3371   4264   
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
 3372   4265   
similarity index 99%
 3373   4266   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
 3374   4267   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3375   4268   
index a17f5ab..81b41e8 100644
 3376   4269   
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
 3377   4270   
new file mode 100644
 3378   4271   
index 0000000..6aa9f99
 3379         -
-- /dev/null
        4272  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3380   4273   
@@ -0,0 +1,2 @@
        4274  +
GET /example/.. HTTP/1.1
        4275  +
Host:example.amazonaws.com
 3381   4276   
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
 3382   4277   
new file mode 100644
 3383   4278   
index 0000000..0468d80
 3384         -
-- /dev/null
        4279  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3385   4280   
@@ -0,0 +1,12 @@
        4281  +
{
        4282  +
    "credentials": {
        4283  +
        "access_key_id": "AKIDEXAMPLE",
        4284  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4285  +
    },
        4286  +
    "expiration_in_seconds": 3600,
        4287  +
    "normalize": true,
        4288  +
    "region": "us-east-1",
        4289  +
    "service": "service",
        4290  +
    "sign_body": false,
        4291  +
    "timestamp": "2015-08-30T12:36:00Z"
        4292  +
}
              \
 No newline at end of file
 3386   4293   
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
 3387   4294   
similarity index 99%
 3388   4295   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
 3389   4296   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3390   4297   
index 47e7128..76db73d 100644
 3391   4298   
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
 3392   4299   
new file mode 100644
 3393   4300   
index 0000000..ca6e84e
 3394         -
-- /dev/null
        4301  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3395   4302   
@@ -0,0 +1 @@
        4303  +
3045022100e8ed39e8b964e06162ab1cddbff57c449a9b72e2d052a7a3e12a116ae30185ee022003e6eb0fddbaa586225b26877ab145e05a08ac418ef7c966e5daef258b70cbfc
              \
 No newline at end of file
 3396   4304   
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
 3397   4305   
new file mode 100644
 3398   4306   
index 0000000..a7c764c
 3399         -
-- /dev/null
        4307  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3400   4308   
@@ -0,0 +1,6 @@
        4309  +
GET /./ HTTP/1.1
        4310  +
Host:example.amazonaws.com
        4311  +
X-Amz-Date:20150830T123600Z
        4312  +
X-Amz-Region-Set:us-east-1
        4313  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207665172b8612dbbd2c1f3c722c52b7b8dac2cdc5203d86252e21d9610018b153022100c548f3f0c23beeb388f8c8138ce1e883e2cdf2be1d7c5d7c15d4e565bfd6b0dd
        4314  +
 3401   4315   
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
 3402   4316   
similarity index 99%
 3403   4317   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
 3404   4318   
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
 3405   4319   
index 95d7219..600f1d8 100644
 3406   4320   
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
 3407   4321   
new file mode 100644
 3408   4322   
index 0000000..379dcb2
 3409         -
-- /dev/null
        4323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3410   4324   
@@ -0,0 +1,4 @@
        4325  +
{
        4326  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4327  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4328  +
}
 3411   4329   
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
 3412   4330   
similarity index 99%
 3413   4331   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
 3414   4332   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3415   4333   
index a34ea26..779c51c 100644
 3416   4334   
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
 3417   4335   
new file mode 100644
 3418   4336   
index 0000000..4b6ed09
 3419         -
-- /dev/null
        4337  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3420   4338   
@@ -0,0 +1 @@
        4339  +
3046022100ea775dcca84dbada39eb9e7d55183c31d7294d1826d965c2ade1730bd20ac7cb022100aaab5325eed9bb3f93814af0fd0170893cbeeff052d0bb554f91a394fd2f5135
              \
 No newline at end of file
 3421   4340   
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
 3422   4341   
new file mode 100644
 3423   4342   
index 0000000..d6c7176
 3424         -
-- /dev/null
        4343  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3425   4344   
@@ -0,0 +1,3 @@
        4345  +
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
        4346  +
Host:example.amazonaws.com
        4347  +
 3426   4348   
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
 3427   4349   
similarity index 99%
 3428   4350   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
 3429   4351   
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
 3430   4352   
index 48f855c..6e29a7e 100644
 3431   4353   
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
 3432   4354   
similarity index 61%
 3433   4355   
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
 3434   4356   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3435   4357   
index f3537b7..2c5ff38 100644
 3436         -
-- 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
        4358  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3437   4359   
@@ -1,3 +1,2 @@
 3438   4360   
GET /./ HTTP/1.1
 3439   4361   
Host:example.amazonaws.com
 3440         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3441   4362   
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
 3442   4363   
new file mode 100644
 3443   4364   
index 0000000..7bee5c7
 3444         -
-- /dev/null
        4365  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3445   4366   
@@ -0,0 +1,12 @@
        4367  +
{
        4368  +
    "credentials": {
        4369  +
        "access_key_id": "AKIDEXAMPLE",
        4370  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4371  +
    },
        4372  +
    "expiration_in_seconds": 3600,
        4373  +
    "normalize": false,
        4374  +
    "region": "us-east-1",
        4375  +
    "service": "service",
        4376  +
    "sign_body": false,
        4377  +
    "timestamp": "2015-08-30T12:36:00Z"
        4378  +
}
              \
 No newline at end of file
 3446   4379   
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
 3447   4380   
similarity index 99%
 3448   4381   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3449   4382   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3450   4383   
index d05303d..9257ac4 100644
 3451   4384   
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
 3452   4385   
new file mode 100644
 3453   4386   
index 0000000..2eb1aa5
 3454         -
-- /dev/null
        4387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3455   4388   
@@ -0,0 +1 @@
        4389  +
30450220430660fe6e8e04ee055a2c56476dcf95c00b3efca267823134664f90a23fdc0f022100f188106c83e13a89e6a487f24d23522520f7a15c40e3aacd0c32284da42c2f5a
              \
 No newline at end of file
 3456   4390   
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
 3457   4391   
new file mode 100644
 3458   4392   
index 0000000..df3b1da
 3459         -
-- /dev/null
        4393  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3460   4394   
@@ -0,0 +1,6 @@
        4395  +
GET /./ HTTP/1.1
        4396  +
Host:example.amazonaws.com
        4397  +
X-Amz-Date:20150830T123600Z
        4398  +
X-Amz-Region-Set:us-east-1
        4399  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022049aaa02168ac9666a94f42238be0a02a7a244b74d6e16bdf64aac7ce8e21e44d02206b9be50186bdd4ee9191c0dd5ccff7e990365bb3b56430653f6fa49a68dbf596
        4400  +
 3461   4401   
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
 3462   4402   
similarity index 99%
 3463   4403   
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
 3464   4404   
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
 3465   4405   
index e1bfb39..754b3ed 100644
 3466   4406   
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
 3467   4407   
new file mode 100644
 3468   4408   
index 0000000..379dcb2
 3469         -
-- /dev/null
        4409  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3470   4410   
@@ -0,0 +1,4 @@
        4411  +
{
        4412  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4413  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4414  +
}
 3471   4415   
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
 3472   4416   
similarity index 99%
 3473   4417   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3474   4418   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3475   4419   
index f048d0f..c8edce3 100644
 3476   4420   
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
 3477   4421   
new file mode 100644
 3478   4422   
index 0000000..d3af3b8
 3479         -
-- /dev/null
        4423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3480   4424   
@@ -0,0 +1 @@
        4425  +
304402207999228e5213710741e030ffa7dfa83ce3676384c5df044431bc854488a08abd0220248ff8a956bbcbc641c0ec4a7853774f44112b1571f861fc5aebf78282fd7e63
              \
 No newline at end of file
 3481   4426   
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
 3482   4427   
new file mode 100644
 3483   4428   
index 0000000..eb38155
 3484         -
-- /dev/null
        4429  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3485   4430   
@@ -0,0 +1,3 @@
        4431  +
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
        4432  +
Host:example.amazonaws.com
        4433  +
 3486   4434   
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
 3487   4435   
similarity index 99%
 3488   4436   
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
 3489   4437   
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
 3490   4438   
index bfcf245..4f20b8f 100644
 3491   4439   
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
 3492   4440   
new file mode 100644
 3493   4441   
index 0000000..2c5ff38
 3494         -
-- /dev/null
        4442  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3495   4443   
@@ -0,0 +1,2 @@
        4444  +
GET /./ HTTP/1.1
        4445  +
Host:example.amazonaws.com
 3496   4446   
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
 3497   4447   
new file mode 100644
 3498   4448   
index 0000000..0468d80
 3499         -
-- /dev/null
        4449  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3500   4450   
@@ -0,0 +1,12 @@
        4451  +
{
        4452  +
    "credentials": {
        4453  +
        "access_key_id": "AKIDEXAMPLE",
        4454  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4455  +
    },
        4456  +
    "expiration_in_seconds": 3600,
        4457  +
    "normalize": true,
        4458  +
    "region": "us-east-1",
        4459  +
    "service": "service",
        4460  +
    "sign_body": false,
        4461  +
    "timestamp": "2015-08-30T12:36:00Z"
        4462  +
}
              \
 No newline at end of file
 3501   4463   
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
 3502   4464   
similarity index 99%
 3503   4465   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
 3504   4466   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3505   4467   
index 47e7128..76db73d 100644
 3506   4468   
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
 3507   4469   
new file mode 100644
 3508   4470   
index 0000000..0c049ca
 3509         -
-- /dev/null
        4471  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 3510   4472   
@@ -0,0 +1 @@
        4473  +
304602210084a7310186a866f81dbe8e546f6931dd7c61586d30664d5c11f5904836f72cfd022100c7d80abdccceb1cbcdbbda8b4f3f0ae1ac6229dce800b21ba8298c582fa96a1c
              \
 No newline at end of file
 3511   4474   
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
 3512   4475   
new file mode 100644
 3513   4476   
index 0000000..f4bb1e1
 3514         -
-- /dev/null
        4477  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 3515   4478   
@@ -0,0 +1,6 @@
        4479  +
GET // HTTP/1.1
        4480  +
Host:example.amazonaws.com
        4481  +
X-Amz-Date:20150830T123600Z
        4482  +
X-Amz-Region-Set:us-east-1
        4483  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207c7fe2e91cdbe4529569d58fc3727507375cff81a56cfa26b387895ab6cdbb25022100d38e283efa5ff27d88f10e7367493b1dc49050ba9474531e4acb3ee30fac3739
        4484  +
 3516   4485   
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
 3517   4486   
similarity index 99%
 3518   4487   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
 3519   4488   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3520   4489   
index 95d7219..600f1d8 100644
 3521   4490   
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
 3522   4491   
new file mode 100644
 3523   4492   
index 0000000..379dcb2
 3524         -
-- /dev/null
        4493  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 3525   4494   
@@ -0,0 +1,4 @@
        4495  +
{
        4496  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4497  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4498  +
}
 3526   4499   
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
 3527   4500   
similarity index 99%
 3528   4501   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
 3529   4502   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3530   4503   
index a34ea26..779c51c 100644
 3531   4504   
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
 3532   4505   
new file mode 100644
 3533   4506   
index 0000000..ca52293
 3534         -
-- /dev/null
        4507  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 3535   4508   
@@ -0,0 +1 @@
        4509  +
3045022100b1c08ec4e9a6313f2de7bd8ce726845ea7a3cc636a21ab7258a3067836a6601b02206b76d7a9845bfb683eb30d126a1dc4657e8b64762d4bfb976da9fa132c4a9bd7
              \
 No newline at end of file
 3536   4510   
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
 3537   4511   
new file mode 100644
 3538   4512   
index 0000000..4a212a9
 3539         -
-- /dev/null
        4513  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 3540   4514   
@@ -0,0 +1,3 @@
        4515  +
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
        4516  +
Host:example.amazonaws.com
        4517  +
 3541   4518   
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
 3542   4519   
similarity index 99%
 3543   4520   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
 3544   4521   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 3545   4522   
index 48f855c..6e29a7e 100644
 3546   4523   
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
 3547   4524   
similarity index 61%
 3548   4525   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
 3549   4526   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3550   4527   
index ede8e3c..25bc21e 100644
 3551         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
        4528  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3552   4529   
@@ -1,3 +1,2 @@
 3553   4530   
GET // HTTP/1.1
 3554   4531   
Host:example.amazonaws.com
 3555         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3556   4532   
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
 3557   4533   
new file mode 100644
 3558   4534   
index 0000000..0468d80
 3559         -
-- /dev/null
        4535  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 3560   4536   
@@ -0,0 +1,12 @@
        4537  +
{
        4538  +
    "credentials": {
        4539  +
        "access_key_id": "AKIDEXAMPLE",
        4540  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4541  +
    },
        4542  +
    "expiration_in_seconds": 3600,
        4543  +
    "normalize": true,
        4544  +
    "region": "us-east-1",
        4545  +
    "service": "service",
        4546  +
    "sign_body": false,
        4547  +
    "timestamp": "2015-08-30T12:36:00Z"
        4548  +
}
              \
 No newline at end of file
 3561   4549   
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
 3562   4550   
similarity index 99%
 3563   4551   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3564   4552   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3565   4553   
index 2e36c20..a51f1ba 100644
 3566   4554   
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
 3567   4555   
new file mode 100644
 3568   4556   
index 0000000..f5c871f
 3569         -
-- /dev/null
        4557  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 3570   4558   
@@ -0,0 +1 @@
        4559  +
304502206b0f9b99fe4e4b3bbcb69dd6ca076c847e676161b6fb4cd2bc776f357ece3d07022100fafc5606c7b1a45aa6ce6a7a3a68b07875315b8f952f9a192a420e407e8d1cef
              \
 No newline at end of file
 3571   4560   
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
 3572   4561   
new file mode 100644
 3573   4562   
index 0000000..bda4718
 3574         -
-- /dev/null
        4563  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 3575   4564   
@@ -0,0 +1,6 @@
        4565  +
GET /./example HTTP/1.1
        4566  +
Host:example.amazonaws.com
        4567  +
X-Amz-Date:20150830T123600Z
        4568  +
X-Amz-Region-Set:us-east-1
        4569  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221008cb5fa4d42bdd0c293d58ce748128be3a41693d25cfd701e281bf0c0bc28f41a022100b863217c8f05146ff1b4282706bc78781b1425c2d36a09127116e852e31fc974
        4570  +
 3576   4571   
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
 3577   4572   
similarity index 99%
 3578   4573   
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
 3579   4574   
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
 3580   4575   
index cd30e8b..2ffe879 100644
 3581   4576   
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
 3582   4577   
new file mode 100644
 3583   4578   
index 0000000..379dcb2
 3584         -
-- /dev/null
        4579  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 3585   4580   
@@ -0,0 +1,4 @@
        4581  +
{
        4582  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4583  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4584  +
}
 3586   4585   
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
 3587   4586   
similarity index 99%
 3588   4587   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3589   4588   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3590   4589   
index 77cf28d..45151ea 100644
 3591   4590   
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
 3592   4591   
new file mode 100644
 3593   4592   
index 0000000..11ad7bf
 3594         -
-- /dev/null
        4593  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 3595   4594   
@@ -0,0 +1 @@
        4595  +
3045022004b3d54ffdc33558a93c158a156ef1b50963d051e58ecb88b6809629d6b93860022100d88f70cb68de54e8abc628cb2325bcb32fab1a207d482010955f844812ad5174
              \
 No newline at end of file
 3596   4596   
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
 3597   4597   
new file mode 100644
 3598   4598   
index 0000000..a7537b1
 3599         -
-- /dev/null
        4599  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 3600   4600   
@@ -0,0 +1,3 @@
        4601  +
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
        4602  +
Host:example.amazonaws.com
        4603  +
 3601   4604   
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
 3602   4605   
similarity index 99%
 3603   4606   
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
 3604   4607   
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
 3605   4608   
index 49d9b24..b486672 100644
 3606   4609   
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
 3607   4610   
similarity index 65%
 3608   4611   
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
 3609   4612   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3610   4613   
index 3c91071..5d919c9 100644
 3611         -
-- 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
        4614  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3612   4615   
@@ -1,3 +1,2 @@
 3613   4616   
GET /./example HTTP/1.1
 3614   4617   
Host:example.amazonaws.com
 3615         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3616   4618   
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
 3617   4619   
new file mode 100644
 3618   4620   
index 0000000..7bee5c7
 3619         -
-- /dev/null
        4621  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 3620   4622   
@@ -0,0 +1,12 @@
        4623  +
{
        4624  +
    "credentials": {
        4625  +
        "access_key_id": "AKIDEXAMPLE",
        4626  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4627  +
    },
        4628  +
    "expiration_in_seconds": 3600,
        4629  +
    "normalize": false,
        4630  +
    "region": "us-east-1",
        4631  +
    "service": "service",
        4632  +
    "sign_body": false,
        4633  +
    "timestamp": "2015-08-30T12:36:00Z"
        4634  +
}
              \
 No newline at end of file
 3621   4635   
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
 3622   4636   
similarity index 99%
 3623   4637   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3624   4638   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3625   4639   
index 4444842..2355a69 100644
 3626   4640   
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
 3627   4641   
new file mode 100644
 3628   4642   
index 0000000..9c8f737
 3629         -
-- /dev/null
        4643  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 3630   4644   
@@ -0,0 +1 @@
        4645  +
3044022056618e95bf64058b8174e9e52790352380946d9a0a4ab332b530a63f497a80800220105ebcd6c6ee9b034157d21e7c81fdfb72ca640961cee9b49de82e5c1f80ac5e
              \
 No newline at end of file
 3631   4646   
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
 3632   4647   
new file mode 100644
 3633   4648   
index 0000000..aa5980d
 3634         -
-- /dev/null
        4649  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 3635   4650   
@@ -0,0 +1,6 @@
        4651  +
GET /./example HTTP/1.1
        4652  +
Host:example.amazonaws.com
        4653  +
X-Amz-Date:20150830T123600Z
        4654  +
X-Amz-Region-Set:us-east-1
        4655  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221009e2c768ae9904c3d04eba53cfbb7460034029fb1f169b51f82623cc53ae25dc7022100bfe47ecde858ad9ae3311bba5a4fd45fcacdb1795cc6825f0939e5d929a464bf
        4656  +
 3636   4657   
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
 3637   4658   
similarity index 99%
 3638   4659   
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
 3639   4660   
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
 3640   4661   
index cc63510..d056816 100644
 3641   4662   
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
 3642   4663   
new file mode 100644
 3643   4664   
index 0000000..379dcb2
 3644         -
-- /dev/null
        4665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 3645   4666   
@@ -0,0 +1,4 @@
        4667  +
{
        4668  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4669  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4670  +
}
 3646   4671   
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
 3647   4672   
similarity index 99%
 3648   4673   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3649   4674   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3650   4675   
index ed2cb2d..df9928e 100644
 3651   4676   
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
 3652   4677   
new file mode 100644
 3653   4678   
index 0000000..bb4d86b
 3654         -
-- /dev/null
        4679  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 3655   4680   
@@ -0,0 +1 @@
        4681  +
304502202c31415712324143f4f20aebbd0f8a2fd4fcdd49d68ac95cd6815db3c0e6407b022100cb46cb62bbd024da2e29445c3378a32057b68b272fb2a08c79bfdcbc398505f3
              \
 No newline at end of file
 3656   4682   
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
 3657   4683   
new file mode 100644
 3658   4684   
index 0000000..0061136
 3659         -
-- /dev/null
        4685  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 3660   4686   
@@ -0,0 +1,3 @@
        4687  +
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
        4688  +
Host:example.amazonaws.com
        4689  +
 3661   4690   
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
 3662   4691   
similarity index 99%
 3663   4692   
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
 3664   4693   
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
 3665   4694   
index c9f3b6d..418f2d6 100644
 3666   4695   
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
 3667   4696   
new file mode 100644
 3668   4697   
index 0000000..5d919c9
 3669         -
-- /dev/null
        4698  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 3670   4699   
@@ -0,0 +1,2 @@
        4700  +
GET /./example HTTP/1.1
        4701  +
Host:example.amazonaws.com
 3671   4702   
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
 3672   4703   
new file mode 100644
 3673   4704   
index 0000000..7bee5c7
 3674         -
-- /dev/null
        4705  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 3675   4706   
@@ -0,0 +1,12 @@
        4707  +
{
        4708  +
    "credentials": {
        4709  +
        "access_key_id": "AKIDEXAMPLE",
        4710  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4711  +
    },
        4712  +
    "expiration_in_seconds": 3600,
        4713  +
    "normalize": false,
        4714  +
    "region": "us-east-1",
        4715  +
    "service": "service",
        4716  +
    "sign_body": false,
        4717  +
    "timestamp": "2015-08-30T12:36:00Z"
        4718  +
}
              \
 No newline at end of file
 3676   4719   
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
 3677   4720   
similarity index 99%
 3678   4721   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
 3679   4722   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 3680   4723   
index 8a4d33b..5f809da 100644
 3681   4724   
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
 3682   4725   
new file mode 100644
 3683   4726   
index 0000000..60179e9
 3684         -
-- /dev/null
        4727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 3685   4728   
@@ -0,0 +1 @@
        4729  +
3046022100fee7e772befdf85d3f9871798d5e08e93ad3f5d5d408b41387ba55714244809b0221008268d33835753dcdbd0a4d149d902eed071c41b70c230ecf56e0120a0f7d72a1
              \
 No newline at end of file
 3686   4730   
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
 3687   4731   
new file mode 100644
 3688   4732   
index 0000000..72bf1b7
 3689         -
-- /dev/null
        4733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 3690   4734   
@@ -0,0 +1,6 @@
        4735  +
GET // HTTP/1.1
        4736  +
Host:example.amazonaws.com
        4737  +
X-Amz-Date:20150830T123600Z
        4738  +
X-Amz-Region-Set:us-east-1
        4739  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022061f03990d40a274470a1621b6e12b64452083a61218be77e48132a965da27377022100cdff18369b7361b1e33bd6cb5b216cdf88d390121447d442f59ccf84eb6489f7
        4740  +
 3691   4741   
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
 3692   4742   
similarity index 99%
 3693   4743   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
 3694   4744   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 3695   4745   
index 874c01c..2b3bf67 100644
 3696   4746   
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
 3697   4747   
new file mode 100644
 3698   4748   
index 0000000..379dcb2
 3699         -
-- /dev/null
        4749  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 3700   4750   
@@ -0,0 +1,4 @@
        4751  +
{
        4752  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4753  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4754  +
}
 3701   4755   
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
 3702   4756   
similarity index 99%
 3703   4757   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
 3704   4758   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 3705   4759   
index 81d7b0b..d10ad29 100644
 3706   4760   
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
 3707   4761   
new file mode 100644
 3708   4762   
index 0000000..d9bd824
 3709         -
-- /dev/null
        4763  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 3710   4764   
@@ -0,0 +1 @@
        4765  +
3045022100abcadf84ed6f4bf5c19df3220b13e370ef093e5e7a5a5093c1a796a3de7804710220568ec0dafd60aa764002ce2ac7c89f403b47142dc7e0e48ded1691929488c88e
              \
 No newline at end of file
 3711   4766   
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
 3712   4767   
new file mode 100644
 3713   4768   
index 0000000..19d1d46
 3714         -
-- /dev/null
        4769  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 3715   4770   
@@ -0,0 +1,3 @@
        4771  +
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
        4772  +
Host:example.amazonaws.com
        4773  +
 3716   4774   
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
 3717   4775   
similarity index 99%
 3718   4776   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
 3719   4777   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 3720   4778   
index 17e5279..24c8a5e 100644
 3721   4779   
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
 3722   4780   
new file mode 100644
 3723   4781   
index 0000000..25bc21e
 3724         -
-- /dev/null
        4782  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 3725   4783   
@@ -0,0 +1,2 @@
        4784  +
GET // HTTP/1.1
        4785  +
Host:example.amazonaws.com
 3726   4786   
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
 3727   4787   
new file mode 100644
 3728   4788   
index 0000000..0468d80
 3729         -
-- /dev/null
        4789  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 3730   4790   
@@ -0,0 +1,12 @@
        4791  +
{
        4792  +
    "credentials": {
        4793  +
        "access_key_id": "AKIDEXAMPLE",
        4794  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4795  +
    },
        4796  +
    "expiration_in_seconds": 3600,
        4797  +
    "normalize": true,
        4798  +
    "region": "us-east-1",
        4799  +
    "service": "service",
        4800  +
    "sign_body": false,
        4801  +
    "timestamp": "2015-08-30T12:36:00Z"
        4802  +
}
              \
 No newline at end of file
 3731   4803   
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
 3732   4804   
similarity index 99%
 3733   4805   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
 3734   4806   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 3735   4807   
index fdf9c48..a8e9e02 100644
 3736   4808   
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
 3737   4809   
new file mode 100644
 3738   4810   
index 0000000..ffe1b60
 3739         -
-- /dev/null
        4811  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 3740   4812   
@@ -0,0 +1 @@
        4813  +
304402205dd203fd6b973e5fb088569ec27db1e267ef4a728f177e88fcc65f299255c0ab02206da878f40c64094595aa4e808849b69025f1c9b9f4be0f0e6ab8cd7a04e81d77
              \
 No newline at end of file
 3741   4814   
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
 3742   4815   
new file mode 100644
 3743   4816   
index 0000000..3189f55
 3744         -
-- /dev/null
        4817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 3745   4818   
@@ -0,0 +1,6 @@
        4819  +
GET //example// HTTP/1.1
        4820  +
Host:example.amazonaws.com
        4821  +
X-Amz-Date:20150830T123600Z
        4822  +
X-Amz-Region-Set:us-east-1
        4823  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203d34870fcc77b0f5a3f6d440cd1cecb75c7e534cfbcc68f60743d308ae92fef602200f9fbaacc5010b9a7e046b1b5ae58764bd32c24c47ef65b63ad9ff756c478e4d
        4824  +
 3746   4825   
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
 3747   4826   
similarity index 99%
 3748   4827   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
 3749   4828   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 3750   4829   
index 8f9c95e..430020e 100644
 3751   4830   
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
 3752   4831   
new file mode 100644
 3753   4832   
index 0000000..379dcb2
 3754         -
-- /dev/null
        4833  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 3755   4834   
@@ -0,0 +1,4 @@
        4835  +
{
        4836  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4837  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4838  +
}
 3756   4839   
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
 3757   4840   
similarity index 99%
 3758   4841   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
 3759   4842   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 3760   4843   
index 1046735..8d41e37 100644
 3761   4844   
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
 3762   4845   
new file mode 100644
 3763   4846   
index 0000000..93a0fa4
 3764         -
-- /dev/null
        4847  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 3765   4848   
@@ -0,0 +1 @@
        4849  +
3045022100dfd2281b396d138207f0e58889bd6cc4d95ffd8d64e6f37ef2a9f2a15cab6944022060d05a747cd4e3c49cb50bf58d834ae917cd1ebd1524a352fb64f4d54f9ba279
              \
 No newline at end of file
 3766   4850   
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
 3767   4851   
new file mode 100644
 3768   4852   
index 0000000..65c8cb6
 3769         -
-- /dev/null
        4853  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 3770   4854   
@@ -0,0 +1,3 @@
        4855  +
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
        4856  +
Host:example.amazonaws.com
        4857  +
 3771   4858   
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
 3772   4859   
similarity index 99%
 3773   4860   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
 3774   4861   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 3775   4862   
index b293cc2..0f4c4c5 100644
 3776   4863   
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
 3777   4864   
similarity index 65%
 3778   4865   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
 3779   4866   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3780   4867   
index a4307ce..12e0931 100644
 3781         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
        4868  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3782   4869   
@@ -1,3 +1,2 @@
 3783   4870   
GET //example// HTTP/1.1
 3784   4871   
Host:example.amazonaws.com
 3785         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3786   4872   
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
 3787   4873   
new file mode 100644
 3788   4874   
index 0000000..7bee5c7
 3789         -
-- /dev/null
        4875  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 3790   4876   
@@ -0,0 +1,12 @@
        4877  +
{
        4878  +
    "credentials": {
        4879  +
        "access_key_id": "AKIDEXAMPLE",
        4880  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4881  +
    },
        4882  +
    "expiration_in_seconds": 3600,
        4883  +
    "normalize": false,
        4884  +
    "region": "us-east-1",
        4885  +
    "service": "service",
        4886  +
    "sign_body": false,
        4887  +
    "timestamp": "2015-08-30T12:36:00Z"
        4888  +
}
              \
 No newline at end of file
 3791   4889   
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
 3792   4890   
similarity index 99%
 3793   4891   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
 3794   4892   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 3795   4893   
index a9c55f6..76f55ed 100644
 3796   4894   
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
 3797   4895   
new file mode 100644
 3798   4896   
index 0000000..de333b2
 3799         -
-- /dev/null
        4897  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 3800   4898   
@@ -0,0 +1 @@
        4899  +
3044022039ccb6afb5f0b574cfc8fec2e9158269bbe28f9e5747acc032d1ea17617f8b2002204933ee3e4ad4ec425c90593a68db99fcece29ae45906dec40c2204290cedf8bd
              \
 No newline at end of file
 3801   4900   
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
 3802   4901   
new file mode 100644
 3803   4902   
index 0000000..773ce63
 3804         -
-- /dev/null
        4903  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 3805   4904   
@@ -0,0 +1,6 @@
        4905  +
GET //example// HTTP/1.1
        4906  +
Host:example.amazonaws.com
        4907  +
X-Amz-Date:20150830T123600Z
        4908  +
X-Amz-Region-Set:us-east-1
        4909  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502202450e5abfccb424d5a0e2d5d1a084e76abc5290ae567a97f5174bfed575fd519022100a5e743040a2bdd3cd7889070e1d190d5782e7591a715370f9bea04dc2702dbab
        4910  +
 3806   4911   
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
 3807   4912   
similarity index 99%
 3808   4913   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
 3809   4914   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 3810   4915   
index 5c4c2cd..46c3265 100644
 3811   4916   
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
 3812   4917   
new file mode 100644
 3813   4918   
index 0000000..379dcb2
 3814         -
-- /dev/null
        4919  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 3815   4920   
@@ -0,0 +1,4 @@
        4921  +
{
        4922  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4923  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4924  +
}
 3816   4925   
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
 3817   4926   
similarity index 99%
 3818   4927   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
 3819   4928   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 3820   4929   
index c878ab4..6047ccf 100644
 3821   4930   
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
 3822   4931   
new file mode 100644
 3823   4932   
index 0000000..d61fcd0
 3824         -
-- /dev/null
        4933  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 3825   4934   
@@ -0,0 +1 @@
        4935  +
3045022100fa1d3e99997a184d59e23fb8bfeca08a5f94f2e7b89b0320d11deacab3593f0f022009c0785ec02c5dda370a3eb714feb51e3b0d56df674571bf7146bf8277897e65
              \
 No newline at end of file
 3826   4936   
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
 3827   4937   
new file mode 100644
 3828   4938   
index 0000000..3e37b5b
 3829         -
-- /dev/null
        4939  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 3830   4940   
@@ -0,0 +1,3 @@
        4941  +
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
        4942  +
Host:example.amazonaws.com
        4943  +
 3831   4944   
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
 3832   4945   
similarity index 99%
 3833   4946   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
 3834   4947   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 3835   4948   
index 5f59645..2537d28 100644
 3836   4949   
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
 3837   4950   
new file mode 100644
 3838   4951   
index 0000000..12e0931
 3839         -
-- /dev/null
        4952  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 3840   4953   
@@ -0,0 +1,2 @@
        4954  +
GET //example// HTTP/1.1
        4955  +
Host:example.amazonaws.com
 3841   4956   
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
 3842   4957   
new file mode 100644
 3843   4958   
index 0000000..0468d80
 3844         -
-- /dev/null
        4959  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 3845   4960   
@@ -0,0 +1,12 @@
        4961  +
{
        4962  +
    "credentials": {
        4963  +
        "access_key_id": "AKIDEXAMPLE",
        4964  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4965  +
    },
        4966  +
    "expiration_in_seconds": 3600,
        4967  +
    "normalize": true,
        4968  +
    "region": "us-east-1",
        4969  +
    "service": "service",
        4970  +
    "sign_body": false,
        4971  +
    "timestamp": "2015-08-30T12:36:00Z"
        4972  +
}
              \
 No newline at end of file
 3846   4973   
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
 3847   4974   
new file mode 100644
 3848   4975   
index 0000000..0b2b616
 3849         -
-- /dev/null
        4976  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 3850   4977   
@@ -0,0 +1,9 @@
        4978  +
GET
        4979  +
/example%20space/
        4980  +
        4981  +
host:example.amazonaws.com
        4982  +
x-amz-date:20150830T123600Z
        4983  +
x-amz-region-set:us-east-1
        4984  +
        4985  +
host;x-amz-date;x-amz-region-set
        4986  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3851   4987   
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
 3852   4988   
new file mode 100644
 3853   4989   
index 0000000..6e7841d
 3854         -
-- /dev/null
        4990  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 3855   4991   
@@ -0,0 +1 @@
        4992  +
304502202292b4f0e4f1495b9ceb3b77349efeffdce42cb5461f810db3983005c1e772ca022100b4b6175661196a82f5b59968315517e1ffdde58d2e3eba10d3bfe171cde625c4
              \
 No newline at end of file
 3856   4993   
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
 3857   4994   
new file mode 100644
 3858   4995   
index 0000000..0969cd3
 3859         -
-- /dev/null
        4996  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 3860   4997   
@@ -0,0 +1,6 @@
        4998  +
GET /example space/ HTTP/1.1
        4999  +
Host:example.amazonaws.com
        5000  +
X-Amz-Date:20150830T123600Z
        5001  +
X-Amz-Region-Set:us-east-1
        5002  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100e8e0ec99a8d287073e078543fdbdeba108cdef097a52c7556874076072350200022100e59d9e0f48209bea00faa47d485d850eb72747db83927a2a43b5ebab5ca2b545
        5003  +
 3861   5004   
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
 3862   5005   
new file mode 100644
 3863   5006   
index 0000000..ddae6e2
 3864         -
-- /dev/null
        5007  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 3865   5008   
@@ -0,0 +1,4 @@
        5009  +
AWS4-ECDSA-P256-SHA256
        5010  +
20150830T123600Z
        5011  +
20150830/service/aws4_request
        5012  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3866   5013   
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
 3867   5014   
new file mode 100644
 3868   5015   
index 0000000..379dcb2
 3869         -
-- /dev/null
        5016  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 3870   5017   
@@ -0,0 +1,4 @@
        5018  +
{
        5019  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5020  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5021  +
}
 3871   5022   
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
 3872   5023   
new file mode 100644
 3873   5024   
index 0000000..a66b3cb
 3874         -
-- /dev/null
        5025  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 3875   5026   
@@ -0,0 +1,7 @@
        5027  +
GET
        5028  +
/example%20space/
        5029  +
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
        5030  +
host:example.amazonaws.com
        5031  +
        5032  +
host
        5033  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3876   5034   
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
 3877   5035   
new file mode 100644
 3878   5036   
index 0000000..b3253ae
 3879         -
-- /dev/null
        5037  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 3880   5038   
@@ -0,0 +1 @@
        5039  +
3045022100fc068fdda7586bec9ac9ed341e7a81bf1e1f8c60fee6e22165868ecac62e404d02200620b5d68b9be75210336618fc0a884439ce1ae93085adb03e27f1ce7ca4912e
              \
 No newline at end of file
 3881   5040   
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
 3882   5041   
new file mode 100644
 3883   5042   
index 0000000..9e335b2
 3884         -
-- /dev/null
        5043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 3885   5044   
@@ -0,0 +1,3 @@
        5045  +
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
        5046  +
Host:example.amazonaws.com
        5047  +
 3886   5048   
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
 3887   5049   
new file mode 100644
 3888   5050   
index 0000000..b6ff6fb
 3889         -
-- /dev/null
        5051  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 3890   5052   
@@ -0,0 +1,4 @@
        5053  +
AWS4-ECDSA-P256-SHA256
        5054  +
20150830T123600Z
        5055  +
20150830/service/aws4_request
        5056  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3891   5057   
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
 3892   5058   
new file mode 100644
 3893   5059   
index 0000000..ab509ab
 3894         -
-- /dev/null
        5060  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 3895   5061   
@@ -0,0 +1,2 @@
        5062  +
GET /example space/ HTTP/1.1
        5063  +
Host:example.amazonaws.com
 3896   5064   
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
 3897   5065   
new file mode 100644
 3898   5066   
index 0000000..7bee5c7
 3899         -
-- /dev/null
        5067  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 3900   5068   
@@ -0,0 +1,12 @@
        5069  +
{
        5070  +
    "credentials": {
        5071  +
        "access_key_id": "AKIDEXAMPLE",
        5072  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5073  +
    },
        5074  +
    "expiration_in_seconds": 3600,
        5075  +
    "normalize": false,
        5076  +
    "region": "us-east-1",
        5077  +
    "service": "service",
        5078  +
    "sign_body": false,
        5079  +
    "timestamp": "2015-08-30T12:36:00Z"
        5080  +
}
              \
 No newline at end of file
 3901   5081   
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
 3902   5082   
new file mode 100644
 3903   5083   
index 0000000..0b2b616
 3904         -
-- /dev/null
        5084  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 3905   5085   
@@ -0,0 +1,9 @@
        5086  +
GET
        5087  +
/example%20space/
        5088  +
        5089  +
host:example.amazonaws.com
        5090  +
x-amz-date:20150830T123600Z
        5091  +
x-amz-region-set:us-east-1
        5092  +
        5093  +
host;x-amz-date;x-amz-region-set
        5094  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3906   5095   
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
 3907   5096   
new file mode 100644
 3908   5097   
index 0000000..e75ae08
 3909         -
-- /dev/null
        5098  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 3910   5099   
@@ -0,0 +1 @@
        5100  +
3046022100881d1dce37131cd3248fa4cfb63f050e8985c3de5a58f654a8b263d52ad576180221009316e13742504474cf33631bb5f2fa89f4990c911ad317be831a6de015cf4054
              \
 No newline at end of file
 3911   5101   
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
 3912   5102   
new file mode 100644
 3913   5103   
index 0000000..cb089db
 3914         -
-- /dev/null
        5104  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 3915   5105   
@@ -0,0 +1,6 @@
        5106  +
GET /example space/ HTTP/1.1
        5107  +
Host:example.amazonaws.com
        5108  +
X-Amz-Date:20150830T123600Z
        5109  +
X-Amz-Region-Set:us-east-1
        5110  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100a26695d793a8e7d2ed2a3495402e9b4bf8e5b05e767d303f57d9515f617ebae5022100c4b89f5648567c08b6d173b6d733f5c012bb615cd38039109f64db56efecc851
        5111  +
 3916   5112   
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
 3917   5113   
new file mode 100644
 3918   5114   
index 0000000..ddae6e2
 3919         -
-- /dev/null
        5115  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 3920   5116   
@@ -0,0 +1,4 @@
        5117  +
AWS4-ECDSA-P256-SHA256
        5118  +
20150830T123600Z
        5119  +
20150830/service/aws4_request
        5120  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3921   5121   
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
 3922   5122   
new file mode 100644
 3923   5123   
index 0000000..379dcb2
 3924         -
-- /dev/null
        5124  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 3925   5125   
@@ -0,0 +1,4 @@
        5126  +
{
        5127  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5128  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5129  +
}
 3926   5130   
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
 3927   5131   
new file mode 100644
 3928   5132   
index 0000000..a66b3cb
 3929         -
-- /dev/null
        5133  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 3930   5134   
@@ -0,0 +1,7 @@
        5135  +
GET
        5136  +
/example%20space/
        5137  +
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
        5138  +
host:example.amazonaws.com
        5139  +
        5140  +
host
        5141  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3931   5142   
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
 3932   5143   
new file mode 100644
 3933   5144   
index 0000000..66a80c3
 3934         -
-- /dev/null
        5145  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 3935   5146   
@@ -0,0 +1 @@
        5147  +
304502201825fe5d62f321a740cbe590ce0c0c17045eed9acbbbd574d3cefbec349d06c5022100bcd482f85374b24d9f1f5000d2de7e12a4e0c8f5277e73d29c41ecc45390e731
              \
 No newline at end of file
 3936   5148   
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
 3937   5149   
new file mode 100644
 3938   5150   
index 0000000..7d1b9d9
 3939         -
-- /dev/null
        5151  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 3940   5152   
@@ -0,0 +1,3 @@
        5153  +
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
        5154  +
Host:example.amazonaws.com
        5155  +
 3941   5156   
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
 3942   5157   
new file mode 100644
 3943   5158   
index 0000000..b6ff6fb
 3944         -
-- /dev/null
        5159  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 3945   5160   
@@ -0,0 +1,4 @@
        5161  +
AWS4-ECDSA-P256-SHA256
        5162  +
20150830T123600Z
        5163  +
20150830/service/aws4_request
        5164  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3946   5165   
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
 3947   5166   
new file mode 100644
 3948   5167   
index 0000000..ab509ab
 3949         -
-- /dev/null
        5168  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 3950   5169   
@@ -0,0 +1,2 @@
        5170  +
GET /example space/ HTTP/1.1
        5171  +
Host:example.amazonaws.com
 3951   5172   
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
 3952   5173   
new file mode 100644
 3953   5174   
index 0000000..0468d80
 3954         -
-- /dev/null
        5175  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 3955   5176   
@@ -0,0 +1,12 @@
        5177  +
{
        5178  +
    "credentials": {
        5179  +
        "access_key_id": "AKIDEXAMPLE",
        5180  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5181  +
    },
        5182  +
    "expiration_in_seconds": 3600,
        5183  +
    "normalize": true,
        5184  +
    "region": "us-east-1",
        5185  +
    "service": "service",
        5186  +
    "sign_body": false,
        5187  +
    "timestamp": "2015-08-30T12:36:00Z"
        5188  +
}
              \
 No newline at end of file
 3956   5189   
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
 3957   5190   
similarity index 99%
 3958   5191   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
 3959   5192   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 3960   5193   
index b0db648..46d76bb 100644
 3961   5194   
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
 3962   5195   
new file mode 100644
 3963   5196   
index 0000000..53c0cb6
 3964         -
-- /dev/null
        5197  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 3965   5198   
@@ -0,0 +1 @@
        5199  +
304502204303d34750ced762f4e5af2c61ba70c9f5830d8a5c7fc418a02823d61673ca32022100c26cf8f38007155cb8bd3e684697063ad8f421a91be796d78b14b126e25d3680
              \
 No newline at end of file
 3966   5200   
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
 3967   5201   
new file mode 100644
 3968   5202   
index 0000000..3bdb653
 3969         -
-- /dev/null
        5203  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 3970   5204   
@@ -0,0 +1,6 @@
        5205  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5206  +
Host:example.amazonaws.com
        5207  +
X-Amz-Date:20150830T123600Z
        5208  +
X-Amz-Region-Set:us-east-1
        5209  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206a228bcbe26141c2c5065525b98ea00b793470e04e655006269f740e320215930220160015e35502fa89a96f5fed59981af0896b60ecea6a68606a0be368bca73f2c
        5210  +
 3971   5211   
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
 3972   5212   
similarity index 99%
 3973   5213   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
 3974   5214   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 3975   5215   
index 20c7cd6..3b30173 100644
 3976   5216   
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
 3977   5217   
new file mode 100644
 3978   5218   
index 0000000..379dcb2
 3979         -
-- /dev/null
        5219  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 3980   5220   
@@ -0,0 +1,4 @@
        5221  +
{
        5222  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5223  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5224  +
}
 3981   5225   
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
 3982   5226   
similarity index 99%
 3983   5227   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
 3984   5228   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 3985   5229   
index f9fb726..7e93f58 100644
 3986   5230   
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
 3987   5231   
new file mode 100644
 3988   5232   
index 0000000..48311a8
 3989         -
-- /dev/null
        5233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 3990   5234   
@@ -0,0 +1 @@
        5235  +
3045022100a8e6e2918ceb211f77810150d828be217af238ca95db6f88264d668ffacefb8b02204122d651c775a3ed8f40f3bfe37a2c8fec28cd53027b599eddd7115e06ca4bb0
              \
 No newline at end of file
 3991   5236   
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
 3992   5237   
new file mode 100644
 3993   5238   
index 0000000..82da9be
 3994         -
-- /dev/null
        5239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 3995   5240   
@@ -0,0 +1,3 @@
        5241  +
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
        5242  +
Host:example.amazonaws.com
        5243  +
 3996   5244   
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
 3997   5245   
similarity index 99%
 3998   5246   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
 3999   5247   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 4000   5248   
index ef06e89..4aab9a2 100644
 4001   5249   
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
 4002   5250   
similarity index 80%
 4003   5251   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
 4004   5252   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4005   5253   
index da760cd..a149694 100644
 4006         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
        5254  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4007   5255   
@@ -1,3 +1,2 @@
 4008   5256   
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4009   5257   
Host:example.amazonaws.com
 4010         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4011   5258   
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
 4012   5259   
new file mode 100644
 4013   5260   
index 0000000..0468d80
 4014         -
-- /dev/null
        5261  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 4015   5262   
@@ -0,0 +1,12 @@
        5263  +
{
        5264  +
    "credentials": {
        5265  +
        "access_key_id": "AKIDEXAMPLE",
        5266  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5267  +
    },
        5268  +
    "expiration_in_seconds": 3600,
        5269  +
    "normalize": true,
        5270  +
    "region": "us-east-1",
        5271  +
    "service": "service",
        5272  +
    "sign_body": false,
        5273  +
    "timestamp": "2015-08-30T12:36:00Z"
        5274  +
}
              \
 No newline at end of file
 4016   5275   
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
 4017   5276   
new file mode 100644
 4018   5277   
index 0000000..0f1afe7
 4019         -
-- /dev/null
        5278  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 4020   5279   
@@ -0,0 +1,9 @@
        5280  +
GET
        5281  +
/%E1%88%B4
        5282  +
        5283  +
host:example.amazonaws.com
        5284  +
x-amz-date:20150830T123600Z
        5285  +
x-amz-region-set:us-east-1
        5286  +
        5287  +
host;x-amz-date;x-amz-region-set
        5288  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4021   5289   
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
 4022   5290   
new file mode 100644
 4023   5291   
index 0000000..4b9af6c
 4024         -
-- /dev/null
        5292  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 4025   5293   
@@ -0,0 +1 @@
        5294  +
3044022009b73628ce2929e224b781c591bdc93fc3381cef5f63992eefb82a286276fa0902203cbc6071d1be7b8c91ec0a04b921881c48cbea2a0a86481f6fa7a983e36190c0
              \
 No newline at end of file
 4026   5295   
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
 4027   5296   
new file mode 100644
 4028   5297   
index 0000000..d42d7b3
 4029         -
-- /dev/null
        5298  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 4030   5299   
@@ -0,0 +1,6 @@
        5300  +
GET /ሴ HTTP/1.1
        5301  +
Host:example.amazonaws.com
        5302  +
X-Amz-Date:20150830T123600Z
        5303  +
X-Amz-Region-Set:us-east-1
        5304  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210082c462efc22f340d7d20b19e0c9b38400e9395bedd9269e01e959ef915ca2846022050d38df1572786ef8befe01d888335c15b0f17fb1d795858fa3cb79e060ba375
        5305  +
 4031   5306   
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
 4032   5307   
new file mode 100644
 4033   5308   
index 0000000..0827f62
 4034         -
-- /dev/null
        5309  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 4035   5310   
@@ -0,0 +1,4 @@
        5311  +
AWS4-ECDSA-P256-SHA256
        5312  +
20150830T123600Z
        5313  +
20150830/service/aws4_request
        5314  +
7c8a7084825e715f0e217a7470ce3611bcfedb5b70329d9b36bba5cefd39c11a
              \
 No newline at end of file
 4036   5315   
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
 4037   5316   
new file mode 100644
 4038   5317   
index 0000000..379dcb2
 4039         -
-- /dev/null
        5318  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 4040   5319   
@@ -0,0 +1,4 @@
        5320  +
{
        5321  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5322  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5323  +
}
 4041   5324   
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
 4042   5325   
new file mode 100644
 4043   5326   
index 0000000..a41a2f8
 4044         -
-- /dev/null
        5327  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 4045   5328   
@@ -0,0 +1,7 @@
        5329  +
GET
        5330  +
/%E1%88%B4
        5331  +
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
        5332  +
host:example.amazonaws.com
        5333  +
        5334  +
host
        5335  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4046   5336   
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
 4047   5337   
new file mode 100644
 4048   5338   
index 0000000..a5c7f4f
 4049         -
-- /dev/null
        5339  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 4050   5340   
@@ -0,0 +1 @@
        5341  +
30460221008cf2ac3d46b7529fe7b73add56626a546fc9372b458e197dbd355198465e0918022100c059b86e01bd11d31c5fe19ee7c73fe3b8058ad2cebe2fe74c779c4a6a95684a
              \
 No newline at end of file
 4051   5342   
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
 4052   5343   
new file mode 100644
 4053   5344   
index 0000000..492ed33
 4054         -
-- /dev/null
        5345  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 4055   5346   
@@ -0,0 +1,3 @@
        5347  +
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
        5348  +
Host:example.amazonaws.com
        5349  +
 4056   5350   
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
 4057   5351   
new file mode 100644
 4058   5352   
index 0000000..a93108f
 4059         -
-- /dev/null
        5353  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 4060   5354   
@@ -0,0 +1,4 @@
        5355  +
AWS4-ECDSA-P256-SHA256
        5356  +
20150830T123600Z
        5357  +
20150830/service/aws4_request
        5358  +
b77c78c8276c5eac930db70b21b69b34d0c2560e1a963ab28e28481ef6a4ff66
              \
 No newline at end of file
 4061   5359   
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
 4062   5360   
new file mode 100644
 4063   5361   
index 0000000..9e273f6
 4064         -
-- /dev/null
        5362  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 4065   5363   
@@ -0,0 +1,2 @@
        5364  +
GET /ሴ HTTP/1.1
        5365  +
Host:example.amazonaws.com
 4066   5366   
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
 4067   5367   
new file mode 100644
 4068   5368   
index 0000000..0468d80
 4069         -
-- /dev/null
        5369  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 4070   5370   
@@ -0,0 +1,12 @@
        5371  +
{
        5372  +
    "credentials": {
        5373  +
        "access_key_id": "AKIDEXAMPLE",
        5374  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5375  +
    },
        5376  +
    "expiration_in_seconds": 3600,
        5377  +
    "normalize": true,
        5378  +
    "region": "us-east-1",
        5379  +
    "service": "service",
        5380  +
    "sign_body": false,
        5381  +
    "timestamp": "2015-08-30T12:36:00Z"
        5382  +
}
              \
 No newline at end of file
 4071   5383   
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
 4072   5384   
similarity index 99%
 4073   5385   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
 4074   5386   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4075   5387   
index bb9d4bf..edc0bb4 100644
 4076   5388   
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
 4077   5389   
new file mode 100644
 4078   5390   
index 0000000..ee9a272
 4079         -
-- /dev/null
        5391  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 4080   5392   
@@ -0,0 +1 @@
        5393  +
3044022075e5fe54105695e4af6f5b59ff39f4f1d84de3bfdd546a6b9212936a78e743ac02204f25f3b9826688eb9743088f426eabd6b306432fd2c4c5c5aa2bbb9058267542
              \
 No newline at end of file
 4081   5394   
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
 4082   5395   
new file mode 100644
 4083   5396   
index 0000000..2090343
 4084         -
-- /dev/null
        5397  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 4085   5398   
@@ -0,0 +1,6 @@
        5399  +
GET /?Param1=value1 HTTP/1.1
        5400  +
Host:example.amazonaws.com
        5401  +
X-Amz-Date:20150830T123600Z
        5402  +
X-Amz-Region-Set:us-east-1
        5403  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210093d40fe05684ddadfadfafc4b8565d18ca94d590fc897577224bf09696bbde6102206f12bb5e2503781303cf6880c0a2136d4b820221eb9d6ac5ad61378b16b8ea5d
        5404  +
 4086   5405   
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
 4087   5406   
similarity index 99%
 4088   5407   
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
 4089   5408   
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
 4090   5409   
index a176f1d..06ed74f 100644
 4091   5410   
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
 4092   5411   
new file mode 100644
 4093   5412   
index 0000000..379dcb2
 4094         -
-- /dev/null
        5413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 4095   5414   
@@ -0,0 +1,4 @@
        5415  +
{
        5416  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5417  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5418  +
}
 4096   5419   
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
 4097   5420   
similarity index 99%
 4098   5421   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
 4099   5422   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4100   5423   
index 344384b..a875d70 100644
 4101   5424   
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
 4102   5425   
new file mode 100644
 4103   5426   
index 0000000..ef93624
 4104         -
-- /dev/null
        5427  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 4105   5428   
@@ -0,0 +1 @@
        5429  +
30460221009a9e99aefe8effed47320e6e9f54cb943e2f72ce638ed7aae2a6711240304b82022100a90e99f053dd51912a6993299229e19aebbd81e68d4d24a1bdedcc6717c9f456
              \
 No newline at end of file
 4106   5430   
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
 4107   5431   
new file mode 100644
 4108   5432   
index 0000000..92829f7
 4109         -
-- /dev/null
        5433  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 4110   5434   
@@ -0,0 +1,3 @@
        5435  +
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
        5436  +
Host:example.amazonaws.com
        5437  +
 4111   5438   
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
 4112   5439   
similarity index 99%
 4113   5440   
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
 4114   5441   
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
 4115   5442   
index b625052..4ff9191 100644
 4116   5443   
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
 4117   5444   
similarity index 67%
 4118   5445   
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
 4119   5446   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4120   5447   
index 970d0a0..f4a03bb 100644
 4121         -
-- 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
        5448  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4122   5449   
@@ -1,3 +1,2 @@
 4123   5450   
GET /?Param1=value1 HTTP/1.1
 4124   5451   
Host:example.amazonaws.com
 4125         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4126   5452   
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
 4127   5453   
new file mode 100644
 4128   5454   
index 0000000..0468d80
 4129         -
-- /dev/null
        5455  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 4130   5456   
@@ -0,0 +1,12 @@
        5457  +
{
        5458  +
    "credentials": {
        5459  +
        "access_key_id": "AKIDEXAMPLE",
        5460  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5461  +
    },
        5462  +
    "expiration_in_seconds": 3600,
        5463  +
    "normalize": true,
        5464  +
    "region": "us-east-1",
        5465  +
    "service": "service",
        5466  +
    "sign_body": false,
        5467  +
    "timestamp": "2015-08-30T12:36:00Z"
        5468  +
}
              \
 No newline at end of file
 4131   5469   
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
 4132   5470   
new file mode 100644
 4133   5471   
index 0000000..da07537
 4134         -
-- /dev/null
        5472  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 4135   5473   
@@ -0,0 +1,9 @@
        5474  +
GET
        5475  +
/
        5476  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        5477  +
host:example.amazonaws.com
        5478  +
x-amz-date:20150830T123600Z
        5479  +
x-amz-region-set:us-east-1
        5480  +
        5481  +
host;x-amz-date;x-amz-region-set
        5482  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4136   5483   
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
 4137   5484   
new file mode 100644
 4138   5485   
index 0000000..edb21e5
 4139         -
-- /dev/null
        5486  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 4140   5487   
@@ -0,0 +1 @@
        5488  +
304402201c9d8aa856d87542e2fc29ccb3841bf604d7582a8ab2ca8e6c9e21c98693f35502207052f84ecd1dc8b6468a536e9d1bdc990cf14bae8142c1cc945f15bcf0e87613
              \
 No newline at end of file
 4141   5489   
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
 4142   5490   
new file mode 100644
 4143   5491   
index 0000000..e60394c
 4144         -
-- /dev/null
        5492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 4145   5493   
@@ -0,0 +1,6 @@
        5494  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5495  +
Host:example.amazonaws.com
        5496  +
X-Amz-Date:20150830T123600Z
        5497  +
X-Amz-Region-Set:us-east-1
        5498  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100cef3137947f52af13fe5591d4ddcff0260176e7b2a668b43ac8f0cba2e489fe502203b4fe53c9fe3e8925643fe0e4c3ec0b3ea6262917bf7300d2e2abb399078e6de
        5499  +
 4146   5500   
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
 4147   5501   
new file mode 100644
 4148   5502   
index 0000000..1dfc886
 4149         -
-- /dev/null
        5503  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 4150   5504   
@@ -0,0 +1,4 @@
        5505  +
AWS4-ECDSA-P256-SHA256
        5506  +
20150830T123600Z
        5507  +
20150830/service/aws4_request
        5508  +
55568a29040b287c72015a5ab482d9aaceeb1e9881f3bc946378bc3d6079f6a5
              \
 No newline at end of file
 4151   5509   
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
 4152   5510   
new file mode 100644
 4153   5511   
index 0000000..379dcb2
 4154         -
-- /dev/null
        5512  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 4155   5513   
@@ -0,0 +1,4 @@
        5514  +
{
        5515  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5516  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5517  +
}
 4156   5518   
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
 4157   5519   
new file mode 100644
 4158   5520   
index 0000000..e94dc0c
 4159         -
-- /dev/null
        5521  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 4160   5522   
@@ -0,0 +1,7 @@
        5523  +
GET
        5524  +
/
        5525  +
%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
        5526  +
host:example.amazonaws.com
        5527  +
        5528  +
host
        5529  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4161   5530   
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
 4162   5531   
new file mode 100644
 4163   5532   
index 0000000..7489437
 4164         -
-- /dev/null
        5533  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4165   5534   
@@ -0,0 +1 @@
        5535  +
3046022100dcc853d7fbd59ceebd1ac57d404b979a7252cf88c79dcc6d58167902750235fd022100ffa98128e35b03aa434287165980f78533e9e6dfc80373cea82b047f4f0554ee
              \
 No newline at end of file
 4166   5536   
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
 4167   5537   
new file mode 100644
 4168   5538   
index 0000000..90c0e73
 4169         -
-- /dev/null
        5539  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4170   5540   
@@ -0,0 +1,3 @@
        5541  +
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
        5542  +
Host:example.amazonaws.com
        5543  +
 4171   5544   
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
 4172   5545   
new file mode 100644
 4173   5546   
index 0000000..ab8a711
 4174         -
-- /dev/null
        5547  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4175   5548   
@@ -0,0 +1,4 @@
        5549  +
AWS4-ECDSA-P256-SHA256
        5550  +
20150830T123600Z
        5551  +
20150830/service/aws4_request
        5552  +
56d9ab07692614338f2aa44f1018ad4102b19305fba8b83383d2d7c6ca816614
              \
 No newline at end of file
 4176   5553   
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
 4177   5554   
new file mode 100644
 4178   5555   
index 0000000..368c6e3
 4179         -
-- /dev/null
        5556  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4180   5557   
@@ -0,0 +1,2 @@
        5558  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5559  +
Host:example.amazonaws.com
 4181   5560   
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
 4182   5561   
new file mode 100644
 4183   5562   
index 0000000..0468d80
 4184         -
-- /dev/null
        5563  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4185   5564   
@@ -0,0 +1,12 @@
        5565  +
{
        5566  +
    "credentials": {
        5567  +
        "access_key_id": "AKIDEXAMPLE",
        5568  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5569  +
    },
        5570  +
    "expiration_in_seconds": 3600,
        5571  +
    "normalize": true,
        5572  +
    "region": "us-east-1",
        5573  +
    "service": "service",
        5574  +
    "sign_body": false,
        5575  +
    "timestamp": "2015-08-30T12:36:00Z"
        5576  +
}
              \
 No newline at end of file
 4186   5577   
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
 4187   5578   
similarity index 99%
 4188   5579   
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
 4189   5580   
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
 4190   5581   
index 74f625a..3db56f7 100644
 4191   5582   
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
 4192   5583   
new file mode 100644
 4193   5584   
index 0000000..e6042bc
 4194         -
-- /dev/null
        5585  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4195   5586   
@@ -0,0 +1 @@
        5587  +
3045022100b342b0d62487d235a5baf82e970102670a8d7af34c61f086125d204a90724d9e022070304e846de3de228c57e528b61f4addfdb5fa788a8a452e483c6a286d8803f5
              \
 No newline at end of file
 4196   5588   
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
 4197   5589   
new file mode 100644
 4198   5590   
index 0000000..5505969
 4199         -
-- /dev/null
        5591  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4200   5592   
@@ -0,0 +1,6 @@
        5593  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        5594  +
Host:example.amazonaws.com
        5595  +
X-Amz-Date:20150830T123600Z
        5596  +
X-Amz-Region-Set:us-east-1
        5597  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220394fa0699225f403514cb4db03b7c479f64c5f9864bf520b871bb23a054d6517022100d4445c909fc62a43c6c485a8582621e0e14c6ef1e4218072bc2dcaffc1188f18
        5598  +
 4201   5599   
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
 4202   5600   
similarity index 99%
 4203   5601   
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
 4204   5602   
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
 4205   5603   
index 44873b7..e8f5e31 100644
 4206   5604   
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
 4207   5605   
new file mode 100644
 4208   5606   
index 0000000..379dcb2
 4209         -
-- /dev/null
        5607  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4210   5608   
@@ -0,0 +1,4 @@
        5609  +
{
        5610  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5611  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5612  +
}
 4211   5613   
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
 4212   5614   
similarity index 99%
 4213   5615   
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
 4214   5616   
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
 4215   5617   
index 6d30727..3fe6a9f 100644
 4216   5618   
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
 4217   5619   
new file mode 100644
 4218   5620   
index 0000000..3f35de8
 4219         -
-- /dev/null
        5621  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4220   5622   
@@ -0,0 +1 @@
        5623  +
304402207c976c47b1bcf7333ad10fcf78498bb14a368a6cd8f58703d47c9e91c4468c13022059a3715bafae9410271bf3355ccd0bbc622fe90f3c0168203d83323297789de5
              \
 No newline at end of file
 4221   5624   
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
 4222   5625   
new file mode 100644
 4223   5626   
index 0000000..30b336b
 4224         -
-- /dev/null
        5627  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4225   5628   
@@ -0,0 +1,3 @@
        5629  +
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
        5630  +
Host:example.amazonaws.com
        5631  +
 4226   5632   
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
 4227   5633   
similarity index 99%
 4228   5634   
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
 4229   5635   
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
 4230   5636   
index 99d0510..7f0565f 100644
 4231   5637   
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
 4232   5638   
similarity index 100%
 4233   5639   
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
 4234   5640   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 4235   5641   
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
 4236   5642   
new file mode 100644
 4237   5643   
index 0000000..0468d80
 4238         -
-- /dev/null
        5644  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 4239   5645   
@@ -0,0 +1,12 @@
        5646  +
{
        5647  +
    "credentials": {
        5648  +
        "access_key_id": "AKIDEXAMPLE",
        5649  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5650  +
    },
        5651  +
    "expiration_in_seconds": 3600,
        5652  +
    "normalize": true,
        5653  +
    "region": "us-east-1",
        5654  +
    "service": "service",
        5655  +
    "sign_body": false,
        5656  +
    "timestamp": "2015-08-30T12:36:00Z"
        5657  +
}
              \
 No newline at end of file
 4240   5658   
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
 4241   5659   
similarity index 99%
 4242   5660   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
 4243   5661   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4244   5662   
index 816c862..cc4537a 100644
 4245   5663   
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
 4246   5664   
new file mode 100644
 4247   5665   
index 0000000..70d38c1
 4248         -
-- /dev/null
        5666  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 4249   5667   
@@ -0,0 +1 @@
        5668  +
3045022100ce7ae9d07bea650598803710644006d47de14a884d0777abd71ccf76164a36c70220256f34ad94c5cb1291a05f7680c2a0068c51d2a31a4e2fe2100d4a58197565ed
              \
 No newline at end of file
 4250   5669   
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
 4251   5670   
new file mode 100644
 4252   5671   
index 0000000..0647eea
 4253         -
-- /dev/null
        5672  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 4254   5673   
@@ -0,0 +1,6 @@
        5674  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5675  +
Host:example.amazonaws.com
        5676  +
X-Amz-Date:20150830T123600Z
        5677  +
X-Amz-Region-Set:us-east-1
        5678  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220023b0ce37b4e3f7fe6b6e155dab72846b461d22ff4820f019a07afef476f61ee022100f985e993037270cc48ac905b360046d077770a2b28aa829ea909430b1b3ed8aa
        5679  +
 4255   5680   
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
 4256   5681   
similarity index 99%
 4257   5682   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
 4258   5683   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 4259   5684   
index 6129fc5..cc19d14 100644
 4260   5685   
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
 4261   5686   
new file mode 100644
 4262   5687   
index 0000000..379dcb2
 4263         -
-- /dev/null
        5688  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 4264   5689   
@@ -0,0 +1,4 @@
        5690  +
{
        5691  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5692  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5693  +
}
 4265   5694   
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
 4266   5695   
similarity index 99%
 4267   5696   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
 4268   5697   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 4269   5698   
index b77ee9f..ed6a10e 100644
 4270   5699   
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
 4271   5700   
new file mode 100644
 4272   5701   
index 0000000..2ceba7b
 4273         -
-- /dev/null
        5702  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 4274   5703   
@@ -0,0 +1 @@
        5704  +
30450220720698c40b04f1a2e1f94e91ed9a59f8b2a2e70cb55e6dd245d0aec039cad6ea022100b2076666b780735e1ddabf773f141ff49f8df3686ffb6c4c7798ba22470e3819
              \
 No newline at end of file
 4275   5705   
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
 4276   5706   
new file mode 100644
 4277   5707   
index 0000000..0cd6d0a
 4278         -
-- /dev/null
        5708  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 4279   5709   
@@ -0,0 +1,3 @@
        5710  +
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
        5711  +
Host:example.amazonaws.com
        5712  +
 4280   5713   
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
 4281   5714   
similarity index 99%
 4282   5715   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
 4283   5716   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 4284   5717   
index 1cfed7a..aad1421 100644
 4285   5718   
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
 4286   5719   
similarity index 86%
 4287   5720   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
 4288   5721   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4289   5722   
index d2833b3..36b2fe3 100644
 4290         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
        5723  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4291   5724   
@@ -1,3 +1,2 @@
 4292   5725   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4293   5726   
Host:example.amazonaws.com
 4294         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4295   5727   
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
 4296   5728   
new file mode 100644
 4297   5729   
index 0000000..0468d80
 4298         -
-- /dev/null
        5730  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 4299   5731   
@@ -0,0 +1,12 @@
        5732  +
{
        5733  +
    "credentials": {
        5734  +
        "access_key_id": "AKIDEXAMPLE",
        5735  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5736  +
    },
        5737  +
    "expiration_in_seconds": 3600,
        5738  +
    "normalize": true,
        5739  +
    "region": "us-east-1",
        5740  +
    "service": "service",
        5741  +
    "sign_body": false,
        5742  +
    "timestamp": "2015-08-30T12:36:00Z"
        5743  +
}
              \
 No newline at end of file
 4300   5744   
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
 4301   5745   
new file mode 100644
 4302   5746   
index 0000000..76db73d
 4303         -
-- /dev/null
        5747  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 4304   5748   
@@ -0,0 +1,9 @@
        5749  +
GET
        5750  +
/
        5751  +
        5752  +
host:example.amazonaws.com
        5753  +
x-amz-date:20150830T123600Z
        5754  +
x-amz-region-set:us-east-1
        5755  +
        5756  +
host;x-amz-date;x-amz-region-set
        5757  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4305   5758   
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
 4306   5759   
new file mode 100644
 4307   5760   
index 0000000..281cc62
 4308         -
-- /dev/null
        5761  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 4309   5762   
@@ -0,0 +1 @@
        5763  +
304402202f36c5363f01990fac07fb18efd255fb82fa3807a8a84946f0b5ac2b71ac96f5022068a86869075a8ca0fe4f875f6a07af6df16538f156dba648c9a96b7c3d687924
              \
 No newline at end of file
 4310   5764   
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
 4311   5765   
new file mode 100644
 4312   5766   
index 0000000..cce9925
 4313         -
-- /dev/null
        5767  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 4314   5768   
@@ -0,0 +1,6 @@
        5769  +
GET / HTTP/1.1
        5770  +
Host:example.amazonaws.com
        5771  +
X-Amz-Date:20150830T123600Z
        5772  +
X-Amz-Region-Set:us-east-1
        5773  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502201f8540fba7741deef60d162a2cf5a8abece28db296174e82420ae6790d93b8af022100d3109ac9ec7995b9e976efa2c54b278d3fab0737e3c73483771773d2061d8f3f
        5774  +
 4315   5775   
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
 4316   5776   
new file mode 100644
 4317   5777   
index 0000000..600f1d8
 4318         -
-- /dev/null
        5778  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 4319   5779   
@@ -0,0 +1,4 @@
        5780  +
AWS4-ECDSA-P256-SHA256
        5781  +
20150830T123600Z
        5782  +
20150830/service/aws4_request
        5783  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4320   5784   
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
 4321   5785   
new file mode 100644
 4322   5786   
index 0000000..379dcb2
 4323         -
-- /dev/null
        5787  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 4324   5788   
@@ -0,0 +1,4 @@
        5789  +
{
        5790  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5791  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5792  +
}
 4325   5793   
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
 4326   5794   
new file mode 100644
 4327   5795   
index 0000000..779c51c
 4328         -
-- /dev/null
        5796  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 4329   5797   
@@ -0,0 +1,7 @@
        5798  +
GET
        5799  +
/
        5800  +
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
        5801  +
host:example.amazonaws.com
        5802  +
        5803  +
host
        5804  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4330   5805   
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
 4331   5806   
new file mode 100644
 4332   5807   
index 0000000..2979e5e
 4333         -
-- /dev/null
        5808  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 4334   5809   
@@ -0,0 +1 @@
        5810  +
304402203840161a4739cd19b33c2186657554e140b84ce1fe9021074f154410b97ffad002200606f4430d72826616b2cd47590fcee42bbf23cb0287458389a43f9e6edd897d
              \
 No newline at end of file
 4335   5811   
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
 4336   5812   
new file mode 100644
 4337   5813   
index 0000000..1b3179c
 4338         -
-- /dev/null
        5814  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 4339   5815   
@@ -0,0 +1,3 @@
        5816  +
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
        5817  +
Host:example.amazonaws.com
        5818  +
 4340   5819   
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
 4341   5820   
new file mode 100644
 4342   5821   
index 0000000..6e29a7e
 4343         -
-- /dev/null
        5822  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 4344   5823   
@@ -0,0 +1,4 @@
        5824  +
AWS4-ECDSA-P256-SHA256
        5825  +
20150830T123600Z
        5826  +
20150830/service/aws4_request
        5827  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4345   5828   
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
 4346   5829   
similarity index 60%
 4347   5830   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
 4348   5831   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4349   5832   
index 0f7a9bf..e659c3b 100644
 4350         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
        5833  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4351   5834   
@@ -1,3 +1,2 @@
 4352   5835   
GET / HTTP/1.1
 4353   5836   
Host:example.amazonaws.com
 4354         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4355   5837   
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
 4356   5838   
new file mode 100644
 4357   5839   
index 0000000..0468d80
 4358         -
-- /dev/null
        5840  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 4359   5841   
@@ -0,0 +1,12 @@
        5842  +
{
        5843  +
    "credentials": {
        5844  +
        "access_key_id": "AKIDEXAMPLE",
        5845  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5846  +
    },
        5847  +
    "expiration_in_seconds": 3600,
        5848  +
    "normalize": true,
        5849  +
    "region": "us-east-1",
        5850  +
    "service": "service",
        5851  +
    "sign_body": false,
        5852  +
    "timestamp": "2015-08-30T12:36:00Z"
        5853  +
}
              \
 No newline at end of file
 4360   5854   
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
 4361   5855   
new file mode 100644
 4362   5856   
index 0000000..8841ddf
 4363         -
-- /dev/null
        5857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 4364   5858   
@@ -0,0 +1,9 @@
        5859  +
GET
        5860  +
/
        5861  +
%E1%88%B4=bar
        5862  +
host:example.amazonaws.com
        5863  +
x-amz-date:20150830T123600Z
        5864  +
x-amz-region-set:us-east-1
        5865  +
        5866  +
host;x-amz-date;x-amz-region-set
        5867  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4365   5868   
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
 4366   5869   
new file mode 100644
 4367   5870   
index 0000000..1497add
 4368         -
-- /dev/null
        5871  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 4369   5872   
@@ -0,0 +1 @@
        5873  +
3046022100b47fe24b090d857f34597a58a4e8acd0ea9639462e606af7e1fa1e2c3fae1d630221008ce7f870adf7d2c06f299da0c9870402b027c6a50ff027881655a664ff294cc3
              \
 No newline at end of file
 4370   5874   
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
 4371   5875   
new file mode 100644
 4372   5876   
index 0000000..961bc10
 4373         -
-- /dev/null
        5877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 4374   5878   
@@ -0,0 +1,6 @@
        5879  +
GET /?ሴ=bar HTTP/1.1
        5880  +
Host:example.amazonaws.com
        5881  +
X-Amz-Date:20150830T123600Z
        5882  +
X-Amz-Region-Set:us-east-1
        5883  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502206e0b9d70bb0413a557946314e04739d721c9f301d452c072590edfdcb9320572022100846f242fb0346c8c56c76a6f0e70c521d7ac02742f09c2e7b5253f1e9afe5a44
        5884  +
 4375   5885   
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
 4376   5886   
new file mode 100644
 4377   5887   
index 0000000..e78ed70
 4378         -
-- /dev/null
        5888  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 4379   5889   
@@ -0,0 +1,4 @@
        5890  +
AWS4-ECDSA-P256-SHA256
        5891  +
20150830T123600Z
        5892  +
20150830/service/aws4_request
        5893  +
b27131d754045e85823698b1fe3fc9694c17b16d97f4c43cef2359a1233c7b76
              \
 No newline at end of file
 4380   5894   
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
 4381   5895   
new file mode 100644
 4382   5896   
index 0000000..379dcb2
 4383         -
-- /dev/null
        5897  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 4384   5898   
@@ -0,0 +1,4 @@
        5899  +
{
        5900  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5901  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5902  +
}
 4385   5903   
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
 4386   5904   
new file mode 100644
 4387   5905   
index 0000000..6d5ae93
 4388         -
-- /dev/null
        5906  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 4389   5907   
@@ -0,0 +1,7 @@
        5908  +
GET
        5909  +
/
        5910  +
%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
        5911  +
host:example.amazonaws.com
        5912  +
        5913  +
host
        5914  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4390   5915   
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
 4391   5916   
new file mode 100644
 4392   5917   
index 0000000..92107f2
 4393         -
-- /dev/null
        5918  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 4394   5919   
@@ -0,0 +1 @@
        5920  +
3044022076d8b03a19db63abc106c50f13487d5363f1eac2c77bc4eda764eadba8f84c6502205c0aa76554ba223a97958be9ff34aca35d84cb7b8c7ba698793ead9e6788e241
              \
 No newline at end of file
 4395   5921   
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
 4396   5922   
new file mode 100644
 4397   5923   
index 0000000..bb8a75b
 4398         -
-- /dev/null
        5924  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 4399   5925   
@@ -0,0 +1,3 @@
        5926  +
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
        5927  +
Host:example.amazonaws.com
        5928  +
 4400   5929   
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
 4401   5930   
new file mode 100644
 4402   5931   
index 0000000..9fa94c7
 4403         -
-- /dev/null
        5932  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 4404   5933   
@@ -0,0 +1,4 @@
        5934  +
AWS4-ECDSA-P256-SHA256
        5935  +
20150830T123600Z
        5936  +
20150830/service/aws4_request
        5937  +
e22d57192c68232f914afff959b8aa1027756098f879c7d4d7615a2469f85c1f
              \
 No newline at end of file
 4405   5938   
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
 4406   5939   
new file mode 100644
 4407   5940   
index 0000000..aff333a
 4408         -
-- /dev/null
        5941  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 4409   5942   
@@ -0,0 +1,2 @@
        5943  +
GET /?ሴ=bar HTTP/1.1
        5944  +
Host:example.amazonaws.com
 4410   5945   
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
 4411   5946   
new file mode 100644
 4412   5947   
index 0000000..a334e18
 4413         -
-- /dev/null
        5948  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 4414   5949   
@@ -0,0 +1,13 @@
        5950  +
{
        5951  +
    "credentials": {
        5952  +
        "access_key_id": "AKIDEXAMPLE",
        5953  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        5954  +
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
        5955  +
    },
        5956  +
    "expiration_in_seconds": 3600,
        5957  +
    "normalize": true,
        5958  +
    "region": "us-east-1",
        5959  +
    "service": "service",
        5960  +
    "sign_body": false,
        5961  +
    "timestamp": "2015-08-30T12:36:00Z"
        5962  +
}
              \
 No newline at end of file
 4415   5963   
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
 4416   5964   
similarity index 99%
 4417   5965   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
 4418   5966   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 4419   5967   
index f14defd..0e9ad42 100644
 4420   5968   
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
 4421   5969   
new file mode 100644
 4422   5970   
index 0000000..a7673b5
 4423         -
-- /dev/null
        5971  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 4424   5972   
@@ -0,0 +1 @@
        5973  +
3044022035c6bc9a8cab8a434bd8bd1cc3b6f1401842f530f1537722ad10d72a1577f8c80220101352fe0720715efbab80f82edb133175f0b61cad85daf943ad615852f9ae10
              \
 No newline at end of file
 4425   5974   
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
 4426   5975   
new file mode 100644
 4427   5976   
index 0000000..ed16e76
 4428         -
-- /dev/null
        5977  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 4429   5978   
@@ -0,0 +1,7 @@
        5979  +
GET / HTTP/1.1
        5980  +
Host:example.amazonaws.com
        5981  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        5982  +
X-Amz-Date:20150830T123600Z
        5983  +
X-Amz-Region-Set:us-east-1
        5984  +
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
        5985  +
 4430   5986   
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
 4431   5987   
similarity index 99%
 4432   5988   
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
 4433   5989   
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
 4434   5990   
index 4edece5..6c1ec65 100644
 4435   5991   
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
 4436   5992   
new file mode 100644
 4437   5993   
index 0000000..379dcb2
 4438         -
-- /dev/null
        5994  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 4439   5995   
@@ -0,0 +1,4 @@
        5996  +
{
        5997  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5998  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5999  +
}
 4440   6000   
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
 4441   6001   
similarity index 99%
 4442   6002   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
 4443   6003   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 4444   6004   
index 7c042af..1876b42 100644
 4445   6005   
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
 4446   6006   
new file mode 100644
 4447   6007   
index 0000000..903dfb4
 4448         -
-- /dev/null
        6008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 4449   6009   
@@ -0,0 +1 @@
        6010  +
3046022100d51f7ae1ac1b6b3db6c40f69aafb4306f81cdd2d87a85f69b2c4cb8fd057cf21022100cdb787a698c3f53d961f5b6279a0ff246097f50c874bcbf7a249bf4c0f118fb3
              \
 No newline at end of file
 4450   6011   
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
 4451   6012   
new file mode 100644
 4452   6013   
index 0000000..bf1d246
 4453         -
-- /dev/null
        6014  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 4454   6015   
@@ -0,0 +1,3 @@
        6016  +
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
        6017  +
Host:example.amazonaws.com
        6018  +
 4455   6019   
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
 4456   6020   
similarity index 99%
 4457   6021   
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
 4458   6022   
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
 4459   6023   
index 0fd066a..f1b1790 100644
 4460   6024   
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
 4461   6025   
similarity index 60%
 4462   6026   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
 4463   6027   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4464   6028   
index 0f7a9bf..e659c3b 100644
 4465         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
        6029  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4466   6030   
@@ -1,3 +1,2 @@
 4467   6031   
GET / HTTP/1.1
 4468   6032   
Host:example.amazonaws.com
 4469         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4470   6033   
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
 4471   6034   
new file mode 100644
 4472   6035   
index 0000000..76db73d
 4473         -
-- /dev/null
        6036  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 4474   6037   
@@ -0,0 +1,9 @@
        6038  +
GET
        6039  +
/
        6040  +
        6041  +
host:example.amazonaws.com
        6042  +
x-amz-date:20150830T123600Z
        6043  +
x-amz-region-set:us-east-1
        6044  +
        6045  +
host;x-amz-date;x-amz-region-set
        6046  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4475   6047   
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
 4476   6048   
new file mode 100644
 4477   6049   
index 0000000..0468d80
 4478         -
-- /dev/null
        6050  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 4479   6051   
@@ -0,0 +1,12 @@
        6052  +
{
        6053  +
    "credentials": {
        6054  +
        "access_key_id": "AKIDEXAMPLE",
        6055  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6056  +
    },
        6057  +
    "expiration_in_seconds": 3600,
        6058  +
    "normalize": true,
        6059  +
    "region": "us-east-1",
        6060  +
    "service": "service",
        6061  +
    "sign_body": false,
        6062  +
    "timestamp": "2015-08-30T12:36:00Z"
        6063  +
}
              \
 No newline at end of file
 4480   6064   
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
 4481   6065   
new file mode 100644
 4482   6066   
index 0000000..76db73d
 4483         -
-- /dev/null
        6067  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 4484   6068   
@@ -0,0 +1,9 @@
        6069  +
GET
        6070  +
/
        6071  +
        6072  +
host:example.amazonaws.com
        6073  +
x-amz-date:20150830T123600Z
        6074  +
x-amz-region-set:us-east-1
        6075  +
        6076  +
host;x-amz-date;x-amz-region-set
        6077  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4485   6078   
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
 4486   6079   
new file mode 100644
 4487   6080   
index 0000000..a96ff24
 4488         -
-- /dev/null
        6081  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 4489   6082   
@@ -0,0 +1 @@
        6083  +
3045022018b4e277d0281864beb51d3600e23f88510ea5031d68ddfbb68614b82a5eb7d2022100effb9c5f22ed9ef3ae0ab243d21f06bce82365bbb79529a07b6888c343ae5f8c
              \
 No newline at end of file
 4490   6084   
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
 4491   6085   
new file mode 100644
 4492   6086   
index 0000000..689078b
 4493         -
-- /dev/null
        6087  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 4494   6088   
@@ -0,0 +1,6 @@
        6089  +
GET / HTTP/1.1
        6090  +
Host:example.amazonaws.com
        6091  +
X-Amz-Date:20150830T123600Z
        6092  +
X-Amz-Region-Set:us-east-1
        6093  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100fddaaf816a31e30d04973875b13bc27b98da10907a3a1872fd5819a221334abc022100de2ee81d83b54f31efc82834de07e6cd4d5c6f25bfa08e0f29a15bb0977c343e
        6094  +
 4495   6095   
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
 4496   6096   
new file mode 100644
 4497   6097   
index 0000000..600f1d8
 4498         -
-- /dev/null
        6098  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 4499   6099   
@@ -0,0 +1,4 @@
        6100  +
AWS4-ECDSA-P256-SHA256
        6101  +
20150830T123600Z
        6102  +
20150830/service/aws4_request
        6103  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4500   6104   
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
 4501   6105   
new file mode 100644
 4502   6106   
index 0000000..379dcb2
 4503         -
-- /dev/null
        6107  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 4504   6108   
@@ -0,0 +1,4 @@
        6109  +
{
        6110  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6111  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6112  +
}
 4505   6113   
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
 4506   6114   
new file mode 100644
 4507   6115   
index 0000000..779c51c
 4508         -
-- /dev/null
        6116  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 4509   6117   
@@ -0,0 +1,7 @@
        6118  +
GET
        6119  +
/
        6120  +
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
        6121  +
host:example.amazonaws.com
        6122  +
        6123  +
host
        6124  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4510   6125   
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
 4511   6126   
new file mode 100644
 4512   6127   
index 0000000..cc42158
 4513         -
-- /dev/null
        6128  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 4514   6129   
@@ -0,0 +1 @@
        6130  +
3045022100b3246f8e1442dd58e73292ae1294720c3256ee58f6cea50f3a3f83b4a4b0331a0220329693f7745c9008a5887c0529ceccb0fae4e16d707b712ea66acdbaf963769a
              \
 No newline at end of file
 4515   6131   
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
 4516   6132   
new file mode 100644
 4517   6133   
index 0000000..dc6d01d
 4518         -
-- /dev/null
        6134  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 4519   6135   
@@ -0,0 +1,3 @@
        6136  +
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
        6137  +
Host:example.amazonaws.com
        6138  +
 4520   6139   
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
 4521   6140   
new file mode 100644
 4522   6141   
index 0000000..6e29a7e
 4523         -
-- /dev/null
        6142  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 4524   6143   
@@ -0,0 +1,4 @@
        6144  +
AWS4-ECDSA-P256-SHA256
        6145  +
20150830T123600Z
        6146  +
20150830/service/aws4_request
        6147  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4525   6148   
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
 4526   6149   
new file mode 100644
 4527   6150   
index 0000000..e659c3b
 4528         -
-- /dev/null
        6151  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 4529   6152   
@@ -0,0 +1,2 @@
        6153  +
GET / HTTP/1.1
        6154  +
Host:example.amazonaws.com
 4530   6155   
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
 4531   6156   
new file mode 100644
 4532   6157   
index 0000000..600f1d8
 4533         -
-- /dev/null
        6158  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 4534   6159   
@@ -0,0 +1,4 @@
        6160  +
AWS4-ECDSA-P256-SHA256
        6161  +
20150830T123600Z
        6162  +
20150830/service/aws4_request
        6163  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4535   6164   
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
 4536   6165   
new file mode 100644
 4537   6166   
index 0000000..0468d80
 4538         -
-- /dev/null
        6167  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 4539   6168   
@@ -0,0 +1,12 @@
        6169  +
{
        6170  +
    "credentials": {
        6171  +
        "access_key_id": "AKIDEXAMPLE",
        6172  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6173  +
    },
        6174  +
    "expiration_in_seconds": 3600,
        6175  +
    "normalize": true,
        6176  +
    "region": "us-east-1",
        6177  +
    "service": "service",
        6178  +
    "sign_body": false,
        6179  +
    "timestamp": "2015-08-30T12:36:00Z"
        6180  +
}
              \
 No newline at end of file
 4540   6181   
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
 4541   6182   
similarity index 99%
 4542   6183   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
 4543   6184   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 4544   6185   
index a6942c1..e881ac7 100644
 4545   6186   
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
 4546   6187   
new file mode 100644
 4547   6188   
index 0000000..4210210
 4548         -
-- /dev/null
        6189  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 4549   6190   
@@ -0,0 +1 @@
        6191  +
3044022025397839d55c2147eead39170f5b1758c9f9fb4ccbcda4c8612a23df8e90c13d022079f5fc1377201691a11be43def8be12fe882e998589317508ff67b8dbe982722
              \
 No newline at end of file
 4550   6192   
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
 4551   6193   
new file mode 100644
 4552   6194   
index 0000000..257b110
 4553         -
-- /dev/null
        6195  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 4554   6196   
@@ -0,0 +1,6 @@
        6197  +
POST / 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=304602210081bb2a93eae5cce843abe0e7cac2f0e4cecdd0a79cb8d60e5b9dc4c8e8906b61022100e18c8119f50b8218da995ada62080d88ff75d2f02309c3685a02dfb9a83b103f
        6202  +
 4555   6203   
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
 4556   6204   
similarity index 99%
 4557   6205   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
 4558   6206   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 4559   6207   
index d5650cb..f8adf13 100644
 4560   6208   
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
 4561   6209   
new file mode 100644
 4562   6210   
index 0000000..379dcb2
 4563         -
-- /dev/null
        6211  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 4564   6212   
@@ -0,0 +1,4 @@
        6213  +
{
        6214  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6215  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6216  +
}
 4565   6217   
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
 4566   6218   
similarity index 99%
 4567   6219   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
 4568   6220   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 4569   6221   
index e48ce07..5ea8e3c 100644
 4570   6222   
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
 4571   6223   
new file mode 100644
 4572   6224   
index 0000000..9e2069e
 4573         -
-- /dev/null
        6225  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 4574   6226   
@@ -0,0 +1 @@
        6227  +
304402204afe4ce8de62e37853d0cb8a00f9601532fdeca89d6d8591c72d5bbf728bee2f02202feb0d8e680cab063e0c3c9090c0483f400511678ce83169ddce3e6d040f9ed8
              \
 No newline at end of file
 4575   6228   
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
 4576   6229   
new file mode 100644
 4577   6230   
index 0000000..67f5d29
 4578         -
-- /dev/null
        6231  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 4579   6232   
@@ -0,0 +1,3 @@
        6233  +
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
        6234  +
Host:example.amazonaws.com
        6235  +
 4580   6236   
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
 4581   6237   
similarity index 99%
 4582   6238   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
 4583   6239   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 4584   6240   
index 34e3382..711c162 100644
 4585   6241   
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
 4586   6242   
similarity index 61%
 4587   6243   
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
 4588   6244   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4589   6245   
index 3dc4179..3f0a82a 100644
 4590         -
-- 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
        6246  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4591   6247   
@@ -1,3 +1,2 @@
 4592   6248   
POST / HTTP/1.1
 4593   6249   
Host:example.amazonaws.com
 4594         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4595   6250   
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
 4596   6251   
new file mode 100644
 4597   6252   
index 0000000..0468d80
 4598         -
-- /dev/null
        6253  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 4599   6254   
@@ -0,0 +1,12 @@
        6255  +
{
        6256  +
    "credentials": {
        6257  +
        "access_key_id": "AKIDEXAMPLE",
        6258  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6259  +
    },
        6260  +
    "expiration_in_seconds": 3600,
        6261  +
    "normalize": true,
        6262  +
    "region": "us-east-1",
        6263  +
    "service": "service",
        6264  +
    "sign_body": false,
        6265  +
    "timestamp": "2015-08-30T12:36:00Z"
        6266  +
}
              \
 No newline at end of file
 4600   6267   
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
 4601   6268   
similarity index 99%
 4602   6269   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
 4603   6270   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 4604   6271   
index a8e1727..2883822 100644
 4605   6272   
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
 4606   6273   
new file mode 100644
 4607   6274   
index 0000000..e3c2e6e
 4608         -
-- /dev/null
        6275  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 4609   6276   
@@ -0,0 +1 @@
        6277  +
304502210097752f8c9953078cbb6b370471cb7029aea9517d59fb835d8befce66a91e6c4a022043a8c62681ff76e6cbaaeaed2fff2fcfee8efceebb7bd9e562ecd5a08b2c563f
              \
 No newline at end of file
 4610   6278   
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
 4611   6279   
new file mode 100644
 4612   6280   
index 0000000..1d6e288
 4613         -
-- /dev/null
        6281  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 4614   6282   
@@ -0,0 +1,7 @@
        6283  +
POST / HTTP/1.1
        6284  +
Host:example.amazonaws.com
        6285  +
My-Header1:value1
        6286  +
X-Amz-Date:20150830T123600Z
        6287  +
X-Amz-Region-Set:us-east-1
        6288  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3046022100a5dc03771b33997d8eeb15d639cb7bdef2aff78a4a59c7996070e5f94fe149780221009a732061539208209ba0ae6755bef956c258a0c0ac6a6916489486efde21cfeb
        6289  +
 4615   6290   
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
 4616   6291   
similarity index 99%
 4617   6292   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
 4618   6293   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 4619   6294   
index f6e3e9b..7c5236a 100644
 4620   6295   
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
 4621   6296   
new file mode 100644
 4622   6297   
index 0000000..379dcb2
 4623         -
-- /dev/null
        6298  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 4624   6299   
@@ -0,0 +1,4 @@
        6300  +
{
        6301  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6302  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6303  +
}
 4625   6304   
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
 4626   6305   
similarity index 99%
 4627   6306   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
 4628   6307   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 4629   6308   
index 0ae73e1..2cf3f29 100644
 4630   6309   
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
 4631   6310   
new file mode 100644
 4632   6311   
index 0000000..2a08401
 4633         -
-- /dev/null
        6312  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 4634   6313   
@@ -0,0 +1 @@
        6314  +
304502204f2a31513c9bea5c92dd8045e226dc1db150f768e60b538cacce157c623873dc022100ab5d654ce3c7b917656cec2cf58a3689159e89deed5241ca21e19a40173674c4
              \
 No newline at end of file
 4635   6315   
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
 4636   6316   
new file mode 100644
 4637   6317   
index 0000000..8d2343f
 4638         -
-- /dev/null
        6318  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 4639   6319   
@@ -0,0 +1,4 @@
        6320  +
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
        6321  +
Host:example.amazonaws.com
        6322  +
My-Header1:value1
        6323  +
 4640   6324   
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
 4641   6325   
similarity index 99%
 4642   6326   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
 4643   6327   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 4644   6328   
index 8cb96bf..2c4db7a 100644
 4645   6329   
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
 4646   6330   
similarity index 69%
 4647   6331   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
 4648   6332   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4649   6333   
index 0253f19..917720e 100644
 4650         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
        6334  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4651   6335   
@@ -1,4 +1,3 @@
 4652   6336   
POST / HTTP/1.1
 4653   6337   
Host:example.amazonaws.com
 4654   6338   
My-Header1:value1
 4655         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4656   6339   
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
 4657   6340   
new file mode 100644
 4658   6341   
index 0000000..0468d80
 4659         -
-- /dev/null
        6342  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 4660   6343   
@@ -0,0 +1,12 @@
        6344  +
{
        6345  +
    "credentials": {
        6346  +
        "access_key_id": "AKIDEXAMPLE",
        6347  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6348  +
    },
        6349  +
    "expiration_in_seconds": 3600,
        6350  +
    "normalize": true,
        6351  +
    "region": "us-east-1",
        6352  +
    "service": "service",
        6353  +
    "sign_body": false,
        6354  +
    "timestamp": "2015-08-30T12:36:00Z"
        6355  +
}
              \
 No newline at end of file
 4661   6356   
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
 4662   6357   
similarity index 99%
 4663   6358   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
 4664   6359   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 4665   6360   
index 1dc3ef8..164e65c 100644
 4666   6361   
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
 4667   6362   
new file mode 100644
 4668   6363   
index 0000000..7072b0e
 4669         -
-- /dev/null
        6364  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 4670   6365   
@@ -0,0 +1 @@
        6366  +
304402207b3baf259f5d29f13511eb4c9b236045c43168ca70369ed639611f4bff9eb6490220465e922e8b19146de9c70147440f4ee80a3318f0c756c8050dbfd641e6ff0456
              \
 No newline at end of file
 4671   6367   
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
 4672   6368   
new file mode 100644
 4673   6369   
index 0000000..17f5e3e
 4674         -
-- /dev/null
        6370  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 4675   6371   
@@ -0,0 +1,7 @@
        6372  +
POST / HTTP/1.1
        6373  +
Host:example.amazonaws.com
        6374  +
My-Header1:VALUE1
        6375  +
X-Amz-Date:20150830T123600Z
        6376  +
X-Amz-Region-Set:us-east-1
        6377  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022100c72dd4d54c45d3eb30858c6227e9512f41b7379b7c685e39e0cd39a793d7ee3102205c900d330270e31d2f7b5138fb3d791b6743f6f3b9ffbc34a4adcc8307591b11
        6378  +
 4676   6379   
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
 4677   6380   
similarity index 99%
 4678   6381   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
 4679   6382   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 4680   6383   
index 59c7e45..620f54e 100644
 4681   6384   
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
 4682   6385   
new file mode 100644
 4683   6386   
index 0000000..379dcb2
 4684         -
-- /dev/null
        6387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 4685   6388   
@@ -0,0 +1,4 @@
        6389  +
{
        6390  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6391  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6392  +
}
 4686   6393   
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
 4687   6394   
similarity index 99%
 4688   6395   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
 4689   6396   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 4690   6397   
index 377e6f3..23e0da3 100644
 4691   6398   
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
 4692   6399   
new file mode 100644
 4693   6400   
index 0000000..a18acb8
 4694         -
-- /dev/null
        6401  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 4695   6402   
@@ -0,0 +1 @@
        6403  +
30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
              \
 No newline at end of file
 4696   6404   
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
 4697   6405   
new file mode 100644
 4698   6406   
index 0000000..7cbdcfa
 4699         -
-- /dev/null
        6407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 4700   6408   
@@ -0,0 +1,4 @@
        6409  +
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
        6410  +
Host:example.amazonaws.com
        6411  +
My-Header1:VALUE1
        6412  +
 4701   6413   
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
 4702   6414   
similarity index 99%
 4703   6415   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
 4704   6416   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 4705   6417   
index 84a7afd..0c90627 100644
 4706   6418   
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
 4707   6419   
similarity index 69%
 4708   6420   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
 4709   6421   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4710   6422   
index 3f9987a..5f14c91 100644
 4711         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
        6423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4712   6424   
@@ -1,4 +1,3 @@
 4713   6425   
POST / HTTP/1.1
 4714   6426   
Host:example.amazonaws.com
 4715   6427   
My-Header1:VALUE1
 4716         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4717   6428   
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
 4718   6429   
new file mode 100644
 4719   6430   
index 0000000..8f1d5ce
 4720         -
-- /dev/null
        6431  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 4721   6432   
@@ -0,0 +1,14 @@
        6433  +
{
        6434  +
    "credentials": {
        6435  +
        "access_key_id": "AKIDEXAMPLE",
        6436  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6437  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6438  +
    },
        6439  +
    "expiration_in_seconds": 3600,
        6440  +
    "normalize": true,
        6441  +
    "region": "us-east-1",
        6442  +
    "service": "service",
        6443  +
    "sign_body": false,
        6444  +
    "timestamp": "2015-08-30T12:36:00Z",
        6445  +
    "omit_session_token": true
        6446  +
}
 4722   6447   
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
 4723   6448   
similarity index 99%
 4724   6449   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
 4725   6450   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 4726   6451   
index a6942c1..e881ac7 100644
 4727   6452   
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
 4728   6453   
new file mode 100644
 4729   6454   
index 0000000..9c5ecb9
 4730         -
-- /dev/null
        6455  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 4731   6456   
@@ -0,0 +1 @@
        6457  +
3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
              \
 No newline at end of file
 4732   6458   
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
 4733   6459   
similarity index 52%
 4734   6460   
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
 4735   6461   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4736   6462   
index 9d91775..61b6527 100644
 4737         -
-- 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
        6463  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4738   6464   
@@ -1,4 +1,7 @@
 4739   6465   
POST / HTTP/1.1
 4740   6466   
Host:example.amazonaws.com
 4741         -
X-Amz-Date:20150830T123600Z
 4742   6467   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6468  +
X-Amz-Date:20150830T123600Z
        6469  +
X-Amz-Region-Set:us-east-1
        6470  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
        6471  +
 4743   6472   
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
 4744   6473   
similarity index 99%
 4745   6474   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
 4746   6475   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 4747   6476   
index d5650cb..f8adf13 100644
 4748   6477   
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
 4749   6478   
new file mode 100644
 4750   6479   
index 0000000..379dcb2
 4751         -
-- /dev/null
        6480  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 4752   6481   
@@ -0,0 +1,4 @@
        6482  +
{
        6483  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6484  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6485  +
}
 4753   6486   
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
 4754   6487   
similarity index 99%
 4755   6488   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
 4756   6489   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 4757   6490   
index e48ce07..5ea8e3c 100644
 4758   6491   
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
 4759   6492   
new file mode 100644
 4760   6493   
index 0000000..ff8823a
 4761         -
-- /dev/null
        6494  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 4762   6495   
@@ -0,0 +1 @@
        6496  +
3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
              \
 No newline at end of file
 4763   6497   
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
 4764   6498   
new file mode 100644
 4765   6499   
index 0000000..cfac41b
 4766         -
-- /dev/null
        6500  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 4767   6501   
@@ -0,0 +1,3 @@
        6502  +
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
        6503  +
Host:example.amazonaws.com
        6504  +
 4768   6505   
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
 4769   6506   
similarity index 99%
 4770   6507   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
 4771   6508   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 4772   6509   
index 34e3382..711c162 100644
 4773   6510   
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
 4774   6511   
similarity index 61%
 4775   6512   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
 4776   6513   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4777   6514   
index 3dc4179..3f0a82a 100644
 4778         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
        6515  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4779   6516   
@@ -1,3 +1,2 @@
 4780   6517   
POST / HTTP/1.1
 4781   6518   
Host:example.amazonaws.com
 4782         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4783   6519   
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
 4784   6520   
new file mode 100644
 4785   6521   
index 0000000..5187392
 4786         -
-- /dev/null
        6522  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 4787   6523   
@@ -0,0 +1,14 @@
        6524  +
{
        6525  +
    "credentials": {
        6526  +
        "access_key_id": "AKIDEXAMPLE",
        6527  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6528  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6529  +
    },
        6530  +
    "expiration_in_seconds": 3600,
        6531  +
    "normalize": true,
        6532  +
    "region": "us-east-1",
        6533  +
    "service": "service",
        6534  +
    "sign_body": false,
        6535  +
    "timestamp": "2015-08-30T12:36:00Z",
        6536  +
    "omit_session_token": false
        6537  +
}
 4788   6538   
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
 4789   6539   
similarity index 99%
 4790   6540   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
 4791   6541   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 4792   6542   
index dd408c8..e95924e 100644
 4793   6543   
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
 4794   6544   
new file mode 100644
 4795   6545   
index 0000000..1573f07
 4796         -
-- /dev/null
        6546  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 4797   6547   
@@ -0,0 +1 @@
        6548  +
30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
              \
 No newline at end of file
 4798   6549   
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
 4799   6550   
new file mode 100644
 4800   6551   
index 0000000..6ef9a08
 4801         -
-- /dev/null
        6552  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 4802   6553   
@@ -0,0 +1,7 @@
        6554  +
POST / HTTP/1.1
        6555  +
Host:example.amazonaws.com
        6556  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6557  +
X-Amz-Date:20150830T123600Z
        6558  +
X-Amz-Region-Set:us-east-1
        6559  +
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
        6560  +
 4803   6561   
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
 4804   6562   
similarity index 99%
 4805   6563   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
 4806   6564   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 4807   6565   
index f352b54..3c3235f 100644
 4808   6566   
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
 4809   6567   
new file mode 100644
 4810   6568   
index 0000000..379dcb2
 4811         -
-- /dev/null
        6569  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 4812   6570   
@@ -0,0 +1,4 @@
        6571  +
{
        6572  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6573  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6574  +
}
 4813   6575   
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
 4814   6576   
similarity index 99%
 4815   6577   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
 4816   6578   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 4817   6579   
index 832cdc0..63b7de5 100644
 4818   6580   
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
 4819   6581   
new file mode 100644
 4820   6582   
index 0000000..713f57c
 4821         -
-- /dev/null
        6583  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 4822   6584   
@@ -0,0 +1 @@
        6585  +
304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
              \
 No newline at end of file
 4823   6586   
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
 4824   6587   
new file mode 100644
 4825   6588   
index 0000000..32c3bb3
 4826         -
-- /dev/null
        6589  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 4827   6590   
@@ -0,0 +1,3 @@
        6591  +
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
        6592  +
Host:example.amazonaws.com
        6593  +
 4828   6594   
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
 4829   6595   
similarity index 99%
 4830   6596   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
 4831   6597   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 4832   6598   
index d7f3668..b46cd8c 100644
 4833   6599   
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
 4834   6600   
similarity index 60%
 4835   6601   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
 4836   6602   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4837   6603   
index 8b5efc8..3f0a82a 100644
 4838         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
        6604  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4839   6605   
@@ -1,3 +1,2 @@
 4840   6606   
POST / HTTP/1.1
 4841   6607   
Host:example.amazonaws.com
 4842         -
X-Amz-Date:20150830T123600Z
 4843   6608   
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
 4844   6609   
new file mode 100644
 4845   6610   
index 0000000..0468d80
 4846         -
-- /dev/null
        6611  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 4847   6612   
@@ -0,0 +1,12 @@
        6613  +
{
        6614  +
    "credentials": {
        6615  +
        "access_key_id": "AKIDEXAMPLE",
        6616  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6617  +
    },
        6618  +
    "expiration_in_seconds": 3600,
        6619  +
    "normalize": true,
        6620  +
    "region": "us-east-1",
        6621  +
    "service": "service",
        6622  +
    "sign_body": false,
        6623  +
    "timestamp": "2015-08-30T12:36:00Z"
        6624  +
}
              \
 No newline at end of file
 4848   6625   
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
 4849   6626   
similarity index 99%
 4850   6627   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
 4851   6628   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 4852   6629   
index 02af60f..34b8c11 100644
 4853   6630   
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
 4854   6631   
new file mode 100644
 4855   6632   
index 0000000..aac6427
 4856         -
-- /dev/null
        6633  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 4857   6634   
@@ -0,0 +1 @@
        6635  +
3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
              \
 No newline at end of file
 4858   6636   
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
 4859   6637   
new file mode 100644
 4860   6638   
index 0000000..a611436
 4861         -
-- /dev/null
        6639  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 4862   6640   
@@ -0,0 +1,6 @@
        6641  +
POST /?Param1=value1 HTTP/1.1
        6642  +
Host:example.amazonaws.com
        6643  +
X-Amz-Date:20150830T123600Z
        6644  +
X-Amz-Region-Set:us-east-1
        6645  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
        6646  +
 4863   6647   
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
 4864   6648   
similarity index 99%
 4865   6649   
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
 4866   6650   
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
 4867   6651   
index 4256b4f..ad88dff 100644
 4868   6652   
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
 4869   6653   
new file mode 100644
 4870   6654   
index 0000000..379dcb2
 4871         -
-- /dev/null
        6655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 4872   6656   
@@ -0,0 +1,4 @@
        6657  +
{
        6658  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6659  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6660  +
}
 4873   6661   
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
 4874   6662   
similarity index 99%
 4875   6663   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
 4876   6664   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 4877   6665   
index fa84bbd..76d5ad6 100644
 4878   6666   
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
 4879   6667   
new file mode 100644
 4880   6668   
index 0000000..4cb1c94
 4881         -
-- /dev/null
        6669  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 4882   6670   
@@ -0,0 +1 @@
        6671  +
3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
              \
 No newline at end of file
 4883   6672   
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
 4884   6673   
new file mode 100644
 4885   6674   
index 0000000..bd22b97
 4886         -
-- /dev/null
        6675  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 4887   6676   
@@ -0,0 +1,3 @@
        6677  +
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
        6678  +
Host:example.amazonaws.com
        6679  +
 4888   6680   
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
 4889   6681   
similarity index 99%
 4890   6682   
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
 4891   6683   
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
 4892   6684   
index de270ef..8c9d319 100644
 4893   6685   
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
 4894   6686   
similarity index 67%
 4895   6687   
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
 4896   6688   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4897   6689   
index 9157bc7..c9d6e5d 100644
 4898         -
-- 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
        6690  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4899   6691   
@@ -1,3 +1,2 @@
 4900   6692   
POST /?Param1=value1 HTTP/1.1
 4901   6693   
Host:example.amazonaws.com
 4902         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4903   6694   
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
 4904   6695   
new file mode 100644
 4905   6696   
index 0000000..0468d80
 4906         -
-- /dev/null
        6697  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 4907   6698   
@@ -0,0 +1,12 @@
        6699  +
{
        6700  +
    "credentials": {
        6701  +
        "access_key_id": "AKIDEXAMPLE",
        6702  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6703  +
    },
        6704  +
    "expiration_in_seconds": 3600,
        6705  +
    "normalize": true,
        6706  +
    "region": "us-east-1",
        6707  +
    "service": "service",
        6708  +
    "sign_body": false,
        6709  +
    "timestamp": "2015-08-30T12:36:00Z"
        6710  +
}
              \
 No newline at end of file
 4908   6711   
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
 4909   6712   
similarity index 99%
 4910   6713   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
 4911   6714   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 4912   6715   
index 02af60f..34b8c11 100644
 4913   6716   
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
 4914   6717   
new file mode 100644
 4915   6718   
index 0000000..34f75c8
 4916         -
-- /dev/null
        6719  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 4917   6720   
@@ -0,0 +1 @@
        6721  +
3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
              \
 No newline at end of file
 4918   6722   
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
 4919   6723   
new file mode 100644
 4920   6724   
index 0000000..c731408
 4921         -
-- /dev/null
        6725  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 4922   6726   
@@ -0,0 +1,6 @@
        6727  +
POST /?Param1=value1 HTTP/1.1
        6728  +
Host:example.amazonaws.com
        6729  +
X-Amz-Date:20150830T123600Z
        6730  +
X-Amz-Region-Set:us-east-1
        6731  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
        6732  +
 4923   6733   
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
 4924   6734   
similarity index 99%
 4925   6735   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
 4926   6736   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 4927   6737   
index 4256b4f..ad88dff 100644
 4928   6738   
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
 4929   6739   
new file mode 100644
 4930   6740   
index 0000000..379dcb2
 4931         -
-- /dev/null
        6741  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 4932   6742   
@@ -0,0 +1,4 @@
        6743  +
{
        6744  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6745  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6746  +
}
 4933   6747   
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
 4934   6748   
similarity index 99%
 4935   6749   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
 4936   6750   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 4937   6751   
index fa84bbd..76d5ad6 100644
 4938   6752   
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
 4939   6753   
new file mode 100644
 4940   6754   
index 0000000..ae000d6
 4941         -
-- /dev/null
        6755  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 4942   6756   
@@ -0,0 +1 @@
        6757  +
304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
              \
 No newline at end of file
 4943   6758   
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
 4944   6759   
new file mode 100644
 4945   6760   
index 0000000..a868f7d
 4946         -
-- /dev/null
        6761  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 4947   6762   
@@ -0,0 +1,3 @@
        6763  +
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
        6764  +
Host:example.amazonaws.com
        6765  +
 4948   6766   
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
 4949   6767   
similarity index 99%
 4950   6768   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
 4951   6769   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 4952   6770   
index de270ef..8c9d319 100644
 4953   6771   
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
 4954   6772   
similarity index 67%
 4955   6773   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
 4956   6774   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 4957   6775   
index 9157bc7..c9d6e5d 100644
 4958         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
        6776  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 4959   6777   
@@ -1,3 +1,2 @@
 4960   6778   
POST /?Param1=value1 HTTP/1.1
 4961   6779   
Host:example.amazonaws.com
 4962         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4963   6780   
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
 4964   6781   
new file mode 100644
 4965   6782   
index 0000000..0468d80
 4966         -
-- /dev/null
        6783  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 4967   6784   
@@ -0,0 +1,12 @@
        6785  +
{
        6786  +
    "credentials": {
        6787  +
        "access_key_id": "AKIDEXAMPLE",
        6788  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6789  +
    },
        6790  +
    "expiration_in_seconds": 3600,
        6791  +
    "normalize": true,
        6792  +
    "region": "us-east-1",
        6793  +
    "service": "service",
        6794  +
    "sign_body": false,
        6795  +
    "timestamp": "2015-08-30T12:36:00Z"
        6796  +
}
              \
 No newline at end of file
 4968   6797   
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
 4969   6798   
similarity index 99%
 4970   6799   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
 4971   6800   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 4972   6801   
index a6942c1..e881ac7 100644
 4973   6802   
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
 4974   6803   
new file mode 100644
 4975   6804   
index 0000000..7c5e47b
 4976         -
-- /dev/null
        6805  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 4977   6806   
@@ -0,0 +1 @@
        6807  +
3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
              \
 No newline at end of file
 4978   6808   
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
 4979   6809   
new file mode 100644
 4980   6810   
index 0000000..c0e50a0
 4981         -
-- /dev/null
        6811  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 4982   6812   
@@ -0,0 +1,6 @@
        6813  +
POST / HTTP/1.1
        6814  +
Host:example.amazonaws.com
        6815  +
X-Amz-Date:20150830T123600Z
        6816  +
X-Amz-Region-Set:us-east-1
        6817  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
        6818  +
 4983   6819   
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
 4984   6820   
similarity index 99%
 4985   6821   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
 4986   6822   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 4987   6823   
index d5650cb..f8adf13 100644
 4988   6824   
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
 4989   6825   
new file mode 100644
 4990   6826   
index 0000000..379dcb2
 4991         -
-- /dev/null
        6827  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 4992   6828   
@@ -0,0 +1,4 @@
        6829  +
{
        6830  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6831  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6832  +
}
 4993   6833   
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
 4994   6834   
similarity index 99%
 4995   6835   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
 4996   6836   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 4997   6837   
index e48ce07..5ea8e3c 100644
 4998   6838   
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
 4999   6839   
new file mode 100644
 5000   6840   
index 0000000..ea8e3b4
 5001         -
-- /dev/null
        6841  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 5002   6842   
@@ -0,0 +1 @@
        6843  +
30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
              \
 No newline at end of file
 5003   6844   
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
 5004   6845   
new file mode 100644
 5005   6846   
index 0000000..616973f
 5006         -
-- /dev/null
        6847  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 5007   6848   
@@ -0,0 +1,3 @@
        6849  +
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
        6850  +
Host:example.amazonaws.com
        6851  +
 5008   6852   
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
 5009   6853   
similarity index 99%
 5010   6854   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
 5011   6855   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 5012   6856   
index 34e3382..711c162 100644
 5013   6857   
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
 5014   6858   
new file mode 100644
 5015   6859   
index 0000000..3f0a82a
 5016         -
-- /dev/null
        6860  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 5017   6861   
@@ -0,0 +1,2 @@
        6862  +
POST / HTTP/1.1
        6863  +
Host:example.amazonaws.com
 5018   6864   
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
 5019   6865   
new file mode 100644
 5020   6866   
index 0000000..0db1df1
 5021         -
-- /dev/null
        6867  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 5022   6868   
@@ -0,0 +1,12 @@
        6869  +
{
        6870  +
    "credentials": {
        6871  +
        "access_key_id": "AKIDEXAMPLE",
        6872  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6873  +
    },
        6874  +
    "expiration_in_seconds": 3600,
        6875  +
    "normalize": true,
        6876  +
    "region": "us-east-1",
        6877  +
    "service": "service",
        6878  +
    "sign_body": true,
        6879  +
    "timestamp": "2015-08-30T12:36:00Z"
        6880  +
}
              \
 No newline at end of file
 5023   6881   
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
 5024   6882   
similarity index 62%
 5025   6883   
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
 5026   6884   
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
 5027   6885   
index 05ab787..62639b2 100644
 5028         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
        6886  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 5029   6887   
@@ -1,12 +1,12 @@
 5030   6888   
POST
 5031   6889   
/
 5032   6890   
 5033   6891   
content-length:13
 5034   6892   
content-type:application/x-www-form-urlencoded; charset=utf-8
 5035   6893   
host:example.amazonaws.com
 5036         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6894  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 5037   6895   
x-amz-date:20150830T123600Z
 5038   6896   
x-amz-region-set:us-east-1
 5039   6897   
 5040   6898   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 5041         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6899  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5042   6900   
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
 5043   6901   
new file mode 100644
 5044   6902   
index 0000000..006ec2e
 5045         -
-- /dev/null
        6903  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 5046   6904   
@@ -0,0 +1 @@
        6905  +
3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
              \
 No newline at end of file
 5047   6906   
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
 5048   6907   
new file mode 100644
 5049   6908   
index 0000000..87a11f2
 5050         -
-- /dev/null
        6909  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 5051   6910   
@@ -0,0 +1,10 @@
        6911  +
POST / HTTP/1.1
        6912  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6913  +
Host:example.amazonaws.com
        6914  +
Content-Length:13
        6915  +
X-Amz-Date:20150830T123600Z
        6916  +
X-Amz-Region-Set:us-east-1
        6917  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        6918  +
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
        6919  +
        6920  +
Param1=value1
              \
 No newline at end of file
 5052   6921   
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
 5053   6922   
new file mode 100644
 5054   6923   
index 0000000..c047afb
 5055         -
-- /dev/null
        6924  +
++ 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
 5056   6925   
@@ -0,0 +1,4 @@
        6926  +
AWS4-ECDSA-P256-SHA256
        6927  +
20150830T123600Z
        6928  +
20150830/service/aws4_request
        6929  +
bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
              \
 No newline at end of file
 5057   6930   
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
 5058   6931   
new file mode 100644
 5059   6932   
index 0000000..379dcb2
 5060         -
-- /dev/null
        6933  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 5061   6934   
@@ -0,0 +1,4 @@
        6935  +
{
        6936  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6937  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6938  +
}
 5062   6939   
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
 5063   6940   
similarity index 85%
 5064   6941   
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
 5065   6942   
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
 5066   6943   
index fcc454f..6933a8c 100644
 5067         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
        6944  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 5068   6945   
@@ -1,9 +1,9 @@
 5069   6946   
POST
 5070   6947   
/
 5071   6948   
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
 5072   6949   
content-length:13
 5073   6950   
content-type:application/x-www-form-urlencoded; charset=utf-8
 5074   6951   
host:example.amazonaws.com
 5075   6952   
 5076   6953   
content-length;content-type;host
 5077         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6954  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5078   6955   
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
 5079   6956   
new file mode 100644
 5080   6957   
index 0000000..34a2e12
 5081         -
-- /dev/null
        6958  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 5082   6959   
@@ -0,0 +1 @@
        6960  +
3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
              \
 No newline at end of file
 5083   6961   
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
 5084   6962   
new file mode 100644
 5085   6963   
index 0000000..197b99e
 5086         -
-- /dev/null
        6964  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 5087   6965   
@@ -0,0 +1,6 @@
        6966  +
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
        6967  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6968  +
Host:example.amazonaws.com
        6969  +
Content-Length:13
        6970  +
        6971  +
Param1=value1
              \
 No newline at end of file
 5088   6972   
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
 5089   6973   
new file mode 100644
 5090   6974   
index 0000000..9d2bc74
 5091         -
-- /dev/null
        6975  +
++ 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
 5092   6976   
@@ -0,0 +1,4 @@
        6977  +
AWS4-ECDSA-P256-SHA256
        6978  +
20150830T123600Z
        6979  +
20150830/service/aws4_request
        6980  +
d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
              \
 No newline at end of file
 5093   6981   
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
 5094   6982   
similarity index 80%
 5095   6983   
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
 5096   6984   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5097   6985   
index 36015f1..8289eaa 100644
 5098         -
-- 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
        6986  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5099   6987   
@@ -1,6 +1,6 @@
 5100   6988   
POST / HTTP/1.1
 5101   6989   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 5102   6990   
Host:example.amazonaws.com
 5103         -
X-Amz-Date:20150830T123600Z
        6991  +
Content-Length:13
 5104   6992   
 5105   6993   
Param1=value1
              \
 No newline at end of file
 5106   6994   
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
 5107   6995   
new file mode 100644
 5108   6996   
index 0000000..0db1df1
 5109         -
-- /dev/null
        6997  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 5110   6998   
@@ -0,0 +1,12 @@
        6999  +
{
        7000  +
    "credentials": {
        7001  +
        "access_key_id": "AKIDEXAMPLE",
        7002  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7003  +
    },
        7004  +
    "expiration_in_seconds": 3600,
        7005  +
    "normalize": true,
        7006  +
    "region": "us-east-1",
        7007  +
    "service": "service",
        7008  +
    "sign_body": true,
        7009  +
    "timestamp": "2015-08-30T12:36:00Z"
        7010  +
}
              \
 No newline at end of file
 5111   7011   
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
 5112   7012   
similarity index 61%
 5113   7013   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
 5114   7014   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5115   7015   
index 69009dc..797632b 100644
 5116         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
        7016  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5117   7017   
@@ -1,12 +1,12 @@
 5118   7018   
POST
 5119   7019   
/
 5120   7020   
 5121   7021   
content-length:13
 5122   7022   
content-type:application/x-www-form-urlencoded
 5123   7023   
host:example.amazonaws.com
 5124         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7024  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 5125   7025   
x-amz-date:20150830T123600Z
 5126   7026   
x-amz-region-set:us-east-1
 5127   7027   
 5128   7028   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 5129         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7029  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5130   7030   
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
 5131   7031   
new file mode 100644
 5132   7032   
index 0000000..f5a641c
 5133         -
-- /dev/null
        7033  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 5134   7034   
@@ -0,0 +1 @@
        7035  +
304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
              \
 No newline at end of file
 5135   7036   
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
 5136   7037   
new file mode 100644
 5137   7038   
index 0000000..7bd94a7
 5138         -
-- /dev/null
        7039  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 5139   7040   
@@ -0,0 +1,10 @@
        7041  +
POST / HTTP/1.1
        7042  +
Content-Type:application/x-www-form-urlencoded
        7043  +
Host:example.amazonaws.com
        7044  +
Content-Length:13
        7045  +
X-Amz-Date:20150830T123600Z
        7046  +
X-Amz-Region-Set:us-east-1
        7047  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        7048  +
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
        7049  +
        7050  +
Param1=value1
              \
 No newline at end of file
 5140   7051   
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
 5141   7052   
new file mode 100644
 5142   7053   
index 0000000..8d25ba9
 5143         -
-- /dev/null
        7054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 5144   7055   
@@ -0,0 +1,4 @@
        7056  +
AWS4-ECDSA-P256-SHA256
        7057  +
20150830T123600Z
        7058  +
20150830/service/aws4_request
        7059  +
ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
              \
 No newline at end of file
 5145   7060   
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
 5146   7061   
new file mode 100644
 5147   7062   
index 0000000..379dcb2
 5148         -
-- /dev/null
        7063  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 5149   7064   
@@ -0,0 +1,4 @@
        7065  +
{
        7066  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7067  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7068  +
}
 5150   7069   
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
 5151   7070   
similarity index 99%
 5152   7071   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
 5153   7072   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 5154   7073   
index 9ed065b..563ff58 100644
 5155   7074   
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
 5156   7075   
new file mode 100644
 5157   7076   
index 0000000..0c77daf
 5158         -
-- /dev/null
        7077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 5159   7078   
@@ -0,0 +1 @@
        7079  +
304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
              \
 No newline at end of file
 5160   7080   
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
 5161   7081   
new file mode 100644
 5162   7082   
index 0000000..71d6de9
 5163         -
-- /dev/null
        7083  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 5164   7084   
@@ -0,0 +1,6 @@
        7085  +
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
        7086  +
Content-Type:application/x-www-form-urlencoded
        7087  +
Host:example.amazonaws.com
        7088  +
Content-Length:13
        7089  +
        7090  +
Param1=value1
              \
 No newline at end of file
 5165   7091   
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
 5166   7092   
similarity index 99%
 5167   7093   
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
 5168   7094   
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
 5169   7095   
index bef3143..cc7a224 100644
 5170   7096   
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
 5171   7097   
new file mode 100644
 5172   7098   
index 0000000..760b2d3
 5173         -
-- /dev/null
        7099  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 5174   7100   
@@ -0,0 +1,6 @@
        7101  +
POST / HTTP/1.1
        7102  +
Content-Type:application/x-www-form-urlencoded
        7103  +
Host:example.amazonaws.com
        7104  +
Content-Length:13
        7105  +
        7106  +
Param1=value1
              \
 No newline at end of file
 5175   7107   
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
 5176   7108   
index 9bd636f..b53f33f 100644
 5177         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
        7109  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 5178   7110   
@@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
 5179   7111   
            params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
 5180   7112   
        }
 5181   7113   
 5182   7114   
        if let SignatureValues::QueryParams(values) = values {
 5183   7115   
            add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
 5184   7116   
            add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
 5185   7117   
 5186   7118   
            #[cfg(feature = "sigv4a")]
 5187   7119   
            if let Some(regions) = values.region_set {
 5188   7120   
                add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
 5189   7121   
            }
 5190   7122   
 5191   7123   
            add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
 5192   7124   
            add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
 5193   7125   
            add_param(
 5194   7126   
                &mut params,
 5195   7127   
                param::X_AMZ_SIGNED_HEADERS,
 5196   7128   
                values.signed_headers.as_str(),
 5197   7129   
            );
 5198   7130   
 5199   7131   
            if let Some(security_token) = values.security_token {
 5200   7132   
                add_param(
 5201   7133   
                    &mut params,
 5202   7134   
                    settings
 5203   7135   
                        .session_token_name_override
 5204   7136   
                        .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
 5205   7137   
                    security_token,
 5206   7138   
                );
 5207   7139   
            }
 5208   7140   
        }
 5209         -
        // Sort by param name, and then by param value
        7141  +
        7142  +
        // Sort on the _encoded_ key/value pairs
        7143  +
        let mut params: Vec<(String, String)> = params
        7144  +
            .into_iter()
        7145  +
            .map(|x| {
        7146  +
                use aws_smithy_http::query::fmt_string;
        7147  +
                let enc_k = fmt_string(&x.0);
        7148  +
                let enc_v = fmt_string(&x.1);
        7149  +
                (enc_k, enc_v)
        7150  +
            })
        7151  +
            .collect();
        7152  +
 5210   7153   
        params.sort();
 5211   7154   
 5212   7155   
        let mut query = QueryWriter::new(uri);
 5213   7156   
        query.clear_params();
 5214   7157   
        for (key, value) in params {
 5215         -
            query.insert(&key, &value);
        7158  +
            query.insert_encoded(&key, &value);
 5216   7159   
        }
 5217   7160   
 5218   7161   
        let query = query.build_query();
 5219   7162   
        if query.is_empty() {
 5220   7163   
            None
 5221   7164   
        } else {
 5222   7165   
            Some(query)
 5223   7166   
        }
 5224   7167   
    }
 5225   7168   
 5226   7169   
    fn insert_host_header(
 5227   7170   
        canonical_headers: &mut HeaderMap<HeaderValue>,
 5228   7171   
        uri: &Uri,
 5229   7172   
    ) -> HeaderValue {
 5230   7173   
        match canonical_headers.get(&HOST) {
 5231   7174   
            Some(header) => header.clone(),
 5232   7175   
            None => {
 5233   7176   
                let port = uri.port();
 5234   7177   
                let scheme = uri.scheme();
 5235   7178   
                let authority = uri
 5236   7179   
                    .authority()
 5237   7180   
                    .expect("request uri authority must be set for signing")
 5238   7181   
                    .as_str();
 5239   7182   
                let host = uri
 5240   7183   
                    .host()
 5241   7184   
                    .expect("request uri host must be set for signing");
 5242   7185   
 5243   7186   
                // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
 5244   7187   
                // Host header when signing since RFC 2616 indicates that the default port should not be
 5245   7188   
                // sent in the Host header (and Hyper strips default ports if they are present)
 5246   7189   
@@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
 5247   7190   
            service,
 5248   7191   
            hashed_creq,
 5249   7192   
            signature_version: SignatureVersion::V4a,
 5250   7193   
        }
 5251   7194   
    }
 5252   7195   
}
 5253   7196   
 5254   7197   
impl fmt::Display for StringToSign<'_> {
 5255   7198   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 5256   7199   
        write!(
 5257   7200   
            f,
 5258   7201   
            "{}\n{}\n{}\n{}",
 5259   7202   
            self.algorithm,
 5260   7203   
            format_date_time(self.time),
 5261   7204   
            match self.signature_version {
 5262   7205   
                SignatureVersion::V4 => self.scope.to_string(),
 5263   7206   
                SignatureVersion::V4a => self.scope.v4a_display(),
 5264   7207   
            },
 5265   7208   
            self.hashed_creq
 5266   7209   
        )
 5267   7210   
    }
 5268   7211   
}
 5269   7212   
 5270   7213   
#[cfg(test)]
 5271   7214   
mod tests {
 5272   7215   
    use crate::date_time::test_parsers::parse_date_time;
 5273   7216   
    use crate::http_request::canonical_request::{
 5274   7217   
        normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
 5275   7218   
    };
 5276   7219   
    use crate::http_request::test;
        7220  +
    use crate::http_request::test::SigningSuiteTest;
 5277   7221   
    use crate::http_request::{
 5278   7222   
        PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
 5279   7223   
        SigningParams, SigningSettings,
 5280   7224   
    };
 5281   7225   
    use crate::sign::v4;
 5282   7226   
    use crate::sign::v4::sha256_hex_string;
 5283   7227   
    use aws_credential_types::Credentials;
 5284   7228   
    use aws_smithy_http::query_writer::QueryWriter;
 5285   7229   
    use aws_smithy_runtime_api::client::identity::Identity;
 5286   7230   
    use http0::{HeaderValue, Uri};
 5287   7231   
    use pretty_assertions::assert_eq;
 5288   7232   
    use proptest::{prelude::*, proptest};
 5289   7233   
    use std::borrow::Cow;
 5290   7234   
    use std::time::Duration;
 5291   7235   
 5292   7236   
    fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
 5293   7237   
        v4::signing_params::Builder::default()
 5294   7238   
            .identity(identity)
 5295   7239   
            .region("test-region")
 5296   7240   
            .name("testservicename")
 5297   7241   
            .time(parse_date_time("20210511T154045Z").unwrap())
 5298   7242   
            .settings(settings)
 5299   7243   
            .build()
 5300   7244   
            .unwrap()
 5301   7245   
            .into()
 5302   7246   
    }
 5303   7247   
 5304   7248   
    #[test]
 5305   7249   
    fn test_repeated_header() {
 5306         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7250  +
        let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7251  +
        let mut req = test.request();
 5307   7252   
        req.headers.push((
 5308   7253   
            "x-amz-object-attributes".to_string(),
 5309   7254   
            "Checksum".to_string(),
 5310   7255   
        ));
 5311   7256   
        req.headers.push((
 5312   7257   
            "x-amz-object-attributes".to_string(),
 5313   7258   
            "ObjectSize".to_string(),
 5314   7259   
        ));
 5315   7260   
        let req = SignableRequest::from(&req);
 5316   7261   
        let settings = SigningSettings {
 5317   7262   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5318   7263   
            session_token_mode: SessionTokenMode::Exclude,
 5319   7264   
            ..Default::default()
 5320   7265   
        };
 5321   7266   
        let identity = Credentials::for_tests().into();
 5322   7267   
        let signing_params = signing_params(&identity, settings);
 5323   7268   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5324   7269   
 5325   7270   
        assert_eq!(
 5326   7271   
            creq.values.signed_headers().to_string(),
 5327   7272   
            "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
 5328   7273   
        );
 5329   7274   
        assert_eq!(
 5330   7275   
            creq.header_values_for("x-amz-object-attributes"),
 5331   7276   
            "Checksum,ObjectSize",
 5332   7277   
        );
 5333   7278   
    }
 5334   7279   
 5335   7280   
    #[test]
 5336   7281   
    fn test_host_header_properly_handles_ports() {
 5337   7282   
        fn host_header_test_setup(endpoint: String) -> String {
 5338         -
            let mut req = test::v4::test_request("get-vanilla");
        7283  +
            let test = SigningSuiteTest::v4("get-vanilla");
        7284  +
            let mut req = test.request();
 5339   7285   
            req.uri = endpoint;
 5340   7286   
            let req = SignableRequest::from(&req);
 5341   7287   
            let settings = SigningSettings {
 5342   7288   
                payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5343   7289   
                session_token_mode: SessionTokenMode::Exclude,
 5344   7290   
                ..Default::default()
 5345   7291   
            };
 5346   7292   
            let identity = Credentials::for_tests().into();
 5347   7293   
            let signing_params = signing_params(&identity, settings);
 5348   7294   
            let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5349   7295   
            creq.header_values_for("host")
 5350   7296   
        }
 5351   7297   
 5352   7298   
        // HTTP request with 80 port should not be signed with that port
 5353   7299   
        let http_80_host_header = host_header_test_setup("http://localhost:80".into());
 5354   7300   
        assert_eq!(http_80_host_header, "localhost",);
 5355   7301   
 5356   7302   
        // HTTP request with non-80 port should be signed with that port
 5357   7303   
        let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
 5358   7304   
        assert_eq!(http_1234_host_header, "localhost:1234",);
 5359   7305   
 5360   7306   
        // HTTPS request with 443 port should not be signed with that port
 5361   7307   
        let https_443_host_header = host_header_test_setup("https://localhost:443".into());
 5362   7308   
        assert_eq!(https_443_host_header, "localhost",);
 5363   7309   
 5364   7310   
        // HTTPS request with non-443 port should be signed with that port
 5365   7311   
        let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
 5366   7312   
        assert_eq!(https_1234_host_header, "localhost:1234",);
 5367   7313   
    }
 5368   7314   
 5369   7315   
    #[test]
 5370   7316   
    fn test_set_xamz_sha_256() {
 5371         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7317  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7318  +
        let req = test.request();
 5372   7319   
        let req = SignableRequest::from(&req);
 5373   7320   
        let settings = SigningSettings {
 5374   7321   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5375   7322   
            session_token_mode: SessionTokenMode::Exclude,
 5376   7323   
            ..Default::default()
 5377   7324   
        };
 5378   7325   
        let identity = Credentials::for_tests().into();
 5379   7326   
        let mut signing_params = signing_params(&identity, settings);
 5380   7327   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5381   7328   
        assert_eq!(
 5382   7329   
            creq.values.content_sha256(),
 5383   7330   
            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 5384   7331   
        );
 5385   7332   
        // assert that the sha256 header was added
 5386   7333   
        assert_eq!(
 5387   7334   
            creq.values.signed_headers().as_str(),
 5388   7335   
            "host;x-amz-content-sha256;x-amz-date"
 5389   7336   
        );
 5390   7337   
 5391   7338   
        signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
 5392   7339   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5393   7340   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5394   7341   
    }
 5395   7342   
 5396   7343   
    #[test]
 5397   7344   
    fn test_unsigned_payload() {
 5398         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7345  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7346  +
        let mut req = test.request();
 5399   7347   
        req.set_body(SignableBody::UnsignedPayload);
 5400   7348   
        let req: SignableRequest<'_> = SignableRequest::from(&req);
 5401   7349   
 5402   7350   
        let settings = SigningSettings {
 5403   7351   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5404   7352   
            ..Default::default()
 5405   7353   
        };
 5406   7354   
        let identity = Credentials::for_tests().into();
 5407   7355   
        let signing_params = signing_params(&identity, settings);
 5408   7356   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5409   7357   
        assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
 5410   7358   
        assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
 5411   7359   
    }
 5412   7360   
 5413   7361   
    #[test]
 5414   7362   
    fn test_precomputed_payload() {
 5415   7363   
        let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
 5416         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7364  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7365  +
        let mut req = test.request();
 5417   7366   
        req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
 5418   7367   
        let req = SignableRequest::from(&req);
 5419   7368   
        let settings = SigningSettings {
 5420   7369   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5421   7370   
            ..Default::default()
 5422   7371   
        };
 5423   7372   
        let identity = Credentials::for_tests().into();
 5424   7373   
        let signing_params = signing_params(&identity, settings);
 5425   7374   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5426   7375   
        assert_eq!(creq.values.content_sha256(), payload_hash);
 5427   7376   
        assert!(creq.to_string().ends_with(payload_hash));
 5428   7377   
    }
 5429   7378   
 5430   7379   
    #[test]
 5431   7380   
    fn test_generate_scope() {
 5432   7381   
        let expected = "20150830/us-east-1/iam/aws4_request\n";
 5433   7382   
        let scope = SigningScope {
 5434   7383   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5435   7384   
            region: "us-east-1",
 5436   7385   
            service: "iam",
 5437   7386   
        };
 5438   7387   
        assert_eq!(format!("{}\n", scope), expected);
 5439   7388   
    }
 5440   7389   
 5441   7390   
    #[test]
 5442   7391   
    fn test_string_to_sign() {
 5443   7392   
        let time = parse_date_time("20150830T123600Z").unwrap();
 5444         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
 5445         -
        let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
        7393  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7394  +
        let creq = test.canonical_request(SignatureLocation::Headers);
        7395  +
        let expected_sts = test.string_to_sign(SignatureLocation::Headers);
 5446   7396   
        let encoded = sha256_hex_string(creq.as_bytes());
 5447   7397   
 5448   7398   
        let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
 5449   7399   
        assert_eq!(expected_sts, actual.to_string());
 5450   7400   
    }
 5451   7401   
 5452   7402   
    #[test]
 5453   7403   
    fn test_digest_of_canonical_request() {
 5454         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
        7404  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7405  +
        let creq = test.canonical_request(SignatureLocation::Headers);
 5455   7406   
        let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
 5456   7407   
        let actual = sha256_hex_string(creq.as_bytes());
 5457   7408   
        assert_eq!(expected, actual);
 5458   7409   
    }
 5459   7410   
 5460   7411   
    #[test]
 5461   7412   
    fn test_double_url_encode_path() {
 5462         -
        let req = test::v4::test_request("double-encode-path");
        7413  +
        let test = SigningSuiteTest::v4("double-encode-path");
        7414  +
        let req = test.request();
 5463   7415   
        let req = SignableRequest::from(&req);
 5464   7416   
        let identity = Credentials::for_tests().into();
 5465   7417   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5466   7418   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5467   7419   
 5468         -
        let expected = test::v4::test_canonical_request("double-encode-path");
        7420  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5469   7421   
        let actual = format!("{}", creq);
 5470   7422   
        assert_eq!(actual, expected);
 5471   7423   
    }
 5472   7424   
 5473   7425   
    #[test]
 5474   7426   
    fn test_double_url_encode() {
 5475         -
        let req = test::v4::test_request("double-url-encode");
        7427  +
        let test = SigningSuiteTest::v4("double-url-encode");
        7428  +
        let req = test.request();
 5476   7429   
        let req = SignableRequest::from(&req);
 5477   7430   
        let identity = Credentials::for_tests().into();
 5478   7431   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5479   7432   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5480         -
 5481         -
        let expected = test::v4::test_canonical_request("double-url-encode");
        7433  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5482   7434   
        let actual = format!("{}", creq);
 5483   7435   
        assert_eq!(actual, expected);
 5484   7436   
    }
 5485   7437   
 5486   7438   
    #[test]
 5487   7439   
    fn test_tilde_in_uri() {
 5488   7440   
        let req = http0::Request::builder()
 5489   7441   
            .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
 5490   7442   
        let req = SignableRequest::from(&req);
 5491   7443   
        let identity = Credentials::for_tests().into();
 5492   7444   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5493   7445   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5494   7446   
        assert_eq!(
 5495   7447   
            Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
 5496   7448   
            creq.params.as_deref(),
 5497   7449   
        );
 5498   7450   
    }
 5499   7451   
 5500   7452   
    #[test]
 5501   7453   
    fn test_signing_urls_with_percent_encoded_query_strings() {
 5502   7454   
        let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
 5503   7455   
        let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
 5504   7456   
 5505   7457   
        let mut query_writer = QueryWriter::new(&uri);
 5506   7458   
        query_writer.insert("list-type", "2");
 5507   7459   
        query_writer.insert("prefix", &all_printable_ascii_chars);
 5508   7460   
 5509   7461   
        let req = http0::Request::builder()
 5510   7462   
            .uri(query_writer.build_uri())
 5511   7463   
            .body("")
 5512   7464   
            .unwrap()
 5513   7465   
            .into();
 5514   7466   
        let req = SignableRequest::from(&req);
 5515   7467   
        let identity = Credentials::for_tests().into();
 5516   7468   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5517   7469   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5518   7470   
 5519   7471   
        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~";
 5520   7472   
        let actual = creq.params.unwrap();
 5521   7473   
        assert_eq!(expected, actual);
 5522   7474   
    }
 5523   7475   
 5524   7476   
    #[test]
 5525   7477   
    fn test_omit_session_token() {
 5526         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7478  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7479  +
        let req = test.request();
 5527   7480   
        let req = SignableRequest::from(&req);
 5528   7481   
        let settings = SigningSettings {
 5529   7482   
            session_token_mode: SessionTokenMode::Include,
 5530   7483   
            ..Default::default()
 5531   7484   
        };
 5532   7485   
        let identity = Credentials::for_tests_with_session_token().into();
 5533   7486   
        let mut signing_params = signing_params(&identity, settings);
 5534   7487   
 5535   7488   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5536   7489   
        assert_eq!(
 5537   7490   
            creq.values.signed_headers().as_str(),
 5538   7491   
            "host;x-amz-date;x-amz-security-token"
 5539   7492   
        );
 5540   7493   
        assert_eq!(
 5541   7494   
            creq.headers.get("x-amz-security-token").unwrap(),
 5542   7495   
            "notarealsessiontoken"
 5543   7496   
        );
 5544   7497   
 5545   7498   
        signing_params.set_session_token_mode(SessionTokenMode::Exclude);
 5546   7499   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5547   7500   
        assert_eq!(
 5548   7501   
            creq.headers.get("x-amz-security-token").unwrap(),
 5549   7502   
            "notarealsessiontoken"
 5550   7503   
        );
 5551   7504   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5552   7505   
    }
 5553   7506   
 5554   7507   
    // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
 5555   7508   
    #[test]
 5556   7509   
    fn non_presigning_header_exclusion() {
 5557   7510   
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
 5558   7511   
index c4bbbee..363fc2c 100644
 5559         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
        7512  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 5560   7513   
@@ -6,60 +6,62 @@
 5561   7514   
use super::error::SigningError;
 5562   7515   
use super::{PayloadChecksumKind, SignatureLocation};
 5563   7516   
use crate::http_request::canonical_request::header;
 5564   7517   
use crate::http_request::canonical_request::param;
 5565   7518   
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5566   7519   
use crate::http_request::error::CanonicalRequestError;
 5567   7520   
use crate::http_request::SigningParams;
 5568   7521   
use crate::sign::v4;
 5569   7522   
#[cfg(feature = "sigv4a")]
 5570   7523   
use crate::sign::v4a;
 5571   7524   
use crate::{SignatureVersion, SigningOutput};
 5572   7525   
use http0::Uri;
 5573   7526   
use std::borrow::Cow;
 5574   7527   
use std::fmt::{Debug, Formatter};
 5575   7528   
use std::str;
 5576   7529   
 5577   7530   
const LOG_SIGNABLE_BODY: &str = "LOG_SIGNABLE_BODY";
 5578   7531   
 5579   7532   
/// Represents all of the information necessary to sign an HTTP request.
 5580   7533   
#[derive(Debug)]
 5581   7534   
#[non_exhaustive]
 5582   7535   
pub struct SignableRequest<'a> {
 5583   7536   
    method: &'a str,
 5584   7537   
    uri: Uri,
 5585   7538   
    headers: Vec<(&'a str, &'a str)>,
 5586   7539   
    body: SignableBody<'a>,
 5587   7540   
}
 5588   7541   
 5589   7542   
impl<'a> SignableRequest<'a> {
 5590   7543   
    /// Creates a new `SignableRequest`.
        7544  +
    ///
        7545  +
    /// NOTE: The `uri` is expected to already in encoded form.
 5591   7546   
    pub fn new(
 5592   7547   
        method: &'a str,
 5593   7548   
        uri: impl Into<Cow<'a, str>>,
 5594   7549   
        headers: impl Iterator<Item = (&'a str, &'a str)>,
 5595   7550   
        body: SignableBody<'a>,
 5596   7551   
    ) -> Result<Self, SigningError> {
 5597   7552   
        let uri = uri
 5598   7553   
            .into()
 5599   7554   
            .parse()
 5600   7555   
            .map_err(|e| SigningError::from(CanonicalRequestError::from(e)))?;
 5601   7556   
        let headers = headers.collect();
 5602   7557   
        Ok(Self {
 5603   7558   
            method,
 5604   7559   
            uri,
 5605   7560   
            headers,
 5606   7561   
            body,
 5607   7562   
        })
 5608   7563   
    }
 5609   7564   
 5610   7565   
    /// Returns the signable URI
 5611   7566   
    pub(crate) fn uri(&self) -> &Uri {
 5612   7567   
        &self.uri
 5613   7568   
    }
 5614   7569   
 5615   7570   
    /// Returns the signable HTTP method
 5616   7571   
    pub(crate) fn method(&self) -> &str {
 5617   7572   
        self.method
 5618   7573   
    }
 5619   7574   
 5620   7575   
    /// Returns the request headers
 5621   7576   
@@ -478,436 +480,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 5622   7577   
        sensitive,
 5623   7578   
    });
 5624   7579   
}
 5625   7580   
 5626   7581   
// add signature to authorization header
 5627   7582   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 5628   7583   
fn build_authorization_header(
 5629   7584   
    access_key: &str,
 5630   7585   
    creq: &CanonicalRequest<'_>,
 5631   7586   
    sts: StringToSign<'_>,
 5632   7587   
    signature: &str,
 5633   7588   
    signature_version: SignatureVersion,
 5634   7589   
) -> String {
 5635   7590   
    let scope = match signature_version {
 5636   7591   
        SignatureVersion::V4 => sts.scope.to_string(),
 5637   7592   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 5638   7593   
    };
 5639   7594   
    format!(
 5640   7595   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 5641   7596   
        sts.algorithm,
 5642   7597   
        access_key,
 5643   7598   
        scope,
 5644   7599   
        creq.values.signed_headers().as_str(),
 5645   7600   
        signature
 5646   7601   
    )
 5647   7602   
}
 5648   7603   
#[cfg(test)]
 5649   7604   
mod tests {
 5650   7605   
    use crate::date_time::test_parsers::parse_date_time;
 5651   7606   
    use crate::http_request::sign::{add_header, SignableRequest};
        7607  +
    use crate::http_request::test::SigningSuiteTest;
 5652   7608   
    use crate::http_request::{
 5653         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        7609  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 5654   7610   
        SigningSettings,
 5655   7611   
    };
 5656   7612   
    use crate::sign::v4;
 5657   7613   
    use aws_credential_types::Credentials;
 5658   7614   
    use http0::{HeaderValue, Request};
 5659   7615   
    use pretty_assertions::assert_eq;
 5660   7616   
    use proptest::proptest;
 5661   7617   
    use std::borrow::Cow;
 5662   7618   
    use std::iter;
 5663         -
    use std::time::Duration;
 5664   7619   
 5665   7620   
    macro_rules! assert_req_eq {
 5666   7621   
        (http: $expected:expr, $actual:expr) => {
 5667   7622   
            let mut expected = ($expected).map(|_b|"body");
 5668   7623   
            let mut actual = ($actual).map(|_b|"body");
 5669   7624   
            make_headers_comparable(&mut expected);
 5670   7625   
            make_headers_comparable(&mut actual);
 5671   7626   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 5672   7627   
        };
 5673   7628   
        ($expected:tt, $actual:tt) => {
 5674   7629   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 5675   7630   
        };
 5676   7631   
    }
 5677   7632   
 5678   7633   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 5679   7634   
        for (_name, value) in request.headers_mut() {
 5680   7635   
            value.set_sensitive(false);
 5681   7636   
        }
 5682   7637   
    }
 5683   7638   
 5684         -
    #[test]
 5685         -
    fn test_sign_vanilla_with_headers() {
 5686         -
        let settings = SigningSettings::default();
 5687         -
        let identity = &Credentials::for_tests().into();
 5688         -
        let params = v4::SigningParams {
 5689         -
            identity,
 5690         -
            region: "us-east-1",
 5691         -
            name: "service",
 5692         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5693         -
            settings,
 5694         -
        }
 5695         -
        .into();
 5696         -
 5697         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5698         -
        let signable = SignableRequest::from(&original);
 5699         -
        let out = sign(signable, &params).unwrap();
 5700         -
        assert_eq!(
 5701         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 5702         -
            out.signature
 5703         -
        );
 5704         -
 5705         -
        let mut signed = original.as_http_request();
 5706         -
        out.output.apply_to_request_http0x(&mut signed);
 5707         -
 5708         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 5709         -
        assert_req_eq!(expected, signed);
 5710         -
    }
 5711         -
        7639  +
    // Sigv4A suite tests
 5712   7640   
    #[cfg(feature = "sigv4a")]
 5713         -
    mod sigv4a_tests {
 5714         -
        use super::*;
 5715         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5716         -
        use crate::http_request::{sign, test, SigningParams};
 5717         -
        use crate::sign::v4a;
 5718         -
        use p256::ecdsa::signature::{Signature, Verifier};
 5719         -
        use p256::ecdsa::{DerSignature, SigningKey};
 5720         -
        use pretty_assertions::assert_eq;
 5721         -
 5722         -
        fn new_v4a_signing_params_from_context(
 5723         -
            test_context: &'_ test::v4a::TestContext,
 5724         -
            signature_location: SignatureLocation,
 5725         -
        ) -> SigningParams<'_> {
 5726         -
            let mut params = v4a::SigningParams::from(test_context);
 5727         -
            params.settings.signature_location = signature_location;
 5728         -
 5729         -
            params.into()
 5730         -
        }
 5731         -
 5732         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 5733         -
            let tc = test::v4a::test_context(test_name);
 5734         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 5735         -
 5736         -
            let req = test::v4a::test_request(test_name);
 5737         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 5738         -
            let signable_req = SignableRequest::from(&req);
 5739         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        7641  +
    mod v4a_suite {
        7642  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 5740   7643   
 5741         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
 5742         -
 5743         -
            let expected_string_to_sign =
 5744         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 5745         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 5746         -
            let actual_string_to_sign = StringToSign::new_v4a(
 5747         -
                *params.time(),
 5748         -
                params.region_set().unwrap(),
 5749         -
                params.name(),
 5750         -
                hashed_creq,
 5751         -
            )
 5752         -
            .to_string();
 5753         -
 5754         -
            assert_eq!(
 5755         -
                expected_string_to_sign, actual_string_to_sign,
 5756         -
                "'string to sign' didn't match"
 5757         -
            );
 5758         -
 5759         -
            let out = sign(signable_req, &params).unwrap();
 5760         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 5761         -
            out.output
 5762         -
                .apply_to_request_http0x(&mut req.as_http_request());
 5763         -
 5764         -
            let creds = params.credentials().unwrap();
 5765         -
            let signing_key =
 5766         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 5767         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 5768         -
            let sig = sig
 5769         -
                .try_into()
 5770         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 5771         -
 5772         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 5773         -
            let peer_public_key = signing_key.verifying_key();
 5774         -
            let sts = actual_string_to_sign.as_bytes();
 5775         -
            peer_public_key.verify(sts, &sig).unwrap();
        7644  +
        #[test]
        7645  +
        fn test_get_header_key_duplicate() {
        7646  +
            run_test_suite_v4a("get-header-key-duplicate")
 5776   7647   
        }
 5777   7648   
 5778   7649   
        #[test]
 5779         -
        fn test_get_header_key_duplicate() {
 5780         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        7650  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7651  +
        fn test_get_header_value_multiline() {
        7652  +
            run_test_suite_v4a("get-header-value-multiline")
 5781   7653   
        }
 5782   7654   
 5783   7655   
        #[test]
 5784   7656   
        fn test_get_header_value_order() {
 5785         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        7657  +
            run_test_suite_v4a("get-header-value-order")
 5786   7658   
        }
 5787   7659   
 5788   7660   
        #[test]
 5789   7661   
        fn test_get_header_value_trim() {
 5790         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        7662  +
            run_test_suite_v4a("get-header-value-trim");
 5791   7663   
        }
 5792   7664   
 5793   7665   
        #[test]
 5794   7666   
        fn test_get_relative_normalized() {
 5795         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        7667  +
            run_test_suite_v4a("get-relative-normalized");
 5796   7668   
        }
 5797   7669   
 5798   7670   
        #[test]
 5799   7671   
        fn test_get_relative_relative_normalized() {
 5800         -
            run_v4a_test_suite(
 5801         -
                "get-relative-relative-normalized",
 5802         -
                SignatureLocation::Headers,
 5803         -
            );
        7672  +
            run_test_suite_v4a("get-relative-relative-normalized");
 5804   7673   
        }
 5805   7674   
 5806   7675   
        #[test]
 5807   7676   
        fn test_get_relative_relative_unnormalized() {
 5808         -
            run_v4a_test_suite(
 5809         -
                "get-relative-relative-unnormalized",
 5810         -
                SignatureLocation::Headers,
 5811         -
            );
        7677  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 5812   7678   
        }
 5813   7679   
 5814   7680   
        #[test]
 5815   7681   
        fn test_get_relative_unnormalized() {
 5816         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        7682  +
            run_test_suite_v4a("get-relative-unnormalized");
 5817   7683   
        }
 5818   7684   
 5819   7685   
        #[test]
 5820   7686   
        fn test_get_slash_dot_slash_normalized() {
 5821         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        7687  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 5822   7688   
        }
 5823   7689   
 5824   7690   
        #[test]
 5825   7691   
        fn test_get_slash_dot_slash_unnormalized() {
 5826         -
            run_v4a_test_suite(
 5827         -
                "get-slash-dot-slash-unnormalized",
 5828         -
                SignatureLocation::Headers,
 5829         -
            );
        7692  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 5830   7693   
        }
 5831   7694   
 5832   7695   
        #[test]
 5833   7696   
        fn test_get_slash_normalized() {
 5834         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        7697  +
            run_test_suite_v4a("get-slash-normalized");
 5835   7698   
        }
 5836   7699   
 5837   7700   
        #[test]
 5838   7701   
        fn test_get_slash_pointless_dot_normalized() {
 5839         -
            run_v4a_test_suite(
 5840         -
                "get-slash-pointless-dot-normalized",
 5841         -
                SignatureLocation::Headers,
 5842         -
            );
        7702  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 5843   7703   
        }
 5844   7704   
 5845   7705   
        #[test]
 5846   7706   
        fn test_get_slash_pointless_dot_unnormalized() {
 5847         -
            run_v4a_test_suite(
 5848         -
                "get-slash-pointless-dot-unnormalized",
 5849         -
                SignatureLocation::Headers,
 5850         -
            );
        7707  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 5851   7708   
        }
 5852   7709   
 5853   7710   
        #[test]
 5854   7711   
        fn test_get_slash_unnormalized() {
 5855         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        7712  +
            run_test_suite_v4a("get-slash-unnormalized");
 5856   7713   
        }
 5857   7714   
 5858   7715   
        #[test]
 5859   7716   
        fn test_get_slashes_normalized() {
 5860         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        7717  +
            run_test_suite_v4a("get-slashes-normalized");
 5861   7718   
        }
 5862   7719   
 5863   7720   
        #[test]
 5864   7721   
        fn test_get_slashes_unnormalized() {
 5865         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        7722  +
            run_test_suite_v4a("get-slashes-unnormalized");
        7723  +
        }
        7724  +
        7725  +
        #[test]
        7726  +
        #[ignore = "relies on single encode of path segments"]
        7727  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7728  +
        // skipped until we add control over double_uri_encode in context.json
        7729  +
        fn test_get_space_normalized() {
        7730  +
            run_test_suite_v4a("get-space-normalized");
        7731  +
        }
        7732  +
        7733  +
        #[test]
        7734  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7735  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7736  +
        fn test_get_space_unnormalized() {
        7737  +
            run_test_suite_v4a("get-space-unnormalized");
 5866   7738   
        }
 5867   7739   
 5868   7740   
        #[test]
 5869   7741   
        fn test_get_unreserved() {
 5870         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        7742  +
            run_test_suite_v4a("get-unreserved");
        7743  +
        }
        7744  +
        7745  +
        #[test]
        7746  +
        #[ignore = "httparse fails on invalid uri character"]
        7747  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7748  +
        fn test_get_utf8() {
        7749  +
            run_test_suite_v4a("get-utf8");
 5871   7750   
        }
 5872   7751   
 5873   7752   
        #[test]
 5874   7753   
        fn test_get_vanilla() {
 5875         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        7754  +
            run_test_suite_v4a("get-vanilla");
 5876   7755   
        }
 5877   7756   
 5878   7757   
        #[test]
 5879   7758   
        fn test_get_vanilla_empty_query_key() {
 5880         -
            run_v4a_test_suite(
 5881         -
                "get-vanilla-empty-query-key",
 5882         -
                SignatureLocation::QueryParams,
 5883         -
            );
        7759  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 5884   7760   
        }
 5885   7761   
 5886   7762   
        #[test]
 5887   7763   
        fn test_get_vanilla_query() {
 5888         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        7764  +
            run_test_suite_v4a("get-vanilla-query");
        7765  +
        }
        7766  +
        7767  +
        #[test]
        7768  +
        fn test_get_vanilla_query_order_encoded() {
        7769  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 5889   7770   
        }
 5890   7771   
 5891   7772   
        #[test]
 5892   7773   
        fn test_get_vanilla_query_order_key_case() {
 5893         -
            run_v4a_test_suite(
 5894         -
                "get-vanilla-query-order-key-case",
 5895         -
                SignatureLocation::QueryParams,
 5896         -
            );
        7774  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 5897   7775   
        }
 5898   7776   
 5899   7777   
        #[test]
 5900   7778   
        fn test_get_vanilla_query_unreserved() {
 5901         -
            run_v4a_test_suite(
 5902         -
                "get-vanilla-query-unreserved",
 5903         -
                SignatureLocation::QueryParams,
 5904         -
            );
        7779  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        7780  +
        }
        7781  +
        7782  +
        #[test]
        7783  +
        #[ignore = "httparse fails on invalid uri character"]
        7784  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7785  +
        fn test_get_vanilla_utf8_query() {
        7786  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 5905   7787   
        }
 5906   7788   
 5907   7789   
        #[test]
 5908   7790   
        fn test_get_vanilla_with_session_token() {
 5909         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        7791  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 5910   7792   
        }
 5911   7793   
 5912   7794   
        #[test]
 5913   7795   
        fn test_post_header_key_case() {
 5914         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        7796  +
            run_test_suite_v4a("post-header-key-case");
 5915   7797   
        }
 5916   7798   
 5917   7799   
        #[test]
 5918   7800   
        fn test_post_header_key_sort() {
 5919         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        7801  +
            run_test_suite_v4a("post-header-key-sort");
 5920   7802   
        }
 5921   7803   
 5922   7804   
        #[test]
 5923   7805   
        fn test_post_header_value_case() {
 5924         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        7806  +
            run_test_suite_v4a("post-header-value-case");
 5925   7807   
        }
 5926   7808   
 5927   7809   
        #[test]
 5928   7810   
        fn test_post_sts_header_after() {
 5929         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        7811  +
            run_test_suite_v4a("post-sts-header-after");
 5930   7812   
        }
 5931   7813   
 5932   7814   
        #[test]
 5933   7815   
        fn test_post_sts_header_before() {
 5934         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        7816  +
            run_test_suite_v4a("post-sts-header-before");
 5935   7817   
        }
 5936   7818   
 5937   7819   
        #[test]
 5938   7820   
        fn test_post_vanilla() {
 5939         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        7821  +
            run_test_suite_v4a("post-vanilla");
 5940   7822   
        }
 5941   7823   
 5942   7824   
        #[test]
 5943   7825   
        fn test_post_vanilla_empty_query_value() {
 5944         -
            run_v4a_test_suite(
 5945         -
                "post-vanilla-empty-query-value",
 5946         -
                SignatureLocation::QueryParams,
 5947         -
            );
        7826  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 5948   7827   
        }
 5949   7828   
 5950   7829   
        #[test]
 5951   7830   
        fn test_post_vanilla_query() {
 5952         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        7831  +
            run_test_suite_v4a("post-vanilla-query");
 5953   7832   
        }
 5954   7833   
 5955   7834   
        #[test]
 5956   7835   
        fn test_post_x_www_form_urlencoded() {
 5957         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        7836  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 5958   7837   
        }
 5959   7838   
 5960   7839   
        #[test]
 5961   7840   
        fn test_post_x_www_form_urlencoded_parameters() {
 5962         -
            run_v4a_test_suite(
 5963         -
                "post-x-www-form-urlencoded-parameters",
 5964         -
                SignatureLocation::QueryParams,
 5965         -
            );
        7841  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 5966   7842   
        }
 5967   7843   
    }
 5968   7844   
 5969   7845   
    #[test]
 5970   7846   
    fn test_sign_url_escape() {
 5971         -
        let test = "double-encode-path";
        7847  +
        let test = SigningSuiteTest::v4("double-encode-path");
 5972   7848   
        let settings = SigningSettings::default();
 5973   7849   
        let identity = &Credentials::for_tests().into();
 5974   7850   
        let params = v4::SigningParams {
 5975   7851   
            identity,
 5976   7852   
            region: "us-east-1",
 5977   7853   
            name: "service",
 5978   7854   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5979   7855   
            settings,
 5980   7856   
        }
 5981   7857   
        .into();
 5982   7858   
 5983         -
        let original = test::v4::test_request(test);
        7859  +
        let original = test.request();
 5984   7860   
        let signable = SignableRequest::from(&original);
 5985   7861   
        let out = sign(signable, &params).unwrap();
 5986   7862   
        assert_eq!(
 5987   7863   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 5988   7864   
            out.signature
 5989   7865   
        );
 5990   7866   
 5991   7867   
        let mut signed = original.as_http_request();
 5992   7868   
        out.output.apply_to_request_http0x(&mut signed);
 5993   7869   
 5994         -
        let expected = test::v4::test_signed_request(test);
 5995         -
        assert_req_eq!(expected, signed);
 5996         -
    }
 5997         -
 5998         -
    #[test]
 5999         -
    fn test_sign_vanilla_with_query_params() {
 6000         -
        let settings = SigningSettings {
 6001         -
            signature_location: SignatureLocation::QueryParams,
 6002         -
            expires_in: Some(Duration::from_secs(35)),
 6003         -
            ..Default::default()
 6004         -
        };
 6005         -
        let identity = &Credentials::for_tests().into();
 6006         -
        let params = v4::SigningParams {
 6007         -
            identity,
 6008         -
            region: "us-east-1",
 6009         -
            name: "service",
 6010         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 6011         -
            settings,
 6012         -
        }
 6013         -
        .into();
 6014         -
 6015         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 6016         -
        let signable = SignableRequest::from(&original);
 6017         -
        let out = sign(signable, &params).unwrap();
 6018         -
        assert_eq!(
 6019         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 6020         -
            out.signature
 6021         -
        );
 6022         -
 6023         -
        let mut signed = original.as_http_request();
 6024         -
        out.output.apply_to_request_http0x(&mut signed);
 6025         -
 6026         -
        let expected =
 6027         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        7870  +
        let expected = test.signed_request(SignatureLocation::Headers);
 6028   7871   
        assert_req_eq!(expected, signed);
 6029   7872   
    }
 6030   7873   
 6031   7874   
    #[test]
 6032   7875   
    fn test_sign_headers_utf8() {
 6033   7876   
        let settings = SigningSettings::default();
 6034   7877   
        let identity = &Credentials::for_tests().into();
 6035   7878   
        let params = v4::SigningParams {
 6036   7879   
            identity,
 6037   7880   
            region: "us-east-1",
 6038   7881   
            name: "service",
 6039   7882   
            time: parse_date_time("20150830T123600Z").unwrap(),
 6040   7883   
            settings,
 6041   7884   
        }
 6042   7885   
        .into();
 6043   7886   
 6044   7887   
        let original = http0::Request::builder()
 6045   7888   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 6046   7889   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 6047   7890   
            .body("")
 6048   7891   
            .unwrap()
 6049   7892   
            .into();
 6050   7893   
        let signable = SignableRequest::from(&original);
 6051   7894   
        let out = sign(signable, &params).unwrap();
 6052   7895   
        assert_eq!(
 6053   7896   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 6054   7897   
            out.signature
 6055   7898   
        );
 6056   7899   
 6057   7900   
        let mut signed = original.as_http_request();
 6058   7901   
@@ -1138,31 +1028,236 @@ mod tests {
 6059   7902   
        let mut request = http::Request::builder()
 6060   7903   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 6061   7904   
            .body("")
 6062   7905   
            .unwrap();
 6063   7906   
 6064   7907   
        instructions.apply_to_request_http1x(&mut request);
 6065   7908   
 6066   7909   
        assert_eq!(
 6067   7910   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 6068   7911   
            request.uri().path_and_query().unwrap().to_string()
 6069   7912   
        );
 6070   7913   
    }
 6071   7914   
 6072   7915   
    #[test]
 6073   7916   
    fn test_debug_signable_body() {
 6074   7917   
        let sut = SignableBody::Bytes(b"hello signable body");
 6075   7918   
        assert_eq!(
 6076   7919   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 6077   7920   
            format!("{sut:?}")
 6078   7921   
        );
 6079   7922   
 6080   7923   
        let sut = SignableBody::UnsignedPayload;
 6081   7924   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 6082   7925   
 6083   7926   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 6084   7927   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 6085   7928   
 6086   7929   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 6087   7930   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 6088   7931   
    }
        7932  +
        7933  +
    // v4 test suite
        7934  +
    mod v4_suite {
        7935  +
        use crate::http_request::test::run_test_suite_v4;
        7936  +
        7937  +
        #[test]
        7938  +
        fn test_get_header_key_duplicate() {
        7939  +
            run_test_suite_v4("get-header-key-duplicate");
        7940  +
        }
        7941  +
        7942  +
        #[test]
        7943  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7944  +
        fn test_get_header_value_multiline() {
        7945  +
            run_test_suite_v4("get-header-value-multiline");
        7946  +
        }
        7947  +
        7948  +
        #[test]
        7949  +
        fn test_get_header_value_order() {
        7950  +
            run_test_suite_v4("get-header-value-order");
        7951  +
        }
        7952  +
        7953  +
        #[test]
        7954  +
        fn test_get_header_value_trim() {
        7955  +
            run_test_suite_v4("get-header-value-trim");
        7956  +
        }
        7957  +
        7958  +
        #[test]
        7959  +
        fn test_get_relative_normalized() {
        7960  +
            run_test_suite_v4("get-relative-normalized");
        7961  +
        }
        7962  +
        7963  +
        #[test]
        7964  +
        fn test_get_relative_relative_normalized() {
        7965  +
            run_test_suite_v4("get-relative-relative-normalized");
        7966  +
        }
        7967  +
        7968  +
        #[test]
        7969  +
        fn test_get_relative_relative_unnormalized() {
        7970  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        7971  +
        }
        7972  +
        7973  +
        #[test]
        7974  +
        fn test_get_relative_unnormalized() {
        7975  +
            run_test_suite_v4("get-relative-unnormalized");
        7976  +
        }
        7977  +
        7978  +
        #[test]
        7979  +
        fn test_get_slash_dot_slash_normalized() {
        7980  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        7981  +
        }
        7982  +
        7983  +
        #[test]
        7984  +
        fn test_get_slash_dot_slash_unnormalized() {
        7985  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        7986  +
        }
        7987  +
        7988  +
        #[test]
        7989  +
        fn test_get_slash_normalized() {
        7990  +
            run_test_suite_v4("get-slash-normalized");
        7991  +
        }
        7992  +
        7993  +
        #[test]
        7994  +
        fn test_get_slash_pointless_dot_normalized() {
        7995  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        7996  +
        }
        7997  +
        7998  +
        #[test]
        7999  +
        fn test_get_slash_pointless_dot_unnormalized() {
        8000  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        8001  +
        }
        8002  +
        8003  +
        #[test]
        8004  +
        fn test_get_slash_unnormalized() {
        8005  +
            run_test_suite_v4("get-slash-unnormalized");
        8006  +
        }
        8007  +
        8008  +
        #[test]
        8009  +
        fn test_get_slashes_normalized() {
        8010  +
            run_test_suite_v4("get-slashes-normalized");
        8011  +
        }
        8012  +
        8013  +
        #[test]
        8014  +
        fn test_get_slashes_unnormalized() {
        8015  +
            run_test_suite_v4("get-slashes-unnormalized");
        8016  +
        }
        8017  +
        8018  +
        #[test]
        8019  +
        #[ignore = "relies on single encode of path segments"]
        8020  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        8021  +
        // skipped until we add control over double_uri_encode in context.json
        8022  +
        fn test_get_space_normalized() {
        8023  +
            run_test_suite_v4("get-space-normalized");
        8024  +
        }
        8025  +
        8026  +
        #[test]
        8027  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        8028  +
        // the input request has unencoded space ' ' in the path which fails to parse
        8029  +
        fn test_get_space_unnormalized() {
        8030  +
            run_test_suite_v4("get-space-unnormalized");
        8031  +
        }
        8032  +
        8033  +
        #[test]
        8034  +
        fn test_get_unreserved() {
        8035  +
            run_test_suite_v4("get-unreserved");
        8036  +
        }
        8037  +
        8038  +
        #[test]
        8039  +
        #[ignore = "httparse fails on invalid uri character"]
        8040  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8041  +
        fn test_get_utf8() {
        8042  +
            run_test_suite_v4("get-utf8");
        8043  +
        }
        8044  +
        8045  +
        #[test]
        8046  +
        fn test_get_vanilla() {
        8047  +
            run_test_suite_v4("get-vanilla");
        8048  +
        }
        8049  +
        8050  +
        #[test]
        8051  +
        fn test_get_vanilla_empty_query_key() {
        8052  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        8053  +
        }
        8054  +
        8055  +
        #[test]
        8056  +
        fn test_get_vanilla_query() {
        8057  +
            run_test_suite_v4("get-vanilla-query");
        8058  +
        }
        8059  +
        8060  +
        #[test]
        8061  +
        fn test_get_vanilla_query_order_encoded() {
        8062  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        8063  +
        }
        8064  +
        8065  +
        #[test]
        8066  +
        fn test_get_vanilla_query_order_key_case() {
        8067  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        8068  +
        }
        8069  +
        8070  +
        #[test]
        8071  +
        fn test_get_vanilla_query_unreserved() {
        8072  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        8073  +
        }
        8074  +
        8075  +
        #[test]
        8076  +
        #[ignore = "httparse fails on invalid uri character"]
        8077  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8078  +
        fn test_get_vanilla_utf8_query() {
        8079  +
            run_test_suite_v4("get-vanilla-utf8-query");
        8080  +
        }
        8081  +
        8082  +
        #[test]
        8083  +
        fn test_get_vanilla_with_session_token() {
        8084  +
            run_test_suite_v4("get-vanilla-with-session-token");
        8085  +
        }
        8086  +
        8087  +
        #[test]
        8088  +
        fn test_post_header_key_case() {
        8089  +
            run_test_suite_v4("post-header-key-case");
        8090  +
        }
        8091  +
        8092  +
        #[test]
        8093  +
        fn test_post_header_key_sort() {
        8094  +
            run_test_suite_v4("post-header-key-sort");
        8095  +
        }
        8096  +
        8097  +
        #[test]
        8098  +
        fn test_post_header_value_case() {
        8099  +
            run_test_suite_v4("post-header-value-case");
        8100  +
        }
        8101  +
        8102  +
        #[test]
        8103  +
        fn test_post_sts_header_after() {
        8104  +
            run_test_suite_v4("post-sts-header-after");
        8105  +
        }
        8106  +
        8107  +
        #[test]
        8108  +
        fn test_post_sts_header_before() {
        8109  +
            run_test_suite_v4("post-sts-header-before");
        8110  +
        }
        8111  +
        8112  +
        #[test]
        8113  +
        fn test_post_vanilla() {
        8114  +
            run_test_suite_v4("post-vanilla");
        8115  +
        }
        8116  +
        8117  +
        #[test]
        8118  +
        fn test_post_vanilla_empty_query_value() {
        8119  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        8120  +
        }
        8121  +
        8122  +
        #[test]
        8123  +
        fn test_post_vanilla_query() {
        8124  +
            run_test_suite_v4("post-vanilla-query");
        8125  +
        }
        8126  +
        8127  +
        #[test]
        8128  +
        fn test_post_x_www_form_urlencoded() {
        8129  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        8130  +
        }
        8131  +
        8132  +
        #[test]
        8133  +
        fn test_post_x_www_form_urlencoded_parameters() {
        8134  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        8135  +
        }
        8136  +
    }
 6089   8137   
}
 6090   8138   
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
 6091   8139   
index be6c496..86eec20 100644
 6092         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        8140  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 6093   8141   
@@ -1,242 +1,453 @@
 6094   8142   
/*
 6095   8143   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 6096   8144   
 * SPDX-License-Identifier: Apache-2.0
 6097   8145   
 */
 6098   8146   
 6099   8147   
//! Functions shared between the tests of several modules.
 6100   8148   
 6101         -
use crate::http_request::{SignableBody, SignableRequest};
        8149  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        8150  +
use crate::http_request::{
        8151  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        8152  +
    SigningSettings,
        8153  +
};
        8154  +
use aws_credential_types::Credentials;
        8155  +
use aws_smithy_runtime_api::client::identity::Identity;
 6102   8156   
use http0::{Method, Uri};
        8157  +
use std::borrow::Cow;
 6103   8158   
use std::error::Error as StdError;
        8159  +
use std::time::{Duration, SystemTime};
        8160  +
use time::format_description::well_known::Rfc3339;
        8161  +
use time::OffsetDateTime;
        8162  +
        8163  +
/// Common test suite collection
        8164  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        8165  +
enum Collection {
        8166  +
    V4,
        8167  +
    V4A,
        8168  +
}
 6104   8169   
 6105         -
pub(crate) mod v4 {
 6106         -
    use super::*;
        8170  +
/// A test from the common CRT test suite
        8171  +
#[derive(Debug, Clone)]
        8172  +
pub(crate) struct SigningSuiteTest {
        8173  +
    test_name: &'static str,
        8174  +
    collection: Collection,
        8175  +
}
 6107   8176   
 6108         -
    fn path(name: &str, ext: &str) -> String {
 6109         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        8177  +
impl SigningSuiteTest {
        8178  +
    /// Create a new test from the V4 test suite
        8179  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        8180  +
        Self {
        8181  +
            test_name,
        8182  +
            collection: Collection::V4,
 6110   8183   
        }
 6111         -
 6112         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 6113         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 6114         -
        read(&path(name, "creq")).trim().to_string()
 6115   8184   
    }
 6116   8185   
 6117         -
    pub(crate) fn test_sts(name: &str) -> String {
 6118         -
        read(&path(name, "sts"))
        8186  +
    /// Create a new test from the V4a test suite
        8187  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        8188  +
        Self {
        8189  +
            test_name,
        8190  +
            collection: Collection::V4A,
 6119   8191   
        }
 6120         -
 6121         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6122         -
        test_parsed_request(name, "req")
 6123   8192   
    }
 6124   8193   
 6125         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 6126         -
        test_parsed_request(name, "sreq")
        8194  +
    /// Get the path to a file in this test suite directory
        8195  +
    fn path(&self, filename: &str) -> String {
        8196  +
        let dir = match self.collection {
        8197  +
            Collection::V4 => "v4",
        8198  +
            Collection::V4A => "v4a",
        8199  +
        };
        8200  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 6127   8201   
    }
 6128   8202   
 6129         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 6130         -
        test_parsed_request(name, "qpsreq")
        8203  +
    /// Get the HTTP request for the test
        8204  +
    pub(crate) fn request(&self) -> TestRequest {
        8205  +
        test_parsed_request(&self.path("request.txt"))
 6131   8206   
    }
 6132   8207   
 6133         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 6134         -
        let path = path(name, ext);
 6135         -
        match parse_request(read(&path).as_bytes()) {
 6136         -
            Ok(parsed) => parsed,
 6137         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        8208  +
    /// Get the signed HTTP request for the test
        8209  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        8210  +
        match signature_location {
        8211  +
            SignatureLocation::QueryParams => {
        8212  +
                test_parsed_request(&self.path("query-signed-request.txt"))
 6138   8213   
            }
        8214  +
            SignatureLocation::Headers => {
        8215  +
                test_parsed_request(&self.path("header-signed-request.txt"))
 6139   8216   
            }
 6140         -
 6141         -
    #[test]
 6142         -
    fn test_parse() {
 6143         -
        test_request("post-header-key-case");
 6144   8217   
        }
 6145         -
 6146         -
    #[test]
 6147         -
    fn test_read_query_params() {
 6148         -
        test_request("get-vanilla-query-order-key-case");
 6149   8218   
    }
 6150         -
}
 6151         -
 6152         -
#[cfg(feature = "sigv4a")]
 6153         -
pub(crate) mod v4a {
 6154         -
    use super::*;
 6155         -
    use crate::http_request::{
 6156         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 6157         -
    };
 6158         -
    use aws_credential_types::Credentials;
 6159         -
    use aws_smithy_runtime_api::client::identity::Identity;
 6160         -
    use serde_derive::Deserialize;
 6161         -
    use std::time::{Duration, SystemTime};
 6162         -
    use time::format_description::well_known::Rfc3339;
 6163         -
    use time::OffsetDateTime;
 6164   8219   
 6165         -
    fn path(test_name: &str, definition_name: &str) -> String {
 6166         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        8220  +
    /// Get the canonical request for the test
        8221  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        8222  +
        match signature_location {
        8223  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        8224  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
 6167   8225   
        }
 6168         -
 6169         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6170         -
        test_parsed_request(&path(name, "request"))
 6171   8226   
    }
 6172   8227   
 6173         -
    pub(crate) fn test_canonical_request(
 6174         -
        name: &str,
 6175         -
        signature_location: SignatureLocation,
 6176         -
    ) -> String {
        8228  +
    /// Get the string to sign for the test
        8229  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
 6177   8230   
        match signature_location {
 6178         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 6179         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        8231  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        8232  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 6180   8233   
        }
 6181   8234   
    }
 6182   8235   
 6183         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
        8236  +
    /// Get the signature for the test
        8237  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
 6184   8238   
        match signature_location {
 6185         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 6186         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        8239  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        8240  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        8241  +
        }
 6187   8242   
    }
        8243  +
        8244  +
    /// Get the test context for the test
        8245  +
    pub(crate) fn context(&self) -> TestContext {
        8246  +
        let context = read(&self.path("context.json"));
        8247  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        8248  +
        tc_builder.build()
 6188   8249   
    }
        8250  +
}
 6189   8251   
 6190         -
    fn test_parsed_request(path: &str) -> TestRequest {
        8252  +
fn test_parsed_request(path: &str) -> TestRequest {
 6191   8253   
    match parse_request(read(path).as_bytes()) {
 6192   8254   
        Ok(parsed) => parsed,
 6193   8255   
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 6194   8256   
    }
 6195         -
    }
        8257  +
}
 6196   8258   
 6197         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 6198         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 6199         -
        let context = read(&path);
 6200         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 6201         -
        tc_builder.build()
 6202         -
    }
        8259  +
fn new_v4_signing_params_from_context(
        8260  +
    test_context: &'_ TestContext,
        8261  +
    signature_location: SignatureLocation,
        8262  +
) -> crate::http_request::SigningParams<'_> {
        8263  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        8264  +
    params.settings.signature_location = signature_location;
        8265  +
    params.into()
        8266  +
}
        8267  +
        8268  +
/// Run the given test from the v4 suite for both header and query
        8269  +
/// signature locations
        8270  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        8271  +
    run_v4_test(test_name, SignatureLocation::Headers);
        8272  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        8273  +
}
        8274  +
        8275  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        8276  +
    assert_eq!(expected.scheme(), actual.scheme());
        8277  +
    assert_eq!(expected.authority(), actual.authority());
        8278  +
    assert_eq!(expected.path(), actual.path());
        8279  +
        8280  +
    // query params may be out of order
        8281  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8282  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        8283  +
    expected_params.sort();
        8284  +
        8285  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8286  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        8287  +
    actual_params.sort();
        8288  +
        8289  +
    assert_eq!(expected_params, actual_params);
        8290  +
}
 6203   8291   
 6204         -
    pub(crate) struct TestContext {
        8292  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        8293  +
    let expected = expected.as_http_request();
        8294  +
    let actual = actual;
        8295  +
    assert_eq!(expected.method(), actual.method());
        8296  +
    assert_eq!(
        8297  +
        expected.headers().len(),
        8298  +
        actual.headers().len(),
        8299  +
        "extra or missing headers"
        8300  +
    );
        8301  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        8302  +
    assert_uri_eq(expected.uri(), actual.uri());
        8303  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        8304  +
}
        8305  +
        8306  +
/// Run the given test from the v4 suite for the given signature location
        8307  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        8308  +
    let test = SigningSuiteTest::v4(test_name);
        8309  +
    let tc = test.context();
        8310  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        8311  +
        8312  +
    let req = test.request();
        8313  +
    let expected_creq = test.canonical_request(signature_location);
        8314  +
    let signable_req = SignableRequest::from(&req);
        8315  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8316  +
        8317  +
    // check canonical request
        8318  +
    assert_eq!(
        8319  +
        expected_creq,
        8320  +
        actual_creq.to_string(),
        8321  +
        "canonical request didn't match (signature location: {signature_location:?})"
        8322  +
    );
        8323  +
        8324  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        8325  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8326  +
    let actual_string_to_sign = StringToSign::new_v4(
        8327  +
        *params.time(),
        8328  +
        params.region().unwrap(),
        8329  +
        params.name(),
        8330  +
        hashed_creq,
        8331  +
    )
        8332  +
    .to_string();
        8333  +
        8334  +
    // check string to sign
        8335  +
    assert_eq!(
        8336  +
        expected_string_to_sign, actual_string_to_sign,
        8337  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        8338  +
    );
        8339  +
        8340  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        8341  +
    let mut signed = req.as_http_request();
        8342  +
    out.output.apply_to_request_http0x(&mut signed);
        8343  +
        8344  +
    // check signature
        8345  +
    assert_eq!(
        8346  +
        test.signature(signature_location),
        8347  +
        out.signature,
        8348  +
        "signature didn't match (signature location: {signature_location:?})"
        8349  +
    );
        8350  +
        8351  +
    let expected = test.signed_request(signature_location);
        8352  +
    assert_requests_eq(expected, signed);
        8353  +
}
        8354  +
        8355  +
/// Test suite context.json
        8356  +
pub(crate) struct TestContext {
 6205   8357   
    pub(crate) identity: Identity,
 6206   8358   
    pub(crate) expiration_in_seconds: u64,
 6207   8359   
    pub(crate) normalize: bool,
 6208   8360   
    pub(crate) region: String,
 6209   8361   
    pub(crate) service: String,
 6210   8362   
    pub(crate) timestamp: String,
 6211   8363   
    pub(crate) omit_session_token: bool,
 6212   8364   
    pub(crate) sign_body: bool,
 6213         -
    }
 6214         -
 6215         -
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 6216         -
        fn from(tc: &'a TestContext) -> Self {
 6217         -
            crate::sign::v4a::SigningParams {
 6218         -
                identity: &tc.identity,
 6219         -
                region_set: &tc.region,
 6220         -
                name: &tc.service,
 6221         -
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 6222         -
                    .unwrap()
 6223         -
                    .into(),
 6224         -
                settings: SigningSettings {
 6225         -
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6226         -
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 6227         -
                    uri_path_normalization_mode: tc.normalize.into(),
 6228         -
                    session_token_mode: if tc.omit_session_token {
 6229         -
                        SessionTokenMode::Exclude
 6230         -
                    } else {
 6231         -
                        SessionTokenMode::Include
 6232         -
                    },
 6233         -
                    payload_checksum_kind: if tc.sign_body {
 6234         -
                        PayloadChecksumKind::XAmzSha256
 6235         -
                    } else {
 6236         -
                        PayloadChecksumKind::NoHeader
 6237         -
                    },
 6238         -
                    ..Default::default()
 6239         -
                },
 6240         -
            }
 6241         -
        }
 6242         -
    }
        8365  +
}
 6243   8366   
 6244         -
    // Serde has limitations requiring this odd workaround.
 6245         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 6246         -
    fn return_true() -> bool {
        8367  +
// Serde has limitations requiring this odd workaround.
        8368  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        8369  +
fn return_true() -> bool {
 6247   8370   
    true
 6248         -
    }
        8371  +
}
 6249   8372   
 6250         -
    #[derive(Deserialize)]
 6251         -
    pub(crate) struct TestContextBuilder {
        8373  +
#[derive(serde_derive::Deserialize)]
        8374  +
pub(crate) struct TestContextBuilder {
 6252   8375   
    credentials: TestContextCreds,
 6253   8376   
    expiration_in_seconds: u64,
 6254   8377   
    normalize: bool,
 6255   8378   
    region: String,
 6256   8379   
    service: String,
 6257   8380   
    timestamp: String,
 6258   8381   
    #[serde(default)]
 6259   8382   
    omit_session_token: bool,
 6260   8383   
    #[serde(default = "return_true")]
 6261   8384   
    sign_body: bool,
 6262         -
    }
        8385  +
}
 6263   8386   
 6264         -
    impl TestContextBuilder {
        8387  +
impl TestContextBuilder {
 6265   8388   
    pub(crate) fn build(self) -> TestContext {
 6266   8389   
        let identity = Identity::new(
 6267   8390   
            Credentials::from_keys(
 6268   8391   
                &self.credentials.access_key_id,
 6269   8392   
                &self.credentials.secret_access_key,
 6270   8393   
                self.credentials.token.clone(),
 6271   8394   
            ),
 6272   8395   
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 6273   8396   
        );
 6274   8397   
 6275   8398   
        TestContext {
 6276   8399   
            identity,
 6277   8400   
            expiration_in_seconds: self.expiration_in_seconds,
 6278   8401   
            normalize: self.normalize,
 6279   8402   
            region: self.region,
 6280   8403   
            service: self.service,
 6281   8404   
            timestamp: self.timestamp,
 6282   8405   
            omit_session_token: self.omit_session_token,
 6283   8406   
            sign_body: self.sign_body,
 6284   8407   
        }
 6285   8408   
    }
 6286         -
    }
        8409  +
}
 6287   8410   
 6288         -
    #[derive(Deserialize)]
 6289         -
    pub(crate) struct TestContextCreds {
        8411  +
#[derive(serde_derive::Deserialize)]
        8412  +
pub(crate) struct TestContextCreds {
 6290   8413   
    access_key_id: String,
 6291   8414   
    secret_access_key: String,
 6292   8415   
    token: Option<String>,
        8416  +
}
        8417  +
        8418  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        8419  +
    fn from(tc: &'a TestContext) -> Self {
        8420  +
        crate::sign::v4::SigningParams {
        8421  +
            identity: &tc.identity,
        8422  +
            region: &tc.region,
        8423  +
            name: &tc.service,
        8424  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8425  +
                .unwrap()
        8426  +
                .into(),
        8427  +
            settings: SigningSettings {
        8428  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8429  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8430  +
                uri_path_normalization_mode: tc.normalize.into(),
        8431  +
                session_token_mode: if tc.omit_session_token {
        8432  +
                    SessionTokenMode::Exclude
        8433  +
                } else {
        8434  +
                    SessionTokenMode::Include
        8435  +
                },
        8436  +
                payload_checksum_kind: if tc.sign_body {
        8437  +
                    PayloadChecksumKind::XAmzSha256
        8438  +
                } else {
        8439  +
                    PayloadChecksumKind::NoHeader
        8440  +
                },
        8441  +
                ..Default::default()
        8442  +
            },
        8443  +
        }
        8444  +
    }
        8445  +
}
        8446  +
        8447  +
#[cfg(feature = "sigv4a")]
        8448  +
pub(crate) mod v4a {
        8449  +
    use super::*;
        8450  +
    use crate::http_request::{
        8451  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        8452  +
    };
        8453  +
    use crate::sign::v4a;
        8454  +
    use p256::ecdsa::signature::{Signature, Verifier};
        8455  +
    use p256::ecdsa::{DerSignature, SigningKey};
        8456  +
    use std::time::Duration;
        8457  +
    use time::format_description::well_known::Rfc3339;
        8458  +
    use time::OffsetDateTime;
        8459  +
        8460  +
    fn new_v4a_signing_params_from_context(
        8461  +
        test_context: &'_ TestContext,
        8462  +
        signature_location: SignatureLocation,
        8463  +
    ) -> crate::http_request::SigningParams<'_> {
        8464  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        8465  +
        params.settings.signature_location = signature_location;
        8466  +
        params.into()
        8467  +
    }
        8468  +
        8469  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        8470  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        8471  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
        8472  +
    }
        8473  +
        8474  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        8475  +
        let test = SigningSuiteTest::v4a(test_name);
        8476  +
        let tc = test.context();
        8477  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        8478  +
        8479  +
        let req = test.request();
        8480  +
        let expected_creq = test.canonical_request(signature_location);
        8481  +
        let signable_req = SignableRequest::from(&req);
        8482  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8483  +
        8484  +
        assert_eq!(
        8485  +
            expected_creq,
        8486  +
            actual_creq.to_string(),
        8487  +
            "canonical request didn't match (signature location: {signature_location:?})"
        8488  +
        );
        8489  +
        8490  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        8491  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8492  +
        let actual_string_to_sign = StringToSign::new_v4a(
        8493  +
            *params.time(),
        8494  +
            params.region_set().unwrap(),
        8495  +
            params.name(),
        8496  +
            hashed_creq,
        8497  +
        )
        8498  +
        .to_string();
        8499  +
        8500  +
        assert_eq!(
        8501  +
            expected_string_to_sign, actual_string_to_sign,
        8502  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        8503  +
        );
        8504  +
        8505  +
        let out = sign(signable_req, &params).unwrap();
        8506  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        8507  +
        out.output
        8508  +
            .apply_to_request_http0x(&mut req.as_http_request());
        8509  +
        8510  +
        let creds = params.credentials().unwrap();
        8511  +
        let signing_key =
        8512  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        8513  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        8514  +
        let sig = sig
        8515  +
            .try_into()
        8516  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        8517  +
        8518  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        8519  +
        let peer_public_key = signing_key.verifying_key();
        8520  +
        let sts = actual_string_to_sign.as_bytes();
        8521  +
        peer_public_key.verify(sts, &sig).unwrap();
        8522  +
        // TODO(sigv4a) - use public.key.json as verifying key?
        8523  +
    }
        8524  +
        8525  +
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
        8526  +
        fn from(tc: &'a TestContext) -> Self {
        8527  +
            crate::sign::v4a::SigningParams {
        8528  +
                identity: &tc.identity,
        8529  +
                region_set: &tc.region,
        8530  +
                name: &tc.service,
        8531  +
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8532  +
                    .unwrap()
        8533  +
                    .into(),
        8534  +
                settings: SigningSettings {
        8535  +
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8536  +
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8537  +
                    uri_path_normalization_mode: tc.normalize.into(),
        8538  +
                    session_token_mode: if tc.omit_session_token {
        8539  +
                        SessionTokenMode::Exclude
        8540  +
                    } else {
        8541  +
                        SessionTokenMode::Include
        8542  +
                    },
        8543  +
                    payload_checksum_kind: if tc.sign_body {
        8544  +
                        PayloadChecksumKind::XAmzSha256
        8545  +
                    } else {
        8546  +
                        PayloadChecksumKind::NoHeader
        8547  +
                    },
        8548  +
                    ..Default::default()
        8549  +
                },
        8550  +
            }
        8551  +
        }
 6293   8552   
    }
 6294   8553   
 6295   8554   
    #[test]
 6296   8555   
    fn test_parse() {
 6297         -
        let req = test_request("post-header-key-case");
        8556  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 6298   8557   
        assert_eq!(req.method, "POST");
 6299   8558   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6300   8559   
        assert!(req.headers.is_empty());
 6301   8560   
    }
 6302   8561   
 6303   8562   
    #[test]
 6304   8563   
    fn test_read_query_params() {
 6305         -
        let req = test_request("get-header-value-trim");
        8564  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 6306   8565   
        assert_eq!(req.method, "GET");
 6307   8566   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6308   8567   
        assert!(!req.headers.is_empty());
 6309   8568   
    }
 6310   8569   
}
 6311   8570   
 6312   8571   
fn read(path: &str) -> String {
 6313   8572   
    println!("Loading `{}` for test case...", path);
 6314   8573   
    let v = {
 6315   8574   
        match std::fs::read_to_string(path) {
 6316   8575   
            // This replacement is necessary for tests to pass on Windows, as reading the
 6317   8576   
            // test snapshots from the file system results in CRLF line endings being inserted.
 6318   8577   
            Ok(value) => value.replace("\r\n", "\n"),
 6319   8578   
            Err(err) => {
 6320   8579   
                panic!("failed to load test case `{}`: {}", path, err);
 6321   8580   
            }
 6322   8581   
        }
 6323   8582   
    };
 6324   8583   
 6325   8584   
    v.trim().to_string()
 6326   8585   
}
 6327   8586   
 6328   8587   
pub(crate) struct TestRequest {
 6329   8588   
    pub(crate) uri: String,
 6330   8589   
    pub(crate) method: String,
 6331   8590   
    pub(crate) headers: Vec<(String, String)>,
 6332   8591   
    pub(crate) body: TestSignedBody,
 6333   8592   
}
 6334   8593   
 6335   8594   
pub(crate) enum TestSignedBody {
 6336   8595   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 6337   8596   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 6338   8597   
                    )
 6339   8598   
                })
 6340   8599   
                .collect::<Vec<_>>(),
 6341   8600   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 6342   8601   
        }
 6343   8602   
    }
 6344   8603   
}
 6345   8604   
 6346   8605   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 6347   8606   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 6348   8607   
        SignableRequest::new(
 6349   8608   
            &request.method,
 6350   8609   
            &request.uri,
 6351   8610   
            request
 6352   8611   
                .headers
 6353   8612   
                .iter()
 6354   8613   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 6355   8614   
            request.body.as_signable_body(),
 6356   8615   
        )
 6357   8616   
        .expect("URI MUST be valid")
 6358   8617   
    }
 6359   8618   
}
 6360   8619   
 6361   8620   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 6362   8621   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 6363   8622   
    // httparse 1.5 requires two trailing newlines to head the header section.
 6364   8623   
    let mut with_newline = Vec::from(s);
 6365   8624   
    with_newline.push(b'\n');
 6366   8625   
    let mut req = httparse::Request::new(&mut headers);
 6367         -
    let _ = req.parse(&with_newline).unwrap();
        8626  +
    let status = req.parse(&with_newline).unwrap();
        8627  +
        8628  +
    let body = if status.is_complete() {
        8629  +
        let body_offset = status.unwrap();
        8630  +
        // ignore the newline we added, take from original
        8631  +
        &s[body_offset..]
        8632  +
    } else {
        8633  +
        &[]
        8634  +
    };
 6368   8635   
 6369   8636   
    let mut uri_builder = Uri::builder().scheme("https");
 6370   8637   
    if let Some(path) = req.path {
 6371   8638   
        uri_builder = uri_builder.path_and_query(path);
 6372   8639   
    }
 6373   8640   
 6374   8641   
    let mut headers = vec![];
 6375   8642   
    for header in req.headers {
 6376   8643   
        let name = header.name.to_lowercase();
 6377   8644   
        if name == "host" {
 6378   8645   
            uri_builder = uri_builder.authority(header.value);
 6379   8646   
        } else if !name.is_empty() {
 6380   8647   
            headers.push((
 6381   8648   
                header.name.to_string(),
 6382   8649   
                std::str::from_utf8(header.value)?.to_string(),
 6383   8650   
            ));
 6384   8651   
        }
 6385   8652   
    }
 6386   8653   
 6387   8654   
    Ok(TestRequest {
 6388   8655   
        uri: uri_builder.build()?.to_string(),
 6389   8656   
        method: req.method.unwrap().to_string(),
 6390   8657   
        headers,
 6391         -
        body: TestSignedBody::Bytes(vec![]),
        8658  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 6392   8659   
    })
 6393   8660   
}
 6394   8661   
 6395   8662   
#[test]
 6396   8663   
fn test_parse_headers() {
 6397   8664   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 6398   8665   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 6399   8666   
    assert_eq!(
 6400   8667   
        httparse::parse_headers(buf, &mut headers),
 6401   8668   
        Ok(httparse::Status::Complete((
 6402   8669   
            56,
 6403   8670   
            &[
 6404   8671   
                httparse::Header {
 6405   8672   
                    name: "Host",
 6406   8673   
                    value: b"example.amazonaws.com",
 6407   8674   
                },
 6408   8675   
                httparse::Header {
 6409   8676   
                    name: "X-Amz-Date",
 6410   8677   
                    value: b"20150830T123600Z",
 6411   8678   
                }
 6412   8679   
            ][..]
 6413   8680   
        )))
 6414   8681   
    );
 6415   8682   
}
 6416   8683   
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
 6417   8684   
index a208453..fc00249 100644
 6418         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        8685  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 6419   8686   
@@ -168,52 +168,54 @@ pub mod signing_params {
 6420   8687   
        );
 6421   8688   
 6422   8689   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 6423   8690   
        /// a required argument was not given.
 6424   8691   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 6425   8692   
            Ok(SigningParams {
 6426   8693   
                identity: self
 6427   8694   
                    .identity
 6428   8695   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 6429   8696   
                region: self
 6430   8697   
                    .region
 6431   8698   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 6432   8699   
                name: self
 6433   8700   
                    .name
 6434   8701   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 6435   8702   
                time: self
 6436   8703   
                    .time
 6437   8704   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 6438   8705   
                settings: self
 6439   8706   
                    .settings
 6440   8707   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 6441   8708   
            })
 6442   8709   
        }
 6443   8710   
    }
 6444   8711   
}
 6445   8712   
 6446   8713   
#[cfg(test)]
 6447   8714   
mod tests {
 6448   8715   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 6449   8716   
    use crate::date_time::test_parsers::parse_date_time;
 6450         -
    use crate::http_request::test;
 6451   8717   
 6452   8718   
    #[test]
 6453   8719   
    fn test_signature_calculation() {
 6454   8720   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 6455         -
        let creq = test::v4::test_canonical_request("iam");
        8721  +
        let creq = r#"AWS4-HMAC-SHA256
        8722  +
20150830T123600Z
        8723  +
20150830/us-east-1/iam/aws4_request
        8724  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 6456   8725   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6457   8726   
 6458   8727   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 6459   8728   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 6460   8729   
 6461   8730   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 6462   8731   
        assert_eq!(expected, &signature);
 6463   8732   
    }
 6464   8733   
 6465   8734   
    #[test]
 6466   8735   
    fn sign_payload_empty_string() {
 6467   8736   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 6468   8737   
        let actual = sha256_hex_string([]);
 6469   8738   
        assert_eq!(expected, actual);
 6470   8739   
    }
 6471   8740   
}
 6472   8741   
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
 6473   8742   
index ce78c38..8c2f591 100644
 6474         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        8743  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 6475   8744   
@@ -1,43 +1,43 @@
 6476   8745   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6477   8746   
[package]
 6478   8747   
name = "aws-smithy-checksums"
 6479   8748   
version = "0.63.5"
 6480   8749   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 6481   8750   
description = "Checksum calculation and verification callbacks"
 6482   8751   
edition = "2021"
 6483   8752   
license = "Apache-2.0"
 6484   8753   
repository = "https://github.com/smithy-lang/smithy-rs"
 6485   8754   
[package.metadata.docs.rs]
 6486   8755   
all-features = true
 6487   8756   
targets = ["x86_64-unknown-linux-gnu"]
 6488   8757   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6489   8758   
rustdoc-args = ["--cfg", "docsrs"]
 6490   8759   
 6491   8760   
[dependencies]
 6492   8761   
bytes = "1.10.0"
 6493   8762   
crc-fast = "1.3.0"
 6494   8763   
hex = "0.4.3"
 6495   8764   
http = "0.2.9"
 6496   8765   
http-body = "0.4.5"
 6497   8766   
md-5 = "0.10"
 6498   8767   
pin-project-lite = "0.2.14"
 6499   8768   
sha1 = "0.10"
 6500   8769   
sha2 = "0.10"
 6501   8770   
tracing = "0.1.40"
 6502   8771   
 6503   8772   
[dependencies.aws-smithy-http]
 6504   8773   
path = "../aws-smithy-http"
 6505         -
version = "0.62.2"
        8774  +
version = "0.62.3"
 6506   8775   
 6507   8776   
[dependencies.aws-smithy-types]
 6508   8777   
path = "../aws-smithy-types"
 6509   8778   
version = "1.3.2"
 6510   8779   
 6511   8780   
[dev-dependencies]
 6512   8781   
bytes-utils = "0.1.2"
 6513   8782   
pretty_assertions = "1.3"
 6514   8783   
tracing-test = "0.2.1"
 6515   8784   
 6516   8785   
[dev-dependencies.tokio]
 6517   8786   
version = "1.23.1"
 6518   8787   
features = ["macros", "rt"]
 6519   8788   
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
 6520   8789   
index 970c99e..d3c7a49 100644
 6521         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        8790  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 6522   8791   
@@ -1,34 +1,34 @@
 6523   8792   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6524   8793   
[package]
 6525   8794   
name = "aws-smithy-http"
 6526         -
version = "0.62.2"
        8795  +
version = "0.62.3"
 6527   8796   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6528   8797   
description = "Smithy HTTP logic for smithy-rs."
 6529   8798   
edition = "2021"
 6530   8799   
license = "Apache-2.0"
 6531   8800   
repository = "https://github.com/smithy-lang/smithy-rs"
 6532   8801   
[package.metadata.docs.rs]
 6533   8802   
all-features = true
 6534   8803   
targets = ["x86_64-unknown-linux-gnu"]
 6535   8804   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6536   8805   
rustdoc-args = ["--cfg", "docsrs"]
 6537   8806   
 6538   8807   
[features]
 6539   8808   
event-stream = ["aws-smithy-eventstream"]
 6540   8809   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 6541   8810   
 6542   8811   
[dependencies]
 6543   8812   
bytes = "1.10.0"
 6544   8813   
bytes-utils = "0.1"
 6545   8814   
percent-encoding = "2.3.1"
 6546   8815   
pin-project-lite = "0.2.14"
 6547   8816   
pin-utils = "0.1.0"
 6548   8817   
tracing = "0.1.40"
 6549   8818   
futures-core = "0.3.31"
 6550   8819   
 6551   8820   
[dependencies.aws-smithy-eventstream]
 6552   8821   
path = "../aws-smithy-eventstream"
 6553   8822   
optional = true
 6554   8823   
version = "0.60.10"
 6555   8824   
 6556   8825   
[dependencies.aws-smithy-runtime-api]
 6557   8826   
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
 6558   8827   
index 508f7a2..361545e 100644
 6559         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        8828  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 6560   8829   
@@ -1,27 +1,27 @@
 6561   8830   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6562   8831   
[[bin]]
 6563   8832   
name = "read_many_from_str"
 6564   8833   
path = "fuzz_targets/read_many_from_str.rs"
 6565   8834   
test = false
 6566   8835   
doc = false
 6567   8836   
 6568   8837   
[package]
 6569   8838   
name = "aws-smithy-http-fuzz"
 6570   8839   
version = "0.0.0"
 6571   8840   
authors = ["Automatically generated"]
 6572   8841   
publish = false
 6573   8842   
edition = "2021"
 6574   8843   
 6575   8844   
[package.metadata]
 6576   8845   
cargo-fuzz = true
 6577   8846   
 6578   8847   
[dependencies]
 6579   8848   
libfuzzer-sys = "=0.4.7"
 6580   8849   
http = "0.2.3"
 6581   8850   
 6582   8851   
[dependencies.aws-smithy-http]
 6583   8852   
path = ".."
 6584         -
version = "0.62.2"
        8853  +
version = "0.62.3"
 6585   8854   
 6586   8855   
[workspace]
 6587   8856   
members = ["."]
 6588   8857   
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
 6589   8858   
index fef41d0..7694da6 100644
 6590         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        8859  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 6591   8860   
@@ -25,68 +25,73 @@ impl QueryWriter {
 6592   8861   
    pub fn new(uri: &Uri) -> Self {
 6593   8862   
        let new_path_and_query = uri
 6594   8863   
            .path_and_query()
 6595   8864   
            .map(|pq| pq.to_string())
 6596   8865   
            .unwrap_or_default();
 6597   8866   
        let prefix = if uri.query().is_none() {
 6598   8867   
            Some('?')
 6599   8868   
        } else if !uri.query().unwrap_or_default().is_empty() {
 6600   8869   
            Some('&')
 6601   8870   
        } else {
 6602   8871   
            None
 6603   8872   
        };
 6604   8873   
        QueryWriter {
 6605   8874   
            base_uri: uri.clone(),
 6606   8875   
            new_path_and_query,
 6607   8876   
            prefix,
 6608   8877   
        }
 6609   8878   
    }
 6610   8879   
 6611   8880   
    /// Clears all query parameters.
 6612   8881   
    pub fn clear_params(&mut self) {
 6613   8882   
        if let Some(index) = self.new_path_and_query.find('?') {
 6614   8883   
            self.new_path_and_query.truncate(index);
 6615   8884   
            self.prefix = Some('?');
 6616   8885   
        }
 6617   8886   
    }
 6618   8887   
 6619   8888   
    /// Inserts a new query parameter. The key and value are percent encoded
 6620   8889   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 6621   8890   
    pub fn insert(&mut self, k: &str, v: &str) {
        8891  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        8892  +
    }
        8893  +
        8894  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        8895  +
    /// as is.
        8896  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 6622   8897   
        if let Some(prefix) = self.prefix {
 6623   8898   
            self.new_path_and_query.push(prefix);
 6624   8899   
        }
 6625   8900   
        self.prefix = Some('&');
 6626         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        8901  +
        self.new_path_and_query.push_str(encoded_k);
 6627   8902   
        self.new_path_and_query.push('=');
 6628         -
 6629         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
        8903  +
        self.new_path_and_query.push_str(encoded_v)
 6630   8904   
    }
 6631   8905   
 6632   8906   
    /// Returns just the built query string.
 6633   8907   
    pub fn build_query(self) -> String {
 6634   8908   
        self.build_uri().query().unwrap_or_default().to_string()
 6635   8909   
    }
 6636   8910   
 6637   8911   
    /// Returns a full [`Uri`] with the query string updated.
 6638   8912   
    pub fn build_uri(self) -> Uri {
 6639   8913   
        let mut parts = self.base_uri.into_parts();
 6640   8914   
        parts.path_and_query = Some(
 6641   8915   
            self.new_path_and_query
 6642   8916   
                .parse()
 6643   8917   
                .expect("adding query should not invalidate URI"),
 6644   8918   
        );
 6645   8919   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 6646   8920   
    }
 6647   8921   
}
 6648   8922   
 6649   8923   
#[cfg(test)]
 6650   8924   
mod test {
 6651   8925   
    use super::QueryWriter;
 6652   8926   
    use http_02x::Uri;
 6653   8927   
 6654   8928   
    #[test]
 6655   8929   
    fn empty_uri() {
 6656   8930   
        let uri = Uri::from_static("http://www.example.com");
 6657   8931   
        let mut query_writer = QueryWriter::new(&uri);
 6658   8932   
        query_writer.insert("key", "val%ue");
 6659   8933   
        query_writer.insert("another", "value");
 6660   8934   
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
 6661   8935   
index f108978..df7a9fe 100644
 6662         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
        8936  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 6663   8937   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 6664   8938   
 6665   8939   
[package.metadata.smithy-rs-release-tooling]
 6666   8940   
stable = true
 6667   8941   
[package.metadata.cargo-udeps.ignore]
 6668   8942   
normal = ["aws-smithy-http"]
 6669   8943   
 6670   8944   
[features]
 6671   8945   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 6672   8946   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 6673   8947   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 6674   8948   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 6675   8949   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 6676   8950   
rt-tokio = ["tokio/rt"]
 6677   8951   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 6678   8952   
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"]
 6679   8953   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 6680   8954   
 6681   8955   
[dependencies]
 6682   8956   
bytes = "1.10.0"
 6683   8957   
fastrand = "2.3.0"
 6684   8958   
pin-project-lite = "0.2.14"
 6685   8959   
pin-utils = "0.1.0"
 6686   8960   
tracing = "0.1.40"
 6687   8961   
 6688   8962   
[dependencies.aws-smithy-async]
 6689   8963   
path = "../aws-smithy-async"
 6690   8964   
version = "1.2.5"
 6691   8965   
 6692   8966   
[dependencies.aws-smithy-http]
 6693   8967   
path = "../aws-smithy-http"
 6694         -
version = "0.62.2"
        8968  +
version = "0.62.3"
 6695   8969   
 6696   8970   
[dependencies.aws-smithy-observability]
 6697   8971   
path = "../aws-smithy-observability"
 6698   8972   
version = "0.1.3"
 6699   8973   
 6700   8974   
[dependencies.aws-smithy-runtime-api]
 6701   8975   
path = "../aws-smithy-runtime-api"
 6702   8976   
version = "1.8.5"
 6703   8977   
 6704   8978   
[dependencies.aws-smithy-types]
 6705   8979   
path = "../aws-smithy-types"
 6706   8980   
features = ["http-body-0-4-x"]
 6707   8981   
version = "1.3.2"
 6708   8982   
 6709   8983   
[dependencies.aws-smithy-http-client]
 6710   8984   
path = "../aws-smithy-http-client"
 6711   8985   
optional = true
 6712   8986   
version = "1.0.6"
 6713   8987   
 6714   8988   
[dependencies.http-02x]
 6715   8989   
package = "http"
 6716   8990   
version = "0.2.9"
 6717   8991   
 6718   8992   
[dependencies.http-1x]
 6719   8993   
package = "http"
 6720   8994   
version = "1"
 6721   8995   
 6722   8996   
[dependencies.http-body-04x]
 6723   8997   
package = "http-body"
 6724   8998   
version = "0.4.5"
 6725   8999   
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
 6726   9000   
index 4e050c6..f58eb1c 100644
 6727         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
        9001  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 6728   9002   
@@ -1,33 +1,33 @@
 6729   9003   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6730   9004   
[package]
 6731   9005   
name = "aws-smithy-wasm"
 6732   9006   
version = "0.1.4"
 6733   9007   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 6734   9008   
description = "Smithy WebAssembly configuration for smithy-rs."
 6735   9009   
edition = "2021"
 6736   9010   
license = "Apache-2.0"
 6737   9011   
repository = "https://github.com/awslabs/smithy-rs"
 6738   9012   
[package.metadata.docs.rs]
 6739   9013   
all-features = true
 6740   9014   
targets = ["x86_64-unknown-linux-gnu"]
 6741   9015   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6742   9016   
rustdoc-args = ["--cfg", "docsrs"]
 6743   9017   
 6744   9018   
[dependencies]
 6745   9019   
bytes = "1.10.0"
 6746   9020   
http = "1.0.0"
 6747   9021   
tracing = "0.1.40"
 6748   9022   
wasi = "0.12.1"
 6749   9023   
 6750   9024   
[dependencies.aws-smithy-runtime-api]
 6751   9025   
path = "../aws-smithy-runtime-api"
 6752   9026   
features = ["http-1x"]
 6753   9027   
version = "1.8.5"
 6754   9028   
 6755   9029   
[dependencies.aws-smithy-http]
 6756   9030   
path = "../aws-smithy-http"
 6757         -
version = "0.62.2"
        9031  +
version = "0.62.3"
 6758   9032   
 6759   9033   
[dependencies.aws-smithy-types]
 6760   9034   
path = "../aws-smithy-types"
 6761   9035   
version = "1.3.2"
 6762   9036   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6763   9037   
index a880648..139e808 100644
 6764         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
        9038  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6765   9039   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 6766   9040   
edition = "2021"
 6767   9041   
license = "Apache-2.0"
 6768   9042   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6769   9043   
rust-version = "1.86.0"
 6770   9044   
readme = "README.md"
 6771   9045   
[package.metadata.smithy]
 6772   9046   
codegen-version = "ci"
 6773   9047   
[package.metadata.docs.rs]
 6774   9048   
all-features = true
 6775   9049   
targets = ["x86_64-unknown-linux-gnu"]
 6776   9050   
[dependencies.aws-credential-types]
 6777   9051   
path = "../aws-credential-types"
 6778   9052   
version = "1.2.4"
 6779   9053   
 6780   9054   
[dependencies.aws-runtime]
 6781   9055   
path = "../aws-runtime"
 6782   9056   
features = ["event-stream"]
 6783   9057   
version = "1.5.9"
 6784   9058   
 6785   9059   
[dependencies.aws-smithy-async]
 6786   9060   
path = "../aws-smithy-async"
 6787   9061   
version = "1.2.5"
 6788   9062   
 6789   9063   
[dependencies.aws-smithy-eventstream]
 6790   9064   
path = "../aws-smithy-eventstream"
 6791   9065   
version = "0.60.10"
 6792   9066   
 6793   9067   
[dependencies.aws-smithy-http]
 6794   9068   
path = "../aws-smithy-http"
 6795   9069   
features = ["event-stream"]
 6796         -
version = "0.62.2"
        9070  +
version = "0.62.3"
 6797   9071   
 6798   9072   
[dependencies.aws-smithy-json]
 6799   9073   
path = "../aws-smithy-json"
 6800   9074   
version = "0.61.4"
 6801   9075   
 6802   9076   
[dependencies.aws-smithy-runtime]
 6803   9077   
path = "../aws-smithy-runtime"
 6804   9078   
features = ["client"]
 6805   9079   
version = "1.8.5"
 6806   9080   
 6807   9081   
[dependencies.aws-smithy-runtime-api]
 6808   9082   
path = "../aws-smithy-runtime-api"
 6809   9083   
features = ["client", "http-02x"]
 6810   9084   
version = "1.8.5"
 6811   9085   
 6812   9086   
[dependencies.aws-smithy-types]
 6813   9087   
path = "../aws-smithy-types"
 6814   9088   
version = "1.3.2"
 6815   9089   
 6816   9090   
[dependencies.aws-types]
 6817   9091   
path = "../aws-types"
 6818   9092   
version = "1.3.8"
 6819   9093   
 6820   9094   
[dependencies.bytes]
 6821   9095   
version = "1.4.0"
 6822   9096   
 6823   9097   
[dependencies.fastrand]
 6824   9098   
version = "2.0.0"
 6825   9099   
 6826   9100   
[dependencies.http]
 6827   9101   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6828   9102   
index 415ecc9..667d12b 100644
 6829         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
        9103  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6830   9104   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 6831   9105   
edition = "2021"
 6832   9106   
license = "Apache-2.0"
 6833   9107   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6834   9108   
rust-version = "1.86.0"
 6835   9109   
readme = "README.md"
 6836   9110   
[package.metadata.smithy]
 6837   9111   
codegen-version = "ci"
 6838   9112   
[package.metadata.docs.rs]
 6839   9113   
all-features = true
 6840   9114   
targets = ["x86_64-unknown-linux-gnu"]
 6841   9115   
[dependencies.aws-credential-types]
 6842   9116   
path = "../aws-credential-types"
 6843   9117   
version = "1.2.4"
 6844   9118   
 6845   9119   
[dependencies.aws-runtime]
 6846   9120   
path = "../aws-runtime"
 6847   9121   
features = ["event-stream"]
 6848   9122   
version = "1.5.9"
 6849   9123   
 6850   9124   
[dependencies.aws-smithy-async]
 6851   9125   
path = "../aws-smithy-async"
 6852   9126   
version = "1.2.5"
 6853   9127   
 6854   9128   
[dependencies.aws-smithy-eventstream]
 6855   9129   
path = "../aws-smithy-eventstream"
 6856   9130   
version = "0.60.10"
 6857   9131   
 6858   9132   
[dependencies.aws-smithy-http]
 6859   9133   
path = "../aws-smithy-http"
 6860   9134   
features = ["event-stream"]
 6861         -
version = "0.62.2"
        9135  +
version = "0.62.3"
 6862   9136   
 6863   9137   
[dependencies.aws-smithy-json]
 6864   9138   
path = "../aws-smithy-json"
 6865   9139   
version = "0.61.4"
 6866   9140   
 6867   9141   
[dependencies.aws-smithy-runtime]
 6868   9142   
path = "../aws-smithy-runtime"
 6869   9143   
features = ["client"]
 6870   9144   
version = "1.8.5"
 6871   9145   
 6872   9146   
[dependencies.aws-smithy-runtime-api]
 6873   9147   
path = "../aws-smithy-runtime-api"
 6874   9148   
features = ["client", "http-02x"]
 6875   9149   
version = "1.8.5"
 6876   9150   
 6877   9151   
[dependencies.aws-smithy-types]
 6878   9152   
path = "../aws-smithy-types"
 6879   9153   
version = "1.3.2"
 6880   9154   
 6881   9155   
[dependencies.aws-types]
 6882   9156   
path = "../aws-types"
 6883   9157   
version = "1.3.8"
 6884   9158   
 6885   9159   
[dependencies.bytes]
 6886   9160   
version = "1.4.0"
 6887   9161   
 6888   9162   
[dependencies.fastrand]
 6889   9163   
version = "2.0.0"
 6890   9164   
 6891   9165   
[dependencies.http]
 6892   9166   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6893   9167   
index 8871cab..ed88de6 100644
 6894         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
        9168  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6895   9169   
@@ -1,61 +1,61 @@
 6896   9170   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6897   9171   
[package]
 6898   9172   
name = "aws-sdk-codecatalyst"
 6899   9173   
version = "0.0.0-local"
 6900   9174   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6901   9175   
description = "AWS SDK for Amazon CodeCatalyst"
 6902   9176   
edition = "2021"
 6903   9177   
license = "Apache-2.0"
 6904   9178   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6905   9179   
rust-version = "1.86.0"
 6906   9180   
readme = "README.md"
 6907   9181   
[package.metadata.smithy]
 6908   9182   
codegen-version = "ci"
 6909   9183   
[package.metadata.docs.rs]
 6910   9184   
all-features = true
 6911   9185   
targets = ["x86_64-unknown-linux-gnu"]
 6912   9186   
[dependencies.aws-credential-types]
 6913   9187   
path = "../aws-credential-types"
 6914   9188   
version = "1.2.4"
 6915   9189   
 6916   9190   
[dependencies.aws-runtime]
 6917   9191   
path = "../aws-runtime"
 6918   9192   
version = "1.5.9"
 6919   9193   
 6920   9194   
[dependencies.aws-smithy-async]
 6921   9195   
path = "../aws-smithy-async"
 6922   9196   
version = "1.2.5"
 6923   9197   
 6924   9198   
[dependencies.aws-smithy-http]
 6925   9199   
path = "../aws-smithy-http"
 6926         -
version = "0.62.2"
        9200  +
version = "0.62.3"
 6927   9201   
 6928   9202   
[dependencies.aws-smithy-json]
 6929   9203   
path = "../aws-smithy-json"
 6930   9204   
version = "0.61.4"
 6931   9205   
 6932   9206   
[dependencies.aws-smithy-runtime]
 6933   9207   
path = "../aws-smithy-runtime"
 6934   9208   
features = ["client", "http-auth"]
 6935   9209   
version = "1.8.5"
 6936   9210   
 6937   9211   
[dependencies.aws-smithy-runtime-api]
 6938   9212   
path = "../aws-smithy-runtime-api"
 6939   9213   
features = ["client", "http-02x", "http-auth"]
 6940   9214   
version = "1.8.5"
 6941   9215   
 6942   9216   
[dependencies.aws-smithy-types]
 6943   9217   
path = "../aws-smithy-types"
 6944   9218   
version = "1.3.2"
 6945   9219   
 6946   9220   
[dependencies.aws-types]
 6947   9221   
path = "../aws-types"
 6948   9222   
version = "1.3.8"
 6949   9223   
 6950   9224   
[dependencies.bytes]
 6951   9225   
version = "1.4.0"
 6952   9226   
 6953   9227   
[dependencies.fastrand]
 6954   9228   
version = "2.0.0"
 6955   9229   
 6956   9230   
[dependencies.http]
 6957   9231   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6958   9232   
index 89573ff..05238af 100644
 6959         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
        9233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6960   9234   
@@ -1,61 +1,61 @@
 6961   9235   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6962   9236   
[package]
 6963   9237   
name = "aws-sdk-config"
 6964   9238   
version = "0.0.0-local"
 6965   9239   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6966   9240   
description = "AWS SDK for AWS Config"
 6967   9241   
edition = "2021"
 6968   9242   
license = "Apache-2.0"
 6969   9243   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6970   9244   
rust-version = "1.86.0"
 6971   9245   
readme = "README.md"
 6972   9246   
[package.metadata.smithy]
 6973   9247   
codegen-version = "ci"
 6974   9248   
[package.metadata.docs.rs]
 6975   9249   
all-features = true
 6976   9250   
targets = ["x86_64-unknown-linux-gnu"]
 6977   9251   
[dependencies.aws-credential-types]
 6978   9252   
path = "../aws-credential-types"
 6979   9253   
version = "1.2.4"
 6980   9254   
 6981   9255   
[dependencies.aws-runtime]
 6982   9256   
path = "../aws-runtime"
 6983   9257   
version = "1.5.9"
 6984   9258   
 6985   9259   
[dependencies.aws-smithy-async]
 6986   9260   
path = "../aws-smithy-async"
 6987   9261   
version = "1.2.5"
 6988   9262   
 6989   9263   
[dependencies.aws-smithy-http]
 6990   9264   
path = "../aws-smithy-http"
 6991         -
version = "0.62.2"
        9265  +
version = "0.62.3"
 6992   9266   
 6993   9267   
[dependencies.aws-smithy-json]
 6994   9268   
path = "../aws-smithy-json"
 6995   9269   
version = "0.61.4"
 6996   9270   
 6997   9271   
[dependencies.aws-smithy-runtime]
 6998   9272   
path = "../aws-smithy-runtime"
 6999   9273   
features = ["client"]
 7000   9274   
version = "1.8.5"
 7001   9275   
 7002   9276   
[dependencies.aws-smithy-runtime-api]
 7003   9277   
path = "../aws-smithy-runtime-api"
 7004   9278   
features = ["client", "http-02x"]
 7005   9279   
version = "1.8.5"
 7006   9280   
 7007   9281   
[dependencies.aws-smithy-types]
 7008   9282   
path = "../aws-smithy-types"
 7009   9283   
version = "1.3.2"
 7010   9284   
 7011   9285   
[dependencies.aws-types]
 7012   9286   
path = "../aws-types"
 7013   9287   
version = "1.3.8"
 7014   9288   
 7015   9289   
[dependencies.bytes]
 7016   9290   
version = "1.4.0"
 7017   9291   
 7018   9292   
[dependencies.fastrand]
 7019   9293   
version = "2.0.0"
 7020   9294   
 7021   9295   
[dependencies.http]
 7022   9296   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 7023   9297   
index d397c58..2c1062b 100644
 7024         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
        9298  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 7025   9299   
@@ -1,61 +1,61 @@
 7026   9300   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7027   9301   
[package]
 7028   9302   
name = "aws-sdk-dynamodb"
 7029   9303   
version = "0.0.0-local"
 7030   9304   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7031   9305   
description = "AWS SDK for Amazon DynamoDB"
 7032   9306   
edition = "2021"
 7033   9307   
license = "Apache-2.0"
 7034   9308   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7035   9309   
rust-version = "1.86.0"
 7036   9310   
readme = "README.md"
 7037   9311   
[package.metadata.smithy]
 7038   9312   
codegen-version = "ci"
 7039   9313   
[package.metadata.docs.rs]
 7040   9314   
all-features = true
 7041   9315   
targets = ["x86_64-unknown-linux-gnu"]
 7042   9316   
[dependencies.aws-credential-types]
 7043   9317   
path = "../aws-credential-types"
 7044   9318   
version = "1.2.4"
 7045   9319   
 7046   9320   
[dependencies.aws-runtime]
 7047   9321   
path = "../aws-runtime"
 7048   9322   
version = "1.5.9"
 7049   9323   
 7050   9324   
[dependencies.aws-smithy-async]
 7051   9325   
path = "../aws-smithy-async"
 7052   9326   
version = "1.2.5"
 7053   9327   
 7054   9328   
[dependencies.aws-smithy-http]
 7055   9329   
path = "../aws-smithy-http"
 7056         -
version = "0.62.2"
        9330  +
version = "0.62.3"
 7057   9331   
 7058   9332   
[dependencies.aws-smithy-json]
 7059   9333   
path = "../aws-smithy-json"
 7060   9334   
version = "0.61.4"
 7061   9335   
 7062   9336   
[dependencies.aws-smithy-runtime]
 7063   9337   
path = "../aws-smithy-runtime"
 7064   9338   
features = ["client"]
 7065   9339   
version = "1.8.5"
 7066   9340   
 7067   9341   
[dependencies.aws-smithy-runtime-api]
 7068   9342   
path = "../aws-smithy-runtime-api"
 7069   9343   
features = ["client", "http-02x"]
 7070   9344   
version = "1.8.5"
 7071   9345   
 7072   9346   
[dependencies.aws-smithy-types]
 7073   9347   
path = "../aws-smithy-types"
 7074   9348   
version = "1.3.2"
 7075   9349   
 7076   9350   
[dependencies.aws-types]
 7077   9351   
path = "../aws-types"
 7078   9352   
version = "1.3.8"
 7079   9353   
 7080   9354   
[dependencies.bytes]
 7081   9355   
version = "1.4.0"
 7082   9356   
 7083   9357   
[dependencies.fastrand]
 7084   9358   
version = "2.0.0"
 7085   9359   
 7086   9360   
[dependencies.http]
 7087   9361   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 7088   9362   
index c0ba315..46168af 100644
 7089         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
        9363  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 7090   9364   
@@ -1,61 +1,61 @@
 7091   9365   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7092   9366   
[package]
 7093   9367   
name = "aws-sdk-ec2"
 7094   9368   
version = "0.0.0-local"
 7095   9369   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7096   9370   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 7097   9371   
edition = "2021"
 7098   9372   
license = "Apache-2.0"
 7099   9373   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7100   9374   
rust-version = "1.86.0"
 7101   9375   
readme = "README.md"
 7102   9376   
[package.metadata.smithy]
 7103   9377   
codegen-version = "ci"
 7104   9378   
[package.metadata.docs.rs]
 7105   9379   
all-features = true
 7106   9380   
targets = ["x86_64-unknown-linux-gnu"]
 7107   9381   
[dependencies.aws-credential-types]
 7108   9382   
path = "../aws-credential-types"
 7109   9383   
version = "1.2.4"
 7110   9384   
 7111   9385   
[dependencies.aws-runtime]
 7112   9386   
path = "../aws-runtime"
 7113   9387   
version = "1.5.9"
 7114   9388   
 7115   9389   
[dependencies.aws-smithy-async]
 7116   9390   
path = "../aws-smithy-async"
 7117   9391   
version = "1.2.5"
 7118   9392   
 7119   9393   
[dependencies.aws-smithy-http]
 7120   9394   
path = "../aws-smithy-http"
 7121         -
version = "0.62.2"
        9395  +
version = "0.62.3"
 7122   9396   
 7123   9397   
[dependencies.aws-smithy-json]
 7124   9398   
path = "../aws-smithy-json"
 7125   9399   
version = "0.61.4"
 7126   9400   
 7127   9401   
[dependencies.aws-smithy-query]
 7128   9402   
path = "../aws-smithy-query"
 7129   9403   
version = "0.60.7"
 7130   9404   
 7131   9405   
[dependencies.aws-smithy-runtime]
 7132   9406   
path = "../aws-smithy-runtime"
 7133   9407   
features = ["client"]
 7134   9408   
version = "1.8.5"
 7135   9409   
 7136   9410   
[dependencies.aws-smithy-runtime-api]
 7137   9411   
path = "../aws-smithy-runtime-api"
 7138   9412   
features = ["client", "http-02x"]
 7139   9413   
version = "1.8.5"
 7140   9414   
 7141   9415   
[dependencies.aws-smithy-types]
 7142   9416   
path = "../aws-smithy-types"
 7143   9417   
version = "1.3.2"
 7144   9418   
 7145   9419   
[dependencies.aws-smithy-xml]
 7146   9420   
path = "../aws-smithy-xml"
 7147   9421   
version = "0.60.10"
 7148   9422   
 7149   9423   
[dependencies.aws-types]
 7150   9424   
path = "../aws-types"
 7151   9425   
version = "1.3.8"
 7152   9426   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7153   9427   
index 4474d17..095d40e 100644
 7154         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
        9428  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7155   9429   
@@ -1,61 +1,61 @@
 7156   9430   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7157   9431   
[package]
 7158   9432   
name = "aws-sdk-ecs"
 7159   9433   
version = "0.0.0-local"
 7160   9434   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7161   9435   
description = "AWS SDK for Amazon EC2 Container Service"
 7162   9436   
edition = "2021"
 7163   9437   
license = "Apache-2.0"
 7164   9438   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7165   9439   
rust-version = "1.86.0"
 7166   9440   
readme = "README.md"
 7167   9441   
[package.metadata.smithy]
 7168   9442   
codegen-version = "ci"
 7169   9443   
[package.metadata.docs.rs]
 7170   9444   
all-features = true
 7171   9445   
targets = ["x86_64-unknown-linux-gnu"]
 7172   9446   
[dependencies.aws-credential-types]
 7173   9447   
path = "../aws-credential-types"
 7174   9448   
version = "1.2.4"
 7175   9449   
 7176   9450   
[dependencies.aws-runtime]
 7177   9451   
path = "../aws-runtime"
 7178   9452   
version = "1.5.9"
 7179   9453   
 7180   9454   
[dependencies.aws-smithy-async]
 7181   9455   
path = "../aws-smithy-async"
 7182   9456   
version = "1.2.5"
 7183   9457   
 7184   9458   
[dependencies.aws-smithy-http]
 7185   9459   
path = "../aws-smithy-http"
 7186         -
version = "0.62.2"
        9460  +
version = "0.62.3"
 7187   9461   
 7188   9462   
[dependencies.aws-smithy-json]
 7189   9463   
path = "../aws-smithy-json"
 7190   9464   
version = "0.61.4"
 7191   9465   
 7192   9466   
[dependencies.aws-smithy-runtime]
 7193   9467   
path = "../aws-smithy-runtime"
 7194   9468   
features = ["client"]
 7195   9469   
version = "1.8.5"
 7196   9470   
 7197   9471   
[dependencies.aws-smithy-runtime-api]
 7198   9472   
path = "../aws-smithy-runtime-api"
 7199   9473   
features = ["client", "http-02x"]
 7200   9474   
version = "1.8.5"
 7201   9475   
 7202   9476   
[dependencies.aws-smithy-types]
 7203   9477   
path = "../aws-smithy-types"
 7204   9478   
version = "1.3.2"
 7205   9479   
 7206   9480   
[dependencies.aws-types]
 7207   9481   
path = "../aws-types"
 7208   9482   
version = "1.3.8"
 7209   9483   
 7210   9484   
[dependencies.bytes]
 7211   9485   
version = "1.4.0"
 7212   9486   
 7213   9487   
[dependencies.fastrand]
 7214   9488   
version = "2.0.0"
 7215   9489   
 7216   9490   
[dependencies.http]
 7217   9491   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7218   9492   
index 15b1d77..16d7d89 100644
 7219         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
        9493  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7220   9494   
@@ -1,65 +1,65 @@
 7221   9495   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7222   9496   
[package]
 7223   9497   
name = "aws-sdk-glacier"
 7224   9498   
version = "0.0.0-local"
 7225   9499   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7226   9500   
description = "AWS SDK for Amazon Glacier"
 7227   9501   
edition = "2021"
 7228   9502   
license = "Apache-2.0"
 7229   9503   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7230   9504   
rust-version = "1.86.0"
 7231   9505   
readme = "README.md"
 7232   9506   
[package.metadata.smithy]
 7233   9507   
codegen-version = "ci"
 7234   9508   
[package.metadata.docs.rs]
 7235   9509   
all-features = true
 7236   9510   
targets = ["x86_64-unknown-linux-gnu"]
 7237   9511   
[dependencies.aws-credential-types]
 7238   9512   
path = "../aws-credential-types"
 7239   9513   
version = "1.2.4"
 7240   9514   
 7241   9515   
[dependencies.aws-runtime]
 7242   9516   
path = "../aws-runtime"
 7243   9517   
version = "1.5.9"
 7244   9518   
 7245   9519   
[dependencies.aws-sigv4]
 7246   9520   
path = "../aws-sigv4"
 7247         -
version = "1.3.3"
        9521  +
version = "1.3.4"
 7248   9522   
 7249   9523   
[dependencies.aws-smithy-async]
 7250   9524   
path = "../aws-smithy-async"
 7251   9525   
version = "1.2.5"
 7252   9526   
 7253   9527   
[dependencies.aws-smithy-http]
 7254   9528   
path = "../aws-smithy-http"
 7255         -
version = "0.62.2"
        9529  +
version = "0.62.3"
 7256   9530   
 7257   9531   
[dependencies.aws-smithy-json]
 7258   9532   
path = "../aws-smithy-json"
 7259   9533   
version = "0.61.4"
 7260   9534   
 7261   9535   
[dependencies.aws-smithy-runtime]
 7262   9536   
path = "../aws-smithy-runtime"
 7263   9537   
features = ["client"]
 7264   9538   
version = "1.8.5"
 7265   9539   
 7266   9540   
[dependencies.aws-smithy-runtime-api]
 7267   9541   
path = "../aws-smithy-runtime-api"
 7268   9542   
features = ["client", "http-02x"]
 7269   9543   
version = "1.8.5"
 7270   9544   
 7271   9545   
[dependencies.aws-smithy-types]
 7272   9546   
path = "../aws-smithy-types"
 7273   9547   
version = "1.3.2"
 7274   9548   
 7275   9549   
[dependencies.aws-types]
 7276   9550   
path = "../aws-types"
 7277   9551   
version = "1.3.8"
 7278   9552   
 7279   9553   
[dependencies.bytes]
 7280   9554   
version = "1.4.0"
 7281   9555   
 7282   9556   
[dependencies.fastrand]
 7283   9557   
version = "2.0.0"
 7284   9558   
 7285   9559   
[dependencies.hex]
 7286   9560   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7287   9561   
index d718a3a..65e6f24 100644
 7288         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
        9562  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7289   9563   
@@ -1,61 +1,61 @@
 7290   9564   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7291   9565   
[package]
 7292   9566   
name = "aws-sdk-iam"
 7293   9567   
version = "0.0.0-local"
 7294   9568   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7295   9569   
description = "AWS SDK for AWS Identity and Access Management"
 7296   9570   
edition = "2021"
 7297   9571   
license = "Apache-2.0"
 7298   9572   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7299   9573   
rust-version = "1.86.0"
 7300   9574   
readme = "README.md"
 7301   9575   
[package.metadata.smithy]
 7302   9576   
codegen-version = "ci"
 7303   9577   
[package.metadata.docs.rs]
 7304   9578   
all-features = true
 7305   9579   
targets = ["x86_64-unknown-linux-gnu"]
 7306   9580   
[dependencies.aws-credential-types]
 7307   9581   
path = "../aws-credential-types"
 7308   9582   
version = "1.2.4"
 7309   9583   
 7310   9584   
[dependencies.aws-runtime]
 7311   9585   
path = "../aws-runtime"
 7312   9586   
version = "1.5.9"
 7313   9587   
 7314   9588   
[dependencies.aws-smithy-async]
 7315   9589   
path = "../aws-smithy-async"
 7316   9590   
version = "1.2.5"
 7317   9591   
 7318   9592   
[dependencies.aws-smithy-http]
 7319   9593   
path = "../aws-smithy-http"
 7320         -
version = "0.62.2"
        9594  +
version = "0.62.3"
 7321   9595   
 7322   9596   
[dependencies.aws-smithy-json]
 7323   9597   
path = "../aws-smithy-json"
 7324   9598   
version = "0.61.4"
 7325   9599   
 7326   9600   
[dependencies.aws-smithy-query]
 7327   9601   
path = "../aws-smithy-query"
 7328   9602   
version = "0.60.7"
 7329   9603   
 7330   9604   
[dependencies.aws-smithy-runtime]
 7331   9605   
path = "../aws-smithy-runtime"
 7332   9606   
features = ["client"]
 7333   9607   
version = "1.8.5"
 7334   9608   
 7335   9609   
[dependencies.aws-smithy-runtime-api]
 7336   9610   
path = "../aws-smithy-runtime-api"
 7337   9611   
features = ["client", "http-02x"]
 7338   9612   
version = "1.8.5"
 7339   9613   
 7340   9614   
[dependencies.aws-smithy-types]
 7341   9615   
path = "../aws-smithy-types"
 7342   9616   
version = "1.3.2"
 7343   9617   
 7344   9618   
[dependencies.aws-smithy-xml]
 7345   9619   
path = "../aws-smithy-xml"
 7346   9620   
version = "0.60.10"
 7347   9621   
 7348   9622   
[dependencies.aws-types]
 7349   9623   
path = "../aws-types"
 7350   9624   
version = "1.3.8"
 7351   9625   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7352   9626   
index 0ed4302..3d828a5 100644
 7353         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
        9627  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7354   9628   
@@ -1,61 +1,61 @@
 7355   9629   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7356   9630   
[package]
 7357   9631   
name = "aws-sdk-kms"
 7358   9632   
version = "0.0.0-local"
 7359   9633   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7360   9634   
description = "AWS SDK for AWS Key Management Service"
 7361   9635   
edition = "2021"
 7362   9636   
license = "Apache-2.0"
 7363   9637   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7364   9638   
rust-version = "1.86.0"
 7365   9639   
readme = "README.md"
 7366   9640   
[package.metadata.smithy]
 7367   9641   
codegen-version = "ci"
 7368   9642   
[package.metadata.docs.rs]
 7369   9643   
all-features = true
 7370   9644   
targets = ["x86_64-unknown-linux-gnu"]
 7371   9645   
[dependencies.aws-credential-types]
 7372   9646   
path = "../aws-credential-types"
 7373   9647   
version = "1.2.4"
 7374   9648   
 7375   9649   
[dependencies.aws-runtime]
 7376   9650   
path = "../aws-runtime"
 7377   9651   
version = "1.5.9"
 7378   9652   
 7379   9653   
[dependencies.aws-smithy-async]
 7380   9654   
path = "../aws-smithy-async"
 7381   9655   
version = "1.2.5"
 7382   9656   
 7383   9657   
[dependencies.aws-smithy-http]
 7384   9658   
path = "../aws-smithy-http"
 7385         -
version = "0.62.2"
        9659  +
version = "0.62.3"
 7386   9660   
 7387   9661   
[dependencies.aws-smithy-json]
 7388   9662   
path = "../aws-smithy-json"
 7389   9663   
version = "0.61.4"
 7390   9664   
 7391   9665   
[dependencies.aws-smithy-runtime]
 7392   9666   
path = "../aws-smithy-runtime"
 7393   9667   
features = ["client"]
 7394   9668   
version = "1.8.5"
 7395   9669   
 7396   9670   
[dependencies.aws-smithy-runtime-api]
 7397   9671   
path = "../aws-smithy-runtime-api"
 7398   9672   
features = ["client", "http-02x"]
 7399   9673   
version = "1.8.5"
 7400   9674   
 7401   9675   
[dependencies.aws-smithy-types]
 7402   9676   
path = "../aws-smithy-types"
 7403   9677   
version = "1.3.2"
 7404   9678   
 7405   9679   
[dependencies.aws-types]
 7406   9680   
path = "../aws-types"
 7407   9681   
version = "1.3.8"
 7408   9682   
 7409   9683   
[dependencies.bytes]
 7410   9684   
version = "1.4.0"
 7411   9685   
 7412   9686   
[dependencies.fastrand]
 7413   9687   
version = "2.0.0"
 7414   9688   
 7415   9689   
[dependencies.http]
 7416   9690   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7417   9691   
index 6518dfc..6b94752 100644
 7418         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
        9692  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7419   9693   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 7420   9694   
edition = "2021"
 7421   9695   
license = "Apache-2.0"
 7422   9696   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7423   9697   
rust-version = "1.86.0"
 7424   9698   
readme = "README.md"
 7425   9699   
[package.metadata.smithy]
 7426   9700   
codegen-version = "ci"
 7427   9701   
[package.metadata.docs.rs]
 7428   9702   
all-features = true
 7429   9703   
targets = ["x86_64-unknown-linux-gnu"]
 7430   9704   
[dependencies.aws-credential-types]
 7431   9705   
path = "../aws-credential-types"
 7432   9706   
version = "1.2.4"
 7433   9707   
 7434   9708   
[dependencies.aws-runtime]
 7435   9709   
path = "../aws-runtime"
 7436   9710   
features = ["event-stream"]
 7437   9711   
version = "1.5.9"
 7438   9712   
 7439   9713   
[dependencies.aws-smithy-async]
 7440   9714   
path = "../aws-smithy-async"
 7441   9715   
version = "1.2.5"
 7442   9716   
 7443   9717   
[dependencies.aws-smithy-eventstream]
 7444   9718   
path = "../aws-smithy-eventstream"
 7445   9719   
version = "0.60.10"
 7446   9720   
 7447   9721   
[dependencies.aws-smithy-http]
 7448   9722   
path = "../aws-smithy-http"
 7449   9723   
features = ["event-stream"]
 7450         -
version = "0.62.2"
        9724  +
version = "0.62.3"
 7451   9725   
 7452   9726   
[dependencies.aws-smithy-json]
 7453   9727   
path = "../aws-smithy-json"
 7454   9728   
version = "0.61.4"
 7455   9729   
 7456   9730   
[dependencies.aws-smithy-runtime]
 7457   9731   
path = "../aws-smithy-runtime"
 7458   9732   
features = ["client"]
 7459   9733   
version = "1.8.5"
 7460   9734   
 7461   9735   
[dependencies.aws-smithy-runtime-api]
 7462   9736   
path = "../aws-smithy-runtime-api"
 7463   9737   
features = ["client", "http-02x"]
 7464   9738   
version = "1.8.5"
 7465   9739   
 7466   9740   
[dependencies.aws-smithy-types]
 7467   9741   
path = "../aws-smithy-types"
 7468   9742   
version = "1.3.2"
 7469   9743   
 7470   9744   
[dependencies.aws-types]
 7471   9745   
path = "../aws-types"
 7472   9746   
version = "1.3.8"
 7473   9747   
 7474   9748   
[dependencies.bytes]
 7475   9749   
version = "1.4.0"
 7476   9750   
 7477   9751   
[dependencies.fastrand]
 7478   9752   
version = "2.0.0"
 7479   9753   
 7480   9754   
[dependencies.http]
 7481   9755   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7482   9756   
index dabb0e0..34cbc15 100644
 7483         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
        9757  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7484   9758   
@@ -1,65 +1,65 @@
 7485   9759   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7486   9760   
[package]
 7487   9761   
name = "aws-sdk-polly"
 7488   9762   
version = "0.0.0-local"
 7489   9763   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7490   9764   
description = "AWS SDK for Amazon Polly"
 7491   9765   
edition = "2021"
 7492   9766   
license = "Apache-2.0"
 7493   9767   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7494   9768   
rust-version = "1.86.0"
 7495   9769   
readme = "README.md"
 7496   9770   
[package.metadata.smithy]
 7497   9771   
codegen-version = "ci"
 7498   9772   
[package.metadata.docs.rs]
 7499   9773   
all-features = true
 7500   9774   
targets = ["x86_64-unknown-linux-gnu"]
 7501   9775   
[dependencies.aws-credential-types]
 7502   9776   
path = "../aws-credential-types"
 7503   9777   
version = "1.2.4"
 7504   9778   
 7505   9779   
[dependencies.aws-runtime]
 7506   9780   
path = "../aws-runtime"
 7507   9781   
version = "1.5.9"
 7508   9782   
 7509   9783   
[dependencies.aws-sigv4]
 7510   9784   
path = "../aws-sigv4"
 7511         -
version = "1.3.3"
        9785  +
version = "1.3.4"
 7512   9786   
 7513   9787   
[dependencies.aws-smithy-async]
 7514   9788   
path = "../aws-smithy-async"
 7515   9789   
version = "1.2.5"
 7516   9790   
 7517   9791   
[dependencies.aws-smithy-http]
 7518   9792   
path = "../aws-smithy-http"
 7519         -
version = "0.62.2"
        9793  +
version = "0.62.3"
 7520   9794   
 7521   9795   
[dependencies.aws-smithy-json]
 7522   9796   
path = "../aws-smithy-json"
 7523   9797   
version = "0.61.4"
 7524   9798   
 7525   9799   
[dependencies.aws-smithy-runtime]
 7526   9800   
path = "../aws-smithy-runtime"
 7527   9801   
features = ["client"]
 7528   9802   
version = "1.8.5"
 7529   9803   
 7530   9804   
[dependencies.aws-smithy-runtime-api]
 7531   9805   
path = "../aws-smithy-runtime-api"
 7532   9806   
features = ["client", "http-02x"]
 7533   9807   
version = "1.8.5"
 7534   9808   
 7535   9809   
[dependencies.aws-smithy-types]
 7536   9810   
path = "../aws-smithy-types"
 7537   9811   
version = "1.3.2"
 7538   9812   
 7539   9813   
[dependencies.aws-types]
 7540   9814   
path = "../aws-types"
 7541   9815   
version = "1.3.8"
 7542   9816   
 7543   9817   
[dependencies.bytes]
 7544   9818   
version = "1.4.0"
 7545   9819   
 7546   9820   
[dependencies.fastrand]
 7547   9821   
version = "2.0.0"
 7548   9822   
 7549   9823   
[dependencies.http]
 7550   9824   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7551   9825   
index a884716..f3d8713 100644
 7552         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
        9826  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7553   9827   
@@ -1,61 +1,61 @@
 7554   9828   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7555   9829   
[package]
 7556   9830   
name = "aws-sdk-qldbsession"
 7557   9831   
version = "0.0.0-local"
 7558   9832   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7559   9833   
description = "AWS SDK for Amazon QLDB Session"
 7560   9834   
edition = "2021"
 7561   9835   
license = "Apache-2.0"
 7562   9836   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7563   9837   
rust-version = "1.86.0"
 7564   9838   
readme = "README.md"
 7565   9839   
[package.metadata.smithy]
 7566   9840   
codegen-version = "ci"
 7567   9841   
[package.metadata.docs.rs]
 7568   9842   
all-features = true
 7569   9843   
targets = ["x86_64-unknown-linux-gnu"]
 7570   9844   
[dependencies.aws-credential-types]
 7571   9845   
path = "../aws-credential-types"
 7572   9846   
version = "1.2.4"
 7573   9847   
 7574   9848   
[dependencies.aws-runtime]
 7575   9849   
path = "../aws-runtime"
 7576   9850   
version = "1.5.9"
 7577   9851   
 7578   9852   
[dependencies.aws-smithy-async]
 7579   9853   
path = "../aws-smithy-async"
 7580   9854   
version = "1.2.5"
 7581   9855   
 7582   9856   
[dependencies.aws-smithy-http]
 7583   9857   
path = "../aws-smithy-http"
 7584         -
version = "0.62.2"
        9858  +
version = "0.62.3"
 7585   9859   
 7586   9860   
[dependencies.aws-smithy-json]
 7587   9861   
path = "../aws-smithy-json"
 7588   9862   
version = "0.61.4"
 7589   9863   
 7590   9864   
[dependencies.aws-smithy-runtime]
 7591   9865   
path = "../aws-smithy-runtime"
 7592   9866   
features = ["client"]
 7593   9867   
version = "1.8.5"
 7594   9868   
 7595   9869   
[dependencies.aws-smithy-runtime-api]
 7596   9870   
path = "../aws-smithy-runtime-api"
 7597   9871   
features = ["client", "http-02x"]
 7598   9872   
version = "1.8.5"
 7599   9873   
 7600   9874   
[dependencies.aws-smithy-types]
 7601   9875   
path = "../aws-smithy-types"
 7602   9876   
version = "1.3.2"
 7603   9877   
 7604   9878   
[dependencies.aws-types]
 7605   9879   
path = "../aws-types"
 7606   9880   
version = "1.3.8"
 7607   9881   
 7608   9882   
[dependencies.bytes]
 7609   9883   
version = "1.4.0"
 7610   9884   
 7611   9885   
[dependencies.fastrand]
 7612   9886   
version = "2.0.0"
 7613   9887   
 7614   9888   
[dependencies.http]
 7615   9889   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7616   9890   
index 32a7dc9..a2c752d 100644
 7617         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
        9891  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7618   9892   
@@ -1,61 +1,61 @@
 7619   9893   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7620   9894   
[package]
 7621   9895   
name = "aws-sdk-route53"
 7622   9896   
version = "0.0.0-local"
 7623   9897   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7624   9898   
description = "AWS SDK for Amazon Route 53"
 7625   9899   
edition = "2021"
 7626   9900   
license = "Apache-2.0"
 7627   9901   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7628   9902   
rust-version = "1.86.0"
 7629   9903   
readme = "README.md"
 7630   9904   
[package.metadata.smithy]
 7631   9905   
codegen-version = "ci"
 7632   9906   
[package.metadata.docs.rs]
 7633   9907   
all-features = true
 7634   9908   
targets = ["x86_64-unknown-linux-gnu"]
 7635   9909   
[dependencies.aws-credential-types]
 7636   9910   
path = "../aws-credential-types"
 7637   9911   
version = "1.2.4"
 7638   9912   
 7639   9913   
[dependencies.aws-runtime]
 7640   9914   
path = "../aws-runtime"
 7641   9915   
version = "1.5.9"
 7642   9916   
 7643   9917   
[dependencies.aws-smithy-async]
 7644   9918   
path = "../aws-smithy-async"
 7645   9919   
version = "1.2.5"
 7646   9920   
 7647   9921   
[dependencies.aws-smithy-http]
 7648   9922   
path = "../aws-smithy-http"
 7649         -
version = "0.62.2"
        9923  +
version = "0.62.3"
 7650   9924   
 7651   9925   
[dependencies.aws-smithy-json]
 7652   9926   
path = "../aws-smithy-json"
 7653   9927   
version = "0.61.4"
 7654   9928   
 7655   9929   
[dependencies.aws-smithy-runtime]
 7656   9930   
path = "../aws-smithy-runtime"
 7657   9931   
features = ["client"]
 7658   9932   
version = "1.8.5"
 7659   9933   
 7660   9934   
[dependencies.aws-smithy-runtime-api]
 7661   9935   
path = "../aws-smithy-runtime-api"
 7662   9936   
features = ["client", "http-02x"]
 7663   9937   
version = "1.8.5"
 7664   9938   
 7665   9939   
[dependencies.aws-smithy-types]
 7666   9940   
path = "../aws-smithy-types"
 7667   9941   
version = "1.3.2"
 7668   9942   
 7669   9943   
[dependencies.aws-smithy-xml]
 7670   9944   
path = "../aws-smithy-xml"
 7671   9945   
version = "0.60.10"
 7672   9946   
 7673   9947   
[dependencies.aws-types]
 7674   9948   
path = "../aws-types"
 7675   9949   
version = "1.3.8"
 7676   9950   
 7677   9951   
[dependencies.fastrand]
 7678   9952   
version = "2.0.0"
 7679   9953   
 7680   9954   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7681   9955   
index f65e261..2f6bec0 100644
 7682         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
        9956  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7683   9957   
@@ -1,75 +1,75 @@
 7684   9958   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7685   9959   
[package]
 7686   9960   
name = "aws-sdk-s3"
 7687   9961   
version = "0.0.0-local"
 7688   9962   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7689   9963   
description = "AWS SDK for Amazon Simple Storage Service"
 7690   9964   
edition = "2021"
 7691   9965   
license = "Apache-2.0"
 7692   9966   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7693   9967   
rust-version = "1.86.0"
 7694   9968   
readme = "README.md"
 7695   9969   
[package.metadata.smithy]
 7696   9970   
codegen-version = "ci"
 7697   9971   
[package.metadata.docs.rs]
 7698   9972   
all-features = true
 7699   9973   
targets = ["x86_64-unknown-linux-gnu"]
 7700   9974   
[dependencies.aws-credential-types]
 7701   9975   
path = "../aws-credential-types"
 7702   9976   
version = "1.2.4"
 7703   9977   
 7704   9978   
[dependencies.aws-runtime]
 7705   9979   
path = "../aws-runtime"
 7706   9980   
features = ["event-stream", "http-02x"]
 7707   9981   
version = "1.5.9"
 7708   9982   
 7709   9983   
[dependencies.aws-sigv4]
 7710   9984   
path = "../aws-sigv4"
 7711         -
version = "1.3.3"
        9985  +
version = "1.3.4"
 7712   9986   
 7713   9987   
[dependencies.aws-smithy-async]
 7714   9988   
path = "../aws-smithy-async"
 7715   9989   
version = "1.2.5"
 7716   9990   
 7717   9991   
[dependencies.aws-smithy-checksums]
 7718   9992   
path = "../aws-smithy-checksums"
 7719   9993   
version = "0.63.5"
 7720   9994   
 7721   9995   
[dependencies.aws-smithy-eventstream]
 7722   9996   
path = "../aws-smithy-eventstream"
 7723   9997   
version = "0.60.10"
 7724   9998   
 7725   9999   
[dependencies.aws-smithy-http]
 7726  10000   
path = "../aws-smithy-http"
 7727  10001   
features = ["event-stream"]
 7728         -
version = "0.62.2"
       10002  +
version = "0.62.3"
 7729  10003   
 7730  10004   
[dependencies.aws-smithy-json]
 7731  10005   
path = "../aws-smithy-json"
 7732  10006   
version = "0.61.4"
 7733  10007   
 7734  10008   
[dependencies.aws-smithy-runtime]
 7735  10009   
path = "../aws-smithy-runtime"
 7736  10010   
features = ["client"]
 7737  10011   
version = "1.8.5"
 7738  10012   
 7739  10013   
[dependencies.aws-smithy-runtime-api]
 7740  10014   
path = "../aws-smithy-runtime-api"
 7741  10015   
features = ["client", "http-02x"]
 7742  10016   
version = "1.8.5"
 7743  10017   
 7744  10018   
[dependencies.aws-smithy-types]
 7745  10019   
path = "../aws-smithy-types"
 7746  10020   
version = "1.3.2"
 7747  10021   
 7748  10022   
[dependencies.aws-smithy-xml]
 7749  10023   
path = "../aws-smithy-xml"
 7750  10024   
version = "0.60.10"
 7751  10025   
 7752  10026   
[dependencies.aws-types]
 7753  10027   
path = "../aws-types"
 7754  10028   
version = "1.3.8"
 7755  10029   
 7756  10030   
[dependencies.bytes]
 7757  10031   
version = "1.4.0"
 7758  10032   
 7759  10033   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7760  10034   
index b4d1cdd..861c0cc 100644
 7761         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
       10035  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7762  10036   
@@ -1,61 +1,61 @@
 7763  10037   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7764  10038   
[package]
 7765  10039   
name = "aws-sdk-s3control"
 7766  10040   
version = "0.0.0-local"
 7767  10041   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7768  10042   
description = "AWS SDK for AWS S3 Control"
 7769  10043   
edition = "2021"
 7770  10044   
license = "Apache-2.0"
 7771  10045   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7772  10046   
rust-version = "1.86.0"
 7773  10047   
readme = "README.md"
 7774  10048   
[package.metadata.smithy]
 7775  10049   
codegen-version = "ci"
 7776  10050   
[package.metadata.docs.rs]
 7777  10051   
all-features = true
 7778  10052   
targets = ["x86_64-unknown-linux-gnu"]
 7779  10053   
[dependencies.aws-credential-types]
 7780  10054   
path = "../aws-credential-types"
 7781  10055   
version = "1.2.4"
 7782  10056   
 7783  10057   
[dependencies.aws-runtime]
 7784  10058   
path = "../aws-runtime"
 7785  10059   
version = "1.5.9"
 7786  10060   
 7787  10061   
[dependencies.aws-smithy-async]
 7788  10062   
path = "../aws-smithy-async"
 7789  10063   
version = "1.2.5"
 7790  10064   
 7791  10065   
[dependencies.aws-smithy-http]
 7792  10066   
path = "../aws-smithy-http"
 7793         -
version = "0.62.2"
       10067  +
version = "0.62.3"
 7794  10068   
 7795  10069   
[dependencies.aws-smithy-json]
 7796  10070   
path = "../aws-smithy-json"
 7797  10071   
version = "0.61.4"
 7798  10072   
 7799  10073   
[dependencies.aws-smithy-runtime]
 7800  10074   
path = "../aws-smithy-runtime"
 7801  10075   
features = ["client"]
 7802  10076   
version = "1.8.5"
 7803  10077   
 7804  10078   
[dependencies.aws-smithy-runtime-api]
 7805  10079   
path = "../aws-smithy-runtime-api"
 7806  10080   
features = ["client", "http-02x"]
 7807  10081   
version = "1.8.5"
 7808  10082   
 7809  10083   
[dependencies.aws-smithy-types]
 7810  10084   
path = "../aws-smithy-types"
 7811  10085   
version = "1.3.2"
 7812  10086   
 7813  10087   
[dependencies.aws-smithy-xml]
 7814  10088   
path = "../aws-smithy-xml"
 7815  10089   
version = "0.60.10"
 7816  10090   
 7817  10091   
[dependencies.aws-types]
 7818  10092   
path = "../aws-types"
 7819  10093   
version = "1.3.8"
 7820  10094   
 7821  10095   
[dependencies.fastrand]
 7822  10096   
version = "2.0.0"
 7823  10097   
 7824  10098   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7825  10099   
index 2cde182..fc367f4 100644
 7826         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
       10100  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7827  10101   
@@ -1,61 +1,61 @@
 7828  10102   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7829  10103   
[package]
 7830  10104   
name = "aws-sdk-sso"
 7831  10105   
version = "0.0.0-local"
 7832  10106   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7833  10107   
description = "AWS SDK for AWS Single Sign-On"
 7834  10108   
edition = "2021"
 7835  10109   
license = "Apache-2.0"
 7836  10110   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7837  10111   
rust-version = "1.86.0"
 7838  10112   
readme = "README.md"
 7839  10113   
[package.metadata.smithy]
 7840  10114   
codegen-version = "ci"
 7841  10115   
[package.metadata.docs.rs]
 7842  10116   
all-features = true
 7843  10117   
targets = ["x86_64-unknown-linux-gnu"]
 7844  10118   
[dependencies.aws-credential-types]
 7845  10119   
path = "../aws-credential-types"
 7846  10120   
version = "1.2.4"
 7847  10121   
 7848  10122   
[dependencies.aws-runtime]
 7849  10123   
path = "../aws-runtime"
 7850  10124   
version = "1.5.9"
 7851  10125   
 7852  10126   
[dependencies.aws-smithy-async]
 7853  10127   
path = "../aws-smithy-async"
 7854  10128   
version = "1.2.5"
 7855  10129   
 7856  10130   
[dependencies.aws-smithy-http]
 7857  10131   
path = "../aws-smithy-http"
 7858         -
version = "0.62.2"
       10132  +
version = "0.62.3"
 7859  10133   
 7860  10134   
[dependencies.aws-smithy-json]
 7861  10135   
path = "../aws-smithy-json"
 7862  10136   
version = "0.61.4"
 7863  10137   
 7864  10138   
[dependencies.aws-smithy-runtime]
 7865  10139   
path = "../aws-smithy-runtime"
 7866  10140   
features = ["client"]
 7867  10141   
version = "1.8.5"
 7868  10142   
 7869  10143   
[dependencies.aws-smithy-runtime-api]
 7870  10144   
path = "../aws-smithy-runtime-api"
 7871  10145   
features = ["client", "http-02x"]
 7872  10146   
version = "1.8.5"
 7873  10147   
 7874  10148   
[dependencies.aws-smithy-types]
 7875  10149   
path = "../aws-smithy-types"
 7876  10150   
version = "1.3.2"
 7877  10151   
 7878  10152   
[dependencies.aws-types]
 7879  10153   
path = "../aws-types"
 7880  10154   
version = "1.3.8"
 7881  10155   
 7882  10156   
[dependencies.bytes]
 7883  10157   
version = "1.4.0"
 7884  10158   
 7885  10159   
[dependencies.fastrand]
 7886  10160   
version = "2.0.0"
 7887  10161   
 7888  10162   
[dependencies.http]
 7889  10163   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7890  10164   
index 7a34c16..588d0bd 100644
 7891         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       10165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7892  10166   
@@ -1,61 +1,61 @@
 7893  10167   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7894  10168   
[package]
 7895  10169   
name = "aws-sdk-ssooidc"
 7896  10170   
version = "0.0.0-local"
 7897  10171   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7898  10172   
description = "AWS SDK for AWS SSO OIDC"
 7899  10173   
edition = "2021"
 7900  10174   
license = "Apache-2.0"
 7901  10175   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7902  10176   
rust-version = "1.86.0"
 7903  10177   
readme = "README.md"
 7904  10178   
[package.metadata.smithy]
 7905  10179   
codegen-version = "ci"
 7906  10180   
[package.metadata.docs.rs]
 7907  10181   
all-features = true
 7908  10182   
targets = ["x86_64-unknown-linux-gnu"]
 7909  10183   
[dependencies.aws-credential-types]
 7910  10184   
path = "../aws-credential-types"
 7911  10185   
version = "1.2.4"
 7912  10186   
 7913  10187   
[dependencies.aws-runtime]
 7914  10188   
path = "../aws-runtime"
 7915  10189   
version = "1.5.9"
 7916  10190   
 7917  10191   
[dependencies.aws-smithy-async]
 7918  10192   
path = "../aws-smithy-async"
 7919  10193   
version = "1.2.5"
 7920  10194   
 7921  10195   
[dependencies.aws-smithy-http]
 7922  10196   
path = "../aws-smithy-http"
 7923         -
version = "0.62.2"
       10197  +
version = "0.62.3"
 7924  10198   
 7925  10199   
[dependencies.aws-smithy-json]
 7926  10200   
path = "../aws-smithy-json"
 7927  10201   
version = "0.61.4"
 7928  10202   
 7929  10203   
[dependencies.aws-smithy-runtime]
 7930  10204   
path = "../aws-smithy-runtime"
 7931  10205   
features = ["client"]
 7932  10206   
version = "1.8.5"
 7933  10207   
 7934  10208   
[dependencies.aws-smithy-runtime-api]
 7935  10209   
path = "../aws-smithy-runtime-api"
 7936  10210   
features = ["client", "http-02x"]
 7937  10211   
version = "1.8.5"
 7938  10212   
 7939  10213   
[dependencies.aws-smithy-types]
 7940  10214   
path = "../aws-smithy-types"
 7941  10215   
version = "1.3.2"
 7942  10216   
 7943  10217   
[dependencies.aws-types]
 7944  10218   
path = "../aws-types"
 7945  10219   
version = "1.3.8"
 7946  10220   
 7947  10221   
[dependencies.bytes]
 7948  10222   
version = "1.4.0"
 7949  10223   
 7950  10224   
[dependencies.fastrand]
 7951  10225   
version = "2.0.0"
 7952  10226   
 7953  10227   
[dependencies.http]
 7954  10228   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7955  10229   
index 895dfb3..f2ce34e 100644
 7956         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       10230  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7957  10231   
@@ -1,61 +1,61 @@
 7958  10232   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7959  10233   
[package]
 7960  10234   
name = "aws-sdk-sts"
 7961  10235   
version = "0.0.0-local"
 7962  10236   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7963  10237   
description = "AWS SDK for AWS Security Token Service"
 7964  10238   
edition = "2021"
 7965  10239   
license = "Apache-2.0"
 7966  10240   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7967  10241   
rust-version = "1.86.0"
 7968  10242   
readme = "README.md"
 7969  10243   
[package.metadata.smithy]
 7970  10244   
codegen-version = "ci"
 7971  10245   
[package.metadata.docs.rs]
 7972  10246   
all-features = true
 7973  10247   
targets = ["x86_64-unknown-linux-gnu"]
 7974  10248   
[dependencies.aws-credential-types]
 7975  10249   
path = "../aws-credential-types"
 7976  10250   
version = "1.2.4"
 7977  10251   
 7978  10252   
[dependencies.aws-runtime]
 7979  10253   
path = "../aws-runtime"
 7980  10254   
version = "1.5.9"
 7981  10255   
 7982  10256   
[dependencies.aws-smithy-async]
 7983  10257   
path = "../aws-smithy-async"
 7984  10258   
version = "1.2.5"
 7985  10259   
 7986  10260   
[dependencies.aws-smithy-http]
 7987  10261   
path = "../aws-smithy-http"
 7988         -
version = "0.62.2"
       10262  +
version = "0.62.3"
 7989  10263   
 7990  10264   
[dependencies.aws-smithy-json]
 7991  10265   
path = "../aws-smithy-json"
 7992  10266   
version = "0.61.4"
 7993  10267   
 7994  10268   
[dependencies.aws-smithy-query]
 7995  10269   
path = "../aws-smithy-query"
 7996  10270   
version = "0.60.7"
 7997  10271   
 7998  10272   
[dependencies.aws-smithy-runtime]
 7999  10273   
path = "../aws-smithy-runtime"
 8000  10274   
features = ["client"]
 8001  10275   
version = "1.8.5"
 8002  10276   
 8003  10277   
[dependencies.aws-smithy-runtime-api]
 8004  10278   
path = "../aws-smithy-runtime-api"
 8005  10279   
features = ["client", "http-02x"]
 8006  10280   
version = "1.8.5"
 8007  10281   
 8008  10282   
[dependencies.aws-smithy-types]
 8009  10283   
path = "../aws-smithy-types"
 8010  10284   
version = "1.3.2"
 8011  10285   
 8012  10286   
[dependencies.aws-smithy-xml]
 8013  10287   
path = "../aws-smithy-xml"
 8014  10288   
version = "0.60.10"
 8015  10289   
 8016  10290   
[dependencies.aws-types]
 8017  10291   
path = "../aws-types"
 8018  10292   
version = "1.3.8"
 8019  10293   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 8020  10294   
index d556561..91178b6 100644
 8021         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       10295  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 8022  10296   
@@ -1,61 +1,61 @@
 8023  10297   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8024  10298   
[package]
 8025  10299   
name = "aws-sdk-timestreamquery"
 8026  10300   
version = "0.0.0-local"
 8027  10301   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8028  10302   
description = "AWS SDK for Amazon Timestream Query"
 8029  10303   
edition = "2021"
 8030  10304   
license = "Apache-2.0"
 8031  10305   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8032  10306   
rust-version = "1.86.0"
 8033  10307   
readme = "README.md"
 8034  10308   
[package.metadata.smithy]
 8035  10309   
codegen-version = "ci"
 8036  10310   
[package.metadata.docs.rs]
 8037  10311   
all-features = true
 8038  10312   
targets = ["x86_64-unknown-linux-gnu"]
 8039  10313   
[dependencies.aws-credential-types]
 8040  10314   
path = "../aws-credential-types"
 8041  10315   
version = "1.2.4"
 8042  10316   
 8043  10317   
[dependencies.aws-runtime]
 8044  10318   
path = "../aws-runtime"
 8045  10319   
version = "1.5.9"
 8046  10320   
 8047  10321   
[dependencies.aws-smithy-async]
 8048  10322   
path = "../aws-smithy-async"
 8049  10323   
version = "1.2.5"
 8050  10324   
 8051  10325   
[dependencies.aws-smithy-http]
 8052  10326   
path = "../aws-smithy-http"
 8053         -
version = "0.62.2"
       10327  +
version = "0.62.3"
 8054  10328   
 8055  10329   
[dependencies.aws-smithy-json]
 8056  10330   
path = "../aws-smithy-json"
 8057  10331   
version = "0.61.4"
 8058  10332   
 8059  10333   
[dependencies.aws-smithy-runtime]
 8060  10334   
path = "../aws-smithy-runtime"
 8061  10335   
features = ["client"]
 8062  10336   
version = "1.8.5"
 8063  10337   
 8064  10338   
[dependencies.aws-smithy-runtime-api]
 8065  10339   
path = "../aws-smithy-runtime-api"
 8066  10340   
features = ["client", "http-02x"]
 8067  10341   
version = "1.8.5"
 8068  10342   
 8069  10343   
[dependencies.aws-smithy-types]
 8070  10344   
path = "../aws-smithy-types"
 8071  10345   
version = "1.3.2"
 8072  10346   
 8073  10347   
[dependencies.aws-types]
 8074  10348   
path = "../aws-types"
 8075  10349   
version = "1.3.8"
 8076  10350   
 8077  10351   
[dependencies.bytes]
 8078  10352   
version = "1.4.0"
 8079  10353   
 8080  10354   
[dependencies.fastrand]
 8081  10355   
version = "2.0.0"
 8082  10356   
 8083  10357   
[dependencies.http]
 8084  10358   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 8085  10359   
index 0c56e4c..95731e3 100644
 8086         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       10360  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 8087  10361   
@@ -1,61 +1,61 @@
 8088  10362   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8089  10363   
[package]
 8090  10364   
name = "aws-sdk-timestreamwrite"
 8091  10365   
version = "0.0.0-local"
 8092  10366   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8093  10367   
description = "AWS SDK for Amazon Timestream Write"
 8094  10368   
edition = "2021"
 8095  10369   
license = "Apache-2.0"
 8096  10370   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8097  10371   
rust-version = "1.86.0"
 8098  10372   
readme = "README.md"
 8099  10373   
[package.metadata.smithy]
 8100  10374   
codegen-version = "ci"
 8101  10375   
[package.metadata.docs.rs]
 8102  10376   
all-features = true
 8103  10377   
targets = ["x86_64-unknown-linux-gnu"]
 8104  10378   
[dependencies.aws-credential-types]
 8105  10379   
path = "../aws-credential-types"
 8106  10380   
version = "1.2.4"
 8107  10381   
 8108  10382   
[dependencies.aws-runtime]
 8109  10383   
path = "../aws-runtime"
 8110  10384   
version = "1.5.9"
 8111  10385   
 8112  10386   
[dependencies.aws-smithy-async]
 8113  10387   
path = "../aws-smithy-async"
 8114  10388   
version = "1.2.5"
 8115  10389   
 8116  10390   
[dependencies.aws-smithy-http]
 8117  10391   
path = "../aws-smithy-http"
 8118         -
version = "0.62.2"
       10392  +
version = "0.62.3"
 8119  10393   
 8120  10394   
[dependencies.aws-smithy-json]
 8121  10395   
path = "../aws-smithy-json"
 8122  10396   
version = "0.61.4"
 8123  10397   
 8124  10398   
[dependencies.aws-smithy-runtime]
 8125  10399   
path = "../aws-smithy-runtime"
 8126  10400   
features = ["client"]
 8127  10401   
version = "1.8.5"
 8128  10402   
 8129  10403   
[dependencies.aws-smithy-runtime-api]
 8130  10404   
path = "../aws-smithy-runtime-api"
 8131  10405   
features = ["client", "http-02x"]
 8132  10406   
version = "1.8.5"
 8133  10407   
 8134  10408   
[dependencies.aws-smithy-types]
 8135  10409   
path = "../aws-smithy-types"
 8136  10410   
version = "1.3.2"
 8137  10411   
 8138  10412   
[dependencies.aws-types]
 8139  10413   
path = "../aws-types"
 8140  10414   
version = "1.3.8"
 8141  10415   
 8142  10416   
[dependencies.bytes]
 8143  10417   
version = "1.4.0"
 8144  10418   
 8145  10419   
[dependencies.fastrand]
 8146  10420   
version = "2.0.0"
 8147  10421   
 8148  10422   
[dependencies.http]
 8149  10423   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8150  10424   
index 5b35037..9fb220a 100644
 8151         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       10425  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8152  10426   
@@ -1,71 +1,71 @@
 8153  10427   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8154  10428   
[package]
 8155  10429   
name = "aws-sdk-transcribestreaming"
 8156  10430   
version = "0.0.0-local"
 8157  10431   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8158  10432   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 8159  10433   
edition = "2021"
 8160  10434   
license = "Apache-2.0"
 8161  10435   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8162  10436   
rust-version = "1.86.0"
 8163  10437   
readme = "README.md"
 8164  10438   
[package.metadata.smithy]
 8165  10439   
codegen-version = "ci"
 8166  10440   
[package.metadata.docs.rs]
 8167  10441   
all-features = true
 8168  10442   
targets = ["x86_64-unknown-linux-gnu"]
 8169  10443   
[dependencies.aws-credential-types]
 8170  10444   
path = "../aws-credential-types"
 8171  10445   
version = "1.2.4"
 8172  10446   
 8173  10447   
[dependencies.aws-runtime]
 8174  10448   
path = "../aws-runtime"
 8175  10449   
features = ["event-stream"]
 8176  10450   
version = "1.5.9"
 8177  10451   
 8178  10452   
[dependencies.aws-sigv4]
 8179  10453   
path = "../aws-sigv4"
 8180         -
version = "1.3.3"
       10454  +
version = "1.3.4"
 8181  10455   
 8182  10456   
[dependencies.aws-smithy-async]
 8183  10457   
path = "../aws-smithy-async"
 8184  10458   
version = "1.2.5"
 8185  10459   
 8186  10460   
[dependencies.aws-smithy-eventstream]
 8187  10461   
path = "../aws-smithy-eventstream"
 8188  10462   
version = "0.60.10"
 8189  10463   
 8190  10464   
[dependencies.aws-smithy-http]
 8191  10465   
path = "../aws-smithy-http"
 8192  10466   
features = ["event-stream"]
 8193         -
version = "0.62.2"
       10467  +
version = "0.62.3"
 8194  10468   
 8195  10469   
[dependencies.aws-smithy-json]
 8196  10470   
path = "../aws-smithy-json"
 8197  10471   
version = "0.61.4"
 8198  10472   
 8199  10473   
[dependencies.aws-smithy-runtime]
 8200  10474   
path = "../aws-smithy-runtime"
 8201  10475   
features = ["client"]
 8202  10476   
version = "1.8.5"
 8203  10477