AWS SDK

AWS SDK

rev. 3964b40d6806bc3f52bd311e2c791030c3325f2c (ignoring whitespace)

Files changed:

tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-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 +8163,10436 @@
    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..30b4743 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   
@@ -478,436 +478,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 5561   7514   
        sensitive,
 5562   7515   
    });
 5563   7516   
}
 5564   7517   
 5565   7518   
// add signature to authorization header
 5566   7519   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 5567   7520   
fn build_authorization_header(
 5568   7521   
    access_key: &str,
 5569   7522   
    creq: &CanonicalRequest<'_>,
 5570   7523   
    sts: StringToSign<'_>,
 5571   7524   
    signature: &str,
 5572   7525   
    signature_version: SignatureVersion,
 5573   7526   
) -> String {
 5574   7527   
    let scope = match signature_version {
 5575   7528   
        SignatureVersion::V4 => sts.scope.to_string(),
 5576   7529   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 5577   7530   
    };
 5578   7531   
    format!(
 5579   7532   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 5580   7533   
        sts.algorithm,
 5581   7534   
        access_key,
 5582   7535   
        scope,
 5583   7536   
        creq.values.signed_headers().as_str(),
 5584   7537   
        signature
 5585   7538   
    )
 5586   7539   
}
 5587   7540   
#[cfg(test)]
 5588   7541   
mod tests {
 5589   7542   
    use crate::date_time::test_parsers::parse_date_time;
 5590   7543   
    use crate::http_request::sign::{add_header, SignableRequest};
        7544  +
    use crate::http_request::test::SigningSuiteTest;
 5591   7545   
    use crate::http_request::{
 5592         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        7546  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 5593   7547   
        SigningSettings,
 5594   7548   
    };
 5595   7549   
    use crate::sign::v4;
 5596   7550   
    use aws_credential_types::Credentials;
 5597   7551   
    use http0::{HeaderValue, Request};
 5598   7552   
    use pretty_assertions::assert_eq;
 5599   7553   
    use proptest::proptest;
 5600   7554   
    use std::borrow::Cow;
 5601   7555   
    use std::iter;
 5602         -
    use std::time::Duration;
 5603   7556   
 5604   7557   
    macro_rules! assert_req_eq {
 5605   7558   
        (http: $expected:expr, $actual:expr) => {
 5606   7559   
            let mut expected = ($expected).map(|_b|"body");
 5607   7560   
            let mut actual = ($actual).map(|_b|"body");
 5608   7561   
            make_headers_comparable(&mut expected);
 5609   7562   
            make_headers_comparable(&mut actual);
 5610   7563   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 5611   7564   
        };
 5612   7565   
        ($expected:tt, $actual:tt) => {
 5613   7566   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 5614   7567   
        };
 5615   7568   
    }
 5616   7569   
 5617   7570   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 5618   7571   
        for (_name, value) in request.headers_mut() {
 5619   7572   
            value.set_sensitive(false);
 5620   7573   
        }
 5621   7574   
    }
 5622   7575   
 5623         -
    #[test]
 5624         -
    fn test_sign_vanilla_with_headers() {
 5625         -
        let settings = SigningSettings::default();
 5626         -
        let identity = &Credentials::for_tests().into();
 5627         -
        let params = v4::SigningParams {
 5628         -
            identity,
 5629         -
            region: "us-east-1",
 5630         -
            name: "service",
 5631         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5632         -
            settings,
 5633         -
        }
 5634         -
        .into();
 5635         -
 5636         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5637         -
        let signable = SignableRequest::from(&original);
 5638         -
        let out = sign(signable, &params).unwrap();
 5639         -
        assert_eq!(
 5640         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 5641         -
            out.signature
 5642         -
        );
 5643         -
 5644         -
        let mut signed = original.as_http_request();
 5645         -
        out.output.apply_to_request_http0x(&mut signed);
 5646         -
 5647         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 5648         -
        assert_req_eq!(expected, signed);
 5649         -
    }
 5650         -
        7576  +
    // Sigv4A suite tests
 5651   7577   
    #[cfg(feature = "sigv4a")]
 5652         -
    mod sigv4a_tests {
 5653         -
        use super::*;
 5654         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5655         -
        use crate::http_request::{sign, test, SigningParams};
 5656         -
        use crate::sign::v4a;
 5657         -
        use p256::ecdsa::signature::{Signature, Verifier};
 5658         -
        use p256::ecdsa::{DerSignature, SigningKey};
 5659         -
        use pretty_assertions::assert_eq;
 5660         -
 5661         -
        fn new_v4a_signing_params_from_context(
 5662         -
            test_context: &'_ test::v4a::TestContext,
 5663         -
            signature_location: SignatureLocation,
 5664         -
        ) -> SigningParams<'_> {
 5665         -
            let mut params = v4a::SigningParams::from(test_context);
 5666         -
            params.settings.signature_location = signature_location;
 5667         -
 5668         -
            params.into()
 5669         -
        }
 5670         -
 5671         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 5672         -
            let tc = test::v4a::test_context(test_name);
 5673         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 5674         -
 5675         -
            let req = test::v4a::test_request(test_name);
 5676         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 5677         -
            let signable_req = SignableRequest::from(&req);
 5678         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
 5679         -
 5680         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
        7578  +
    mod v4a_suite {
        7579  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 5681   7580   
 5682         -
            let expected_string_to_sign =
 5683         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 5684         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 5685         -
            let actual_string_to_sign = StringToSign::new_v4a(
 5686         -
                *params.time(),
 5687         -
                params.region_set().unwrap(),
 5688         -
                params.name(),
 5689         -
                hashed_creq,
 5690         -
            )
 5691         -
            .to_string();
 5692         -
 5693         -
            assert_eq!(
 5694         -
                expected_string_to_sign, actual_string_to_sign,
 5695         -
                "'string to sign' didn't match"
 5696         -
            );
 5697         -
 5698         -
            let out = sign(signable_req, &params).unwrap();
 5699         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 5700         -
            out.output
 5701         -
                .apply_to_request_http0x(&mut req.as_http_request());
 5702         -
 5703         -
            let creds = params.credentials().unwrap();
 5704         -
            let signing_key =
 5705         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 5706         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 5707         -
            let sig = sig
 5708         -
                .try_into()
 5709         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 5710         -
 5711         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 5712         -
            let peer_public_key = signing_key.verifying_key();
 5713         -
            let sts = actual_string_to_sign.as_bytes();
 5714         -
            peer_public_key.verify(sts, &sig).unwrap();
        7581  +
        #[test]
        7582  +
        fn test_get_header_key_duplicate() {
        7583  +
            run_test_suite_v4a("get-header-key-duplicate")
 5715   7584   
        }
 5716   7585   
 5717   7586   
        #[test]
 5718         -
        fn test_get_header_key_duplicate() {
 5719         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        7587  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7588  +
        fn test_get_header_value_multiline() {
        7589  +
            run_test_suite_v4a("get-header-value-multiline")
 5720   7590   
        }
 5721   7591   
 5722   7592   
        #[test]
 5723   7593   
        fn test_get_header_value_order() {
 5724         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        7594  +
            run_test_suite_v4a("get-header-value-order")
 5725   7595   
        }
 5726   7596   
 5727   7597   
        #[test]
 5728   7598   
        fn test_get_header_value_trim() {
 5729         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        7599  +
            run_test_suite_v4a("get-header-value-trim");
 5730   7600   
        }
 5731   7601   
 5732   7602   
        #[test]
 5733   7603   
        fn test_get_relative_normalized() {
 5734         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        7604  +
            run_test_suite_v4a("get-relative-normalized");
 5735   7605   
        }
 5736   7606   
 5737   7607   
        #[test]
 5738   7608   
        fn test_get_relative_relative_normalized() {
 5739         -
            run_v4a_test_suite(
 5740         -
                "get-relative-relative-normalized",
 5741         -
                SignatureLocation::Headers,
 5742         -
            );
        7609  +
            run_test_suite_v4a("get-relative-relative-normalized");
 5743   7610   
        }
 5744   7611   
 5745   7612   
        #[test]
 5746   7613   
        fn test_get_relative_relative_unnormalized() {
 5747         -
            run_v4a_test_suite(
 5748         -
                "get-relative-relative-unnormalized",
 5749         -
                SignatureLocation::Headers,
 5750         -
            );
        7614  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 5751   7615   
        }
 5752   7616   
 5753   7617   
        #[test]
 5754   7618   
        fn test_get_relative_unnormalized() {
 5755         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        7619  +
            run_test_suite_v4a("get-relative-unnormalized");
 5756   7620   
        }
 5757   7621   
 5758   7622   
        #[test]
 5759   7623   
        fn test_get_slash_dot_slash_normalized() {
 5760         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        7624  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 5761   7625   
        }
 5762   7626   
 5763   7627   
        #[test]
 5764   7628   
        fn test_get_slash_dot_slash_unnormalized() {
 5765         -
            run_v4a_test_suite(
 5766         -
                "get-slash-dot-slash-unnormalized",
 5767         -
                SignatureLocation::Headers,
 5768         -
            );
        7629  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 5769   7630   
        }
 5770   7631   
 5771   7632   
        #[test]
 5772   7633   
        fn test_get_slash_normalized() {
 5773         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        7634  +
            run_test_suite_v4a("get-slash-normalized");
 5774   7635   
        }
 5775   7636   
 5776   7637   
        #[test]
 5777   7638   
        fn test_get_slash_pointless_dot_normalized() {
 5778         -
            run_v4a_test_suite(
 5779         -
                "get-slash-pointless-dot-normalized",
 5780         -
                SignatureLocation::Headers,
 5781         -
            );
        7639  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 5782   7640   
        }
 5783   7641   
 5784   7642   
        #[test]
 5785   7643   
        fn test_get_slash_pointless_dot_unnormalized() {
 5786         -
            run_v4a_test_suite(
 5787         -
                "get-slash-pointless-dot-unnormalized",
 5788         -
                SignatureLocation::Headers,
 5789         -
            );
        7644  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 5790   7645   
        }
 5791   7646   
 5792   7647   
        #[test]
 5793   7648   
        fn test_get_slash_unnormalized() {
 5794         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        7649  +
            run_test_suite_v4a("get-slash-unnormalized");
 5795   7650   
        }
 5796   7651   
 5797   7652   
        #[test]
 5798   7653   
        fn test_get_slashes_normalized() {
 5799         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        7654  +
            run_test_suite_v4a("get-slashes-normalized");
 5800   7655   
        }
 5801   7656   
 5802   7657   
        #[test]
 5803   7658   
        fn test_get_slashes_unnormalized() {
 5804         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        7659  +
            run_test_suite_v4a("get-slashes-unnormalized");
        7660  +
        }
        7661  +
        7662  +
        #[test]
        7663  +
        #[ignore = "relies on single encode of path segments"]
        7664  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7665  +
        // skipped until we add control over double_uri_encode in context.json
        7666  +
        fn test_get_space_normalized() {
        7667  +
            run_test_suite_v4a("get-space-normalized");
        7668  +
        }
        7669  +
        7670  +
        #[test]
        7671  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7672  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7673  +
        fn test_get_space_unnormalized() {
        7674  +
            run_test_suite_v4a("get-space-unnormalized");
 5805   7675   
        }
 5806   7676   
 5807   7677   
        #[test]
 5808   7678   
        fn test_get_unreserved() {
 5809         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        7679  +
            run_test_suite_v4a("get-unreserved");
        7680  +
        }
        7681  +
        7682  +
        #[test]
        7683  +
        #[ignore = "httparse fails on invalid uri character"]
        7684  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7685  +
        fn test_get_utf8() {
        7686  +
            run_test_suite_v4a("get-utf8");
 5810   7687   
        }
 5811   7688   
 5812   7689   
        #[test]
 5813   7690   
        fn test_get_vanilla() {
 5814         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        7691  +
            run_test_suite_v4a("get-vanilla");
 5815   7692   
        }
 5816   7693   
 5817   7694   
        #[test]
 5818   7695   
        fn test_get_vanilla_empty_query_key() {
 5819         -
            run_v4a_test_suite(
 5820         -
                "get-vanilla-empty-query-key",
 5821         -
                SignatureLocation::QueryParams,
 5822         -
            );
        7696  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 5823   7697   
        }
 5824   7698   
 5825   7699   
        #[test]
 5826   7700   
        fn test_get_vanilla_query() {
 5827         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        7701  +
            run_test_suite_v4a("get-vanilla-query");
        7702  +
        }
        7703  +
        7704  +
        #[test]
        7705  +
        fn test_get_vanilla_query_order_encoded() {
        7706  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 5828   7707   
        }
 5829   7708   
 5830   7709   
        #[test]
 5831   7710   
        fn test_get_vanilla_query_order_key_case() {
 5832         -
            run_v4a_test_suite(
 5833         -
                "get-vanilla-query-order-key-case",
 5834         -
                SignatureLocation::QueryParams,
 5835         -
            );
        7711  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 5836   7712   
        }
 5837   7713   
 5838   7714   
        #[test]
 5839   7715   
        fn test_get_vanilla_query_unreserved() {
 5840         -
            run_v4a_test_suite(
 5841         -
                "get-vanilla-query-unreserved",
 5842         -
                SignatureLocation::QueryParams,
 5843         -
            );
        7716  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        7717  +
        }
        7718  +
        7719  +
        #[test]
        7720  +
        #[ignore = "httparse fails on invalid uri character"]
        7721  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7722  +
        fn test_get_vanilla_utf8_query() {
        7723  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 5844   7724   
        }
 5845   7725   
 5846   7726   
        #[test]
 5847   7727   
        fn test_get_vanilla_with_session_token() {
 5848         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        7728  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 5849   7729   
        }
 5850   7730   
 5851   7731   
        #[test]
 5852   7732   
        fn test_post_header_key_case() {
 5853         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        7733  +
            run_test_suite_v4a("post-header-key-case");
 5854   7734   
        }
 5855   7735   
 5856   7736   
        #[test]
 5857   7737   
        fn test_post_header_key_sort() {
 5858         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        7738  +
            run_test_suite_v4a("post-header-key-sort");
 5859   7739   
        }
 5860   7740   
 5861   7741   
        #[test]
 5862   7742   
        fn test_post_header_value_case() {
 5863         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        7743  +
            run_test_suite_v4a("post-header-value-case");
 5864   7744   
        }
 5865   7745   
 5866   7746   
        #[test]
 5867   7747   
        fn test_post_sts_header_after() {
 5868         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        7748  +
            run_test_suite_v4a("post-sts-header-after");
 5869   7749   
        }
 5870   7750   
 5871   7751   
        #[test]
 5872   7752   
        fn test_post_sts_header_before() {
 5873         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        7753  +
            run_test_suite_v4a("post-sts-header-before");
 5874   7754   
        }
 5875   7755   
 5876   7756   
        #[test]
 5877   7757   
        fn test_post_vanilla() {
 5878         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        7758  +
            run_test_suite_v4a("post-vanilla");
 5879   7759   
        }
 5880   7760   
 5881   7761   
        #[test]
 5882   7762   
        fn test_post_vanilla_empty_query_value() {
 5883         -
            run_v4a_test_suite(
 5884         -
                "post-vanilla-empty-query-value",
 5885         -
                SignatureLocation::QueryParams,
 5886         -
            );
        7763  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 5887   7764   
        }
 5888   7765   
 5889   7766   
        #[test]
 5890   7767   
        fn test_post_vanilla_query() {
 5891         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        7768  +
            run_test_suite_v4a("post-vanilla-query");
 5892   7769   
        }
 5893   7770   
 5894   7771   
        #[test]
 5895   7772   
        fn test_post_x_www_form_urlencoded() {
 5896         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        7773  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 5897   7774   
        }
 5898   7775   
 5899   7776   
        #[test]
 5900   7777   
        fn test_post_x_www_form_urlencoded_parameters() {
 5901         -
            run_v4a_test_suite(
 5902         -
                "post-x-www-form-urlencoded-parameters",
 5903         -
                SignatureLocation::QueryParams,
 5904         -
            );
        7778  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 5905   7779   
        }
 5906   7780   
    }
 5907   7781   
 5908   7782   
    #[test]
 5909   7783   
    fn test_sign_url_escape() {
 5910         -
        let test = "double-encode-path";
        7784  +
        let test = SigningSuiteTest::v4("double-encode-path");
 5911   7785   
        let settings = SigningSettings::default();
 5912   7786   
        let identity = &Credentials::for_tests().into();
 5913   7787   
        let params = v4::SigningParams {
 5914   7788   
            identity,
 5915   7789   
            region: "us-east-1",
 5916   7790   
            name: "service",
 5917   7791   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5918   7792   
            settings,
 5919   7793   
        }
 5920   7794   
        .into();
 5921   7795   
 5922         -
        let original = test::v4::test_request(test);
        7796  +
        let original = test.request();
 5923   7797   
        let signable = SignableRequest::from(&original);
 5924   7798   
        let out = sign(signable, &params).unwrap();
 5925   7799   
        assert_eq!(
 5926   7800   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 5927   7801   
            out.signature
 5928   7802   
        );
 5929   7803   
 5930   7804   
        let mut signed = original.as_http_request();
 5931   7805   
        out.output.apply_to_request_http0x(&mut signed);
 5932   7806   
 5933         -
        let expected = test::v4::test_signed_request(test);
 5934         -
        assert_req_eq!(expected, signed);
 5935         -
    }
 5936         -
 5937         -
    #[test]
 5938         -
    fn test_sign_vanilla_with_query_params() {
 5939         -
        let settings = SigningSettings {
 5940         -
            signature_location: SignatureLocation::QueryParams,
 5941         -
            expires_in: Some(Duration::from_secs(35)),
 5942         -
            ..Default::default()
 5943         -
        };
 5944         -
        let identity = &Credentials::for_tests().into();
 5945         -
        let params = v4::SigningParams {
 5946         -
            identity,
 5947         -
            region: "us-east-1",
 5948         -
            name: "service",
 5949         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5950         -
            settings,
 5951         -
        }
 5952         -
        .into();
 5953         -
 5954         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5955         -
        let signable = SignableRequest::from(&original);
 5956         -
        let out = sign(signable, &params).unwrap();
 5957         -
        assert_eq!(
 5958         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 5959         -
            out.signature
 5960         -
        );
 5961         -
 5962         -
        let mut signed = original.as_http_request();
 5963         -
        out.output.apply_to_request_http0x(&mut signed);
 5964         -
 5965         -
        let expected =
 5966         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        7807  +
        let expected = test.signed_request(SignatureLocation::Headers);
 5967   7808   
        assert_req_eq!(expected, signed);
 5968   7809   
    }
 5969   7810   
 5970   7811   
    #[test]
 5971   7812   
    fn test_sign_headers_utf8() {
 5972   7813   
        let settings = SigningSettings::default();
 5973   7814   
        let identity = &Credentials::for_tests().into();
 5974   7815   
        let params = v4::SigningParams {
 5975   7816   
            identity,
 5976   7817   
            region: "us-east-1",
 5977   7818   
            name: "service",
 5978   7819   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5979   7820   
            settings,
 5980   7821   
        }
 5981   7822   
        .into();
 5982   7823   
 5983   7824   
        let original = http0::Request::builder()
 5984   7825   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 5985   7826   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 5986   7827   
            .body("")
 5987   7828   
            .unwrap()
 5988   7829   
            .into();
 5989   7830   
        let signable = SignableRequest::from(&original);
 5990   7831   
        let out = sign(signable, &params).unwrap();
 5991   7832   
        assert_eq!(
 5992   7833   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 5993   7834   
            out.signature
 5994   7835   
        );
 5995   7836   
 5996   7837   
        let mut signed = original.as_http_request();
 5997   7838   
@@ -1138,31 +1026,236 @@ mod tests {
 5998   7839   
        let mut request = http::Request::builder()
 5999   7840   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 6000   7841   
            .body("")
 6001   7842   
            .unwrap();
 6002   7843   
 6003   7844   
        instructions.apply_to_request_http1x(&mut request);
 6004   7845   
 6005   7846   
        assert_eq!(
 6006   7847   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 6007   7848   
            request.uri().path_and_query().unwrap().to_string()
 6008   7849   
        );
 6009   7850   
    }
 6010   7851   
 6011   7852   
    #[test]
 6012   7853   
    fn test_debug_signable_body() {
 6013   7854   
        let sut = SignableBody::Bytes(b"hello signable body");
 6014   7855   
        assert_eq!(
 6015   7856   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 6016   7857   
            format!("{sut:?}")
 6017   7858   
        );
 6018   7859   
 6019   7860   
        let sut = SignableBody::UnsignedPayload;
 6020   7861   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 6021   7862   
 6022   7863   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 6023   7864   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 6024   7865   
 6025   7866   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 6026   7867   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 6027   7868   
    }
        7869  +
        7870  +
    // v4 test suite
        7871  +
    mod v4_suite {
        7872  +
        use crate::http_request::test::run_test_suite_v4;
        7873  +
        7874  +
        #[test]
        7875  +
        fn test_get_header_key_duplicate() {
        7876  +
            run_test_suite_v4("get-header-key-duplicate");
        7877  +
        }
        7878  +
        7879  +
        #[test]
        7880  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7881  +
        fn test_get_header_value_multiline() {
        7882  +
            run_test_suite_v4("get-header-value-multiline");
        7883  +
        }
        7884  +
        7885  +
        #[test]
        7886  +
        fn test_get_header_value_order() {
        7887  +
            run_test_suite_v4("get-header-value-order");
        7888  +
        }
        7889  +
        7890  +
        #[test]
        7891  +
        fn test_get_header_value_trim() {
        7892  +
            run_test_suite_v4("get-header-value-trim");
        7893  +
        }
        7894  +
        7895  +
        #[test]
        7896  +
        fn test_get_relative_normalized() {
        7897  +
            run_test_suite_v4("get-relative-normalized");
        7898  +
        }
        7899  +
        7900  +
        #[test]
        7901  +
        fn test_get_relative_relative_normalized() {
        7902  +
            run_test_suite_v4("get-relative-relative-normalized");
        7903  +
        }
        7904  +
        7905  +
        #[test]
        7906  +
        fn test_get_relative_relative_unnormalized() {
        7907  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        7908  +
        }
        7909  +
        7910  +
        #[test]
        7911  +
        fn test_get_relative_unnormalized() {
        7912  +
            run_test_suite_v4("get-relative-unnormalized");
        7913  +
        }
        7914  +
        7915  +
        #[test]
        7916  +
        fn test_get_slash_dot_slash_normalized() {
        7917  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        7918  +
        }
        7919  +
        7920  +
        #[test]
        7921  +
        fn test_get_slash_dot_slash_unnormalized() {
        7922  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        7923  +
        }
        7924  +
        7925  +
        #[test]
        7926  +
        fn test_get_slash_normalized() {
        7927  +
            run_test_suite_v4("get-slash-normalized");
        7928  +
        }
        7929  +
        7930  +
        #[test]
        7931  +
        fn test_get_slash_pointless_dot_normalized() {
        7932  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        7933  +
        }
        7934  +
        7935  +
        #[test]
        7936  +
        fn test_get_slash_pointless_dot_unnormalized() {
        7937  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        7938  +
        }
        7939  +
        7940  +
        #[test]
        7941  +
        fn test_get_slash_unnormalized() {
        7942  +
            run_test_suite_v4("get-slash-unnormalized");
        7943  +
        }
        7944  +
        7945  +
        #[test]
        7946  +
        fn test_get_slashes_normalized() {
        7947  +
            run_test_suite_v4("get-slashes-normalized");
        7948  +
        }
        7949  +
        7950  +
        #[test]
        7951  +
        fn test_get_slashes_unnormalized() {
        7952  +
            run_test_suite_v4("get-slashes-unnormalized");
        7953  +
        }
        7954  +
        7955  +
        #[test]
        7956  +
        #[ignore = "relies on single encode of path segments"]
        7957  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7958  +
        // skipped until we add control over double_uri_encode in context.json
        7959  +
        fn test_get_space_normalized() {
        7960  +
            run_test_suite_v4("get-space-normalized");
        7961  +
        }
        7962  +
        7963  +
        #[test]
        7964  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7965  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7966  +
        fn test_get_space_unnormalized() {
        7967  +
            run_test_suite_v4("get-space-unnormalized");
        7968  +
        }
        7969  +
        7970  +
        #[test]
        7971  +
        fn test_get_unreserved() {
        7972  +
            run_test_suite_v4("get-unreserved");
        7973  +
        }
        7974  +
        7975  +
        #[test]
        7976  +
        #[ignore = "httparse fails on invalid uri character"]
        7977  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7978  +
        fn test_get_utf8() {
        7979  +
            run_test_suite_v4("get-utf8");
        7980  +
        }
        7981  +
        7982  +
        #[test]
        7983  +
        fn test_get_vanilla() {
        7984  +
            run_test_suite_v4("get-vanilla");
        7985  +
        }
        7986  +
        7987  +
        #[test]
        7988  +
        fn test_get_vanilla_empty_query_key() {
        7989  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        7990  +
        }
        7991  +
        7992  +
        #[test]
        7993  +
        fn test_get_vanilla_query() {
        7994  +
            run_test_suite_v4("get-vanilla-query");
        7995  +
        }
        7996  +
        7997  +
        #[test]
        7998  +
        fn test_get_vanilla_query_order_encoded() {
        7999  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        8000  +
        }
        8001  +
        8002  +
        #[test]
        8003  +
        fn test_get_vanilla_query_order_key_case() {
        8004  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        8005  +
        }
        8006  +
        8007  +
        #[test]
        8008  +
        fn test_get_vanilla_query_unreserved() {
        8009  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        8010  +
        }
        8011  +
        8012  +
        #[test]
        8013  +
        #[ignore = "httparse fails on invalid uri character"]
        8014  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8015  +
        fn test_get_vanilla_utf8_query() {
        8016  +
            run_test_suite_v4("get-vanilla-utf8-query");
        8017  +
        }
        8018  +
        8019  +
        #[test]
        8020  +
        fn test_get_vanilla_with_session_token() {
        8021  +
            run_test_suite_v4("get-vanilla-with-session-token");
        8022  +
        }
        8023  +
        8024  +
        #[test]
        8025  +
        fn test_post_header_key_case() {
        8026  +
            run_test_suite_v4("post-header-key-case");
        8027  +
        }
        8028  +
        8029  +
        #[test]
        8030  +
        fn test_post_header_key_sort() {
        8031  +
            run_test_suite_v4("post-header-key-sort");
        8032  +
        }
        8033  +
        8034  +
        #[test]
        8035  +
        fn test_post_header_value_case() {
        8036  +
            run_test_suite_v4("post-header-value-case");
        8037  +
        }
        8038  +
        8039  +
        #[test]
        8040  +
        fn test_post_sts_header_after() {
        8041  +
            run_test_suite_v4("post-sts-header-after");
        8042  +
        }
        8043  +
        8044  +
        #[test]
        8045  +
        fn test_post_sts_header_before() {
        8046  +
            run_test_suite_v4("post-sts-header-before");
        8047  +
        }
        8048  +
        8049  +
        #[test]
        8050  +
        fn test_post_vanilla() {
        8051  +
            run_test_suite_v4("post-vanilla");
        8052  +
        }
        8053  +
        8054  +
        #[test]
        8055  +
        fn test_post_vanilla_empty_query_value() {
        8056  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        8057  +
        }
        8058  +
        8059  +
        #[test]
        8060  +
        fn test_post_vanilla_query() {
        8061  +
            run_test_suite_v4("post-vanilla-query");
        8062  +
        }
        8063  +
        8064  +
        #[test]
        8065  +
        fn test_post_x_www_form_urlencoded() {
        8066  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        8067  +
        }
        8068  +
        8069  +
        #[test]
        8070  +
        fn test_post_x_www_form_urlencoded_parameters() {
        8071  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        8072  +
        }
        8073  +
    }
 6028   8074   
}
 6029   8075   
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
 6030   8076   
index be6c496..86eec20 100644
 6031         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        8077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 6032   8078   
@@ -1,242 +1,453 @@
 6033   8079   
/*
 6034   8080   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 6035   8081   
 * SPDX-License-Identifier: Apache-2.0
 6036   8082   
 */
 6037   8083   
 6038   8084   
//! Functions shared between the tests of several modules.
 6039   8085   
 6040         -
use crate::http_request::{SignableBody, SignableRequest};
        8086  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        8087  +
use crate::http_request::{
        8088  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        8089  +
    SigningSettings,
        8090  +
};
        8091  +
use aws_credential_types::Credentials;
        8092  +
use aws_smithy_runtime_api::client::identity::Identity;
 6041   8093   
use http0::{Method, Uri};
        8094  +
use std::borrow::Cow;
 6042   8095   
use std::error::Error as StdError;
        8096  +
use std::time::{Duration, SystemTime};
        8097  +
use time::format_description::well_known::Rfc3339;
        8098  +
use time::OffsetDateTime;
        8099  +
        8100  +
/// Common test suite collection
        8101  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        8102  +
enum Collection {
        8103  +
    V4,
        8104  +
    V4A,
        8105  +
}
 6043   8106   
 6044         -
pub(crate) mod v4 {
 6045         -
    use super::*;
        8107  +
/// A test from the common CRT test suite
        8108  +
#[derive(Debug, Clone)]
        8109  +
pub(crate) struct SigningSuiteTest {
        8110  +
    test_name: &'static str,
        8111  +
    collection: Collection,
        8112  +
}
 6046   8113   
 6047         -
    fn path(name: &str, ext: &str) -> String {
 6048         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        8114  +
impl SigningSuiteTest {
        8115  +
    /// Create a new test from the V4 test suite
        8116  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        8117  +
        Self {
        8118  +
            test_name,
        8119  +
            collection: Collection::V4,
 6049   8120   
        }
 6050         -
 6051         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 6052         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 6053         -
        read(&path(name, "creq")).trim().to_string()
 6054   8121   
    }
 6055   8122   
 6056         -
    pub(crate) fn test_sts(name: &str) -> String {
 6057         -
        read(&path(name, "sts"))
        8123  +
    /// Create a new test from the V4a test suite
        8124  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        8125  +
        Self {
        8126  +
            test_name,
        8127  +
            collection: Collection::V4A,
 6058   8128   
        }
 6059         -
 6060         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6061         -
        test_parsed_request(name, "req")
 6062   8129   
    }
 6063   8130   
 6064         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 6065         -
        test_parsed_request(name, "sreq")
        8131  +
    /// Get the path to a file in this test suite directory
        8132  +
    fn path(&self, filename: &str) -> String {
        8133  +
        let dir = match self.collection {
        8134  +
            Collection::V4 => "v4",
        8135  +
            Collection::V4A => "v4a",
        8136  +
        };
        8137  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 6066   8138   
    }
 6067   8139   
 6068         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 6069         -
        test_parsed_request(name, "qpsreq")
        8140  +
    /// Get the HTTP request for the test
        8141  +
    pub(crate) fn request(&self) -> TestRequest {
        8142  +
        test_parsed_request(&self.path("request.txt"))
 6070   8143   
    }
 6071   8144   
 6072         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 6073         -
        let path = path(name, ext);
 6074         -
        match parse_request(read(&path).as_bytes()) {
 6075         -
            Ok(parsed) => parsed,
 6076         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        8145  +
    /// Get the signed HTTP request for the test
        8146  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        8147  +
        match signature_location {
        8148  +
            SignatureLocation::QueryParams => {
        8149  +
                test_parsed_request(&self.path("query-signed-request.txt"))
 6077   8150   
            }
        8151  +
            SignatureLocation::Headers => {
        8152  +
                test_parsed_request(&self.path("header-signed-request.txt"))
 6078   8153   
            }
 6079         -
 6080         -
    #[test]
 6081         -
    fn test_parse() {
 6082         -
        test_request("post-header-key-case");
 6083   8154   
        }
 6084         -
 6085         -
    #[test]
 6086         -
    fn test_read_query_params() {
 6087         -
        test_request("get-vanilla-query-order-key-case");
 6088   8155   
    }
 6089         -
}
 6090         -
 6091         -
#[cfg(feature = "sigv4a")]
 6092         -
pub(crate) mod v4a {
 6093         -
    use super::*;
 6094         -
    use crate::http_request::{
 6095         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 6096         -
    };
 6097         -
    use aws_credential_types::Credentials;
 6098         -
    use aws_smithy_runtime_api::client::identity::Identity;
 6099         -
    use serde_derive::Deserialize;
 6100         -
    use std::time::{Duration, SystemTime};
 6101         -
    use time::format_description::well_known::Rfc3339;
 6102         -
    use time::OffsetDateTime;
 6103   8156   
 6104         -
    fn path(test_name: &str, definition_name: &str) -> String {
 6105         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        8157  +
    /// Get the canonical request for the test
        8158  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        8159  +
        match signature_location {
        8160  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        8161  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
 6106   8162   
        }
 6107         -
 6108         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6109         -
        test_parsed_request(&path(name, "request"))
 6110   8163   
    }
 6111   8164   
 6112         -
    pub(crate) fn test_canonical_request(
 6113         -
        name: &str,
 6114         -
        signature_location: SignatureLocation,
 6115         -
    ) -> String {
        8165  +
    /// Get the string to sign for the test
        8166  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
 6116   8167   
        match signature_location {
 6117         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 6118         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        8168  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        8169  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 6119   8170   
        }
 6120   8171   
    }
 6121   8172   
 6122         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
        8173  +
    /// Get the signature for the test
        8174  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
 6123   8175   
        match signature_location {
 6124         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 6125         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        8176  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        8177  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        8178  +
        }
 6126   8179   
    }
        8180  +
        8181  +
    /// Get the test context for the test
        8182  +
    pub(crate) fn context(&self) -> TestContext {
        8183  +
        let context = read(&self.path("context.json"));
        8184  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        8185  +
        tc_builder.build()
 6127   8186   
    }
        8187  +
}
 6128   8188   
 6129         -
    fn test_parsed_request(path: &str) -> TestRequest {
        8189  +
fn test_parsed_request(path: &str) -> TestRequest {
 6130   8190   
    match parse_request(read(path).as_bytes()) {
 6131   8191   
        Ok(parsed) => parsed,
 6132   8192   
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 6133   8193   
    }
 6134         -
    }
        8194  +
}
 6135   8195   
 6136         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 6137         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 6138         -
        let context = read(&path);
 6139         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 6140         -
        tc_builder.build()
 6141         -
    }
        8196  +
fn new_v4_signing_params_from_context(
        8197  +
    test_context: &'_ TestContext,
        8198  +
    signature_location: SignatureLocation,
        8199  +
) -> crate::http_request::SigningParams<'_> {
        8200  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        8201  +
    params.settings.signature_location = signature_location;
        8202  +
    params.into()
        8203  +
}
        8204  +
        8205  +
/// Run the given test from the v4 suite for both header and query
        8206  +
/// signature locations
        8207  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        8208  +
    run_v4_test(test_name, SignatureLocation::Headers);
        8209  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        8210  +
}
        8211  +
        8212  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        8213  +
    assert_eq!(expected.scheme(), actual.scheme());
        8214  +
    assert_eq!(expected.authority(), actual.authority());
        8215  +
    assert_eq!(expected.path(), actual.path());
        8216  +
        8217  +
    // query params may be out of order
        8218  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8219  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        8220  +
    expected_params.sort();
        8221  +
        8222  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8223  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        8224  +
    actual_params.sort();
        8225  +
        8226  +
    assert_eq!(expected_params, actual_params);
        8227  +
}
 6142   8228   
 6143         -
    pub(crate) struct TestContext {
        8229  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        8230  +
    let expected = expected.as_http_request();
        8231  +
    let actual = actual;
        8232  +
    assert_eq!(expected.method(), actual.method());
        8233  +
    assert_eq!(
        8234  +
        expected.headers().len(),
        8235  +
        actual.headers().len(),
        8236  +
        "extra or missing headers"
        8237  +
    );
        8238  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        8239  +
    assert_uri_eq(expected.uri(), actual.uri());
        8240  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        8241  +
}
        8242  +
        8243  +
/// Run the given test from the v4 suite for the given signature location
        8244  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        8245  +
    let test = SigningSuiteTest::v4(test_name);
        8246  +
    let tc = test.context();
        8247  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        8248  +
        8249  +
    let req = test.request();
        8250  +
    let expected_creq = test.canonical_request(signature_location);
        8251  +
    let signable_req = SignableRequest::from(&req);
        8252  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8253  +
        8254  +
    // check canonical request
        8255  +
    assert_eq!(
        8256  +
        expected_creq,
        8257  +
        actual_creq.to_string(),
        8258  +
        "canonical request didn't match (signature location: {signature_location:?})"
        8259  +
    );
        8260  +
        8261  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        8262  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8263  +
    let actual_string_to_sign = StringToSign::new_v4(
        8264  +
        *params.time(),
        8265  +
        params.region().unwrap(),
        8266  +
        params.name(),
        8267  +
        hashed_creq,
        8268  +
    )
        8269  +
    .to_string();
        8270  +
        8271  +
    // check string to sign
        8272  +
    assert_eq!(
        8273  +
        expected_string_to_sign, actual_string_to_sign,
        8274  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        8275  +
    );
        8276  +
        8277  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        8278  +
    let mut signed = req.as_http_request();
        8279  +
    out.output.apply_to_request_http0x(&mut signed);
        8280  +
        8281  +
    // check signature
        8282  +
    assert_eq!(
        8283  +
        test.signature(signature_location),
        8284  +
        out.signature,
        8285  +
        "signature didn't match (signature location: {signature_location:?})"
        8286  +
    );
        8287  +
        8288  +
    let expected = test.signed_request(signature_location);
        8289  +
    assert_requests_eq(expected, signed);
        8290  +
}
        8291  +
        8292  +
/// Test suite context.json
        8293  +
pub(crate) struct TestContext {
 6144   8294   
    pub(crate) identity: Identity,
 6145   8295   
    pub(crate) expiration_in_seconds: u64,
 6146   8296   
    pub(crate) normalize: bool,
 6147   8297   
    pub(crate) region: String,
 6148   8298   
    pub(crate) service: String,
 6149   8299   
    pub(crate) timestamp: String,
 6150   8300   
    pub(crate) omit_session_token: bool,
 6151   8301   
    pub(crate) sign_body: bool,
 6152         -
    }
 6153         -
 6154         -
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 6155         -
        fn from(tc: &'a TestContext) -> Self {
 6156         -
            crate::sign::v4a::SigningParams {
 6157         -
                identity: &tc.identity,
 6158         -
                region_set: &tc.region,
 6159         -
                name: &tc.service,
 6160         -
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 6161         -
                    .unwrap()
 6162         -
                    .into(),
 6163         -
                settings: SigningSettings {
 6164         -
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6165         -
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 6166         -
                    uri_path_normalization_mode: tc.normalize.into(),
 6167         -
                    session_token_mode: if tc.omit_session_token {
 6168         -
                        SessionTokenMode::Exclude
 6169         -
                    } else {
 6170         -
                        SessionTokenMode::Include
 6171         -
                    },
 6172         -
                    payload_checksum_kind: if tc.sign_body {
 6173         -
                        PayloadChecksumKind::XAmzSha256
 6174         -
                    } else {
 6175         -
                        PayloadChecksumKind::NoHeader
 6176         -
                    },
 6177         -
                    ..Default::default()
 6178         -
                },
 6179         -
            }
 6180         -
        }
 6181         -
    }
        8302  +
}
 6182   8303   
 6183         -
    // Serde has limitations requiring this odd workaround.
 6184         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 6185         -
    fn return_true() -> bool {
        8304  +
// Serde has limitations requiring this odd workaround.
        8305  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        8306  +
fn return_true() -> bool {
 6186   8307   
    true
 6187         -
    }
        8308  +
}
 6188   8309   
 6189         -
    #[derive(Deserialize)]
 6190         -
    pub(crate) struct TestContextBuilder {
        8310  +
#[derive(serde_derive::Deserialize)]
        8311  +
pub(crate) struct TestContextBuilder {
 6191   8312   
    credentials: TestContextCreds,
 6192   8313   
    expiration_in_seconds: u64,
 6193   8314   
    normalize: bool,
 6194   8315   
    region: String,
 6195   8316   
    service: String,
 6196   8317   
    timestamp: String,
 6197   8318   
    #[serde(default)]
 6198   8319   
    omit_session_token: bool,
 6199   8320   
    #[serde(default = "return_true")]
 6200   8321   
    sign_body: bool,
 6201         -
    }
        8322  +
}
 6202   8323   
 6203         -
    impl TestContextBuilder {
        8324  +
impl TestContextBuilder {
 6204   8325   
    pub(crate) fn build(self) -> TestContext {
 6205   8326   
        let identity = Identity::new(
 6206   8327   
            Credentials::from_keys(
 6207   8328   
                &self.credentials.access_key_id,
 6208   8329   
                &self.credentials.secret_access_key,
 6209   8330   
                self.credentials.token.clone(),
 6210   8331   
            ),
 6211   8332   
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 6212   8333   
        );
 6213   8334   
 6214   8335   
        TestContext {
 6215   8336   
            identity,
 6216   8337   
            expiration_in_seconds: self.expiration_in_seconds,
 6217   8338   
            normalize: self.normalize,
 6218   8339   
            region: self.region,
 6219   8340   
            service: self.service,
 6220   8341   
            timestamp: self.timestamp,
 6221   8342   
            omit_session_token: self.omit_session_token,
 6222   8343   
            sign_body: self.sign_body,
 6223   8344   
        }
 6224   8345   
    }
 6225         -
    }
        8346  +
}
 6226   8347   
 6227         -
    #[derive(Deserialize)]
 6228         -
    pub(crate) struct TestContextCreds {
        8348  +
#[derive(serde_derive::Deserialize)]
        8349  +
pub(crate) struct TestContextCreds {
 6229   8350   
    access_key_id: String,
 6230   8351   
    secret_access_key: String,
 6231   8352   
    token: Option<String>,
        8353  +
}
        8354  +
        8355  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        8356  +
    fn from(tc: &'a TestContext) -> Self {
        8357  +
        crate::sign::v4::SigningParams {
        8358  +
            identity: &tc.identity,
        8359  +
            region: &tc.region,
        8360  +
            name: &tc.service,
        8361  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8362  +
                .unwrap()
        8363  +
                .into(),
        8364  +
            settings: SigningSettings {
        8365  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8366  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8367  +
                uri_path_normalization_mode: tc.normalize.into(),
        8368  +
                session_token_mode: if tc.omit_session_token {
        8369  +
                    SessionTokenMode::Exclude
        8370  +
                } else {
        8371  +
                    SessionTokenMode::Include
        8372  +
                },
        8373  +
                payload_checksum_kind: if tc.sign_body {
        8374  +
                    PayloadChecksumKind::XAmzSha256
        8375  +
                } else {
        8376  +
                    PayloadChecksumKind::NoHeader
        8377  +
                },
        8378  +
                ..Default::default()
        8379  +
            },
        8380  +
        }
        8381  +
    }
        8382  +
}
        8383  +
        8384  +
#[cfg(feature = "sigv4a")]
        8385  +
pub(crate) mod v4a {
        8386  +
    use super::*;
        8387  +
    use crate::http_request::{
        8388  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        8389  +
    };
        8390  +
    use crate::sign::v4a;
        8391  +
    use p256::ecdsa::signature::{Signature, Verifier};
        8392  +
    use p256::ecdsa::{DerSignature, SigningKey};
        8393  +
    use std::time::Duration;
        8394  +
    use time::format_description::well_known::Rfc3339;
        8395  +
    use time::OffsetDateTime;
        8396  +
        8397  +
    fn new_v4a_signing_params_from_context(
        8398  +
        test_context: &'_ TestContext,
        8399  +
        signature_location: SignatureLocation,
        8400  +
    ) -> crate::http_request::SigningParams<'_> {
        8401  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        8402  +
        params.settings.signature_location = signature_location;
        8403  +
        params.into()
        8404  +
    }
        8405  +
        8406  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        8407  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        8408  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
        8409  +
    }
        8410  +
        8411  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        8412  +
        let test = SigningSuiteTest::v4a(test_name);
        8413  +
        let tc = test.context();
        8414  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        8415  +
        8416  +
        let req = test.request();
        8417  +
        let expected_creq = test.canonical_request(signature_location);
        8418  +
        let signable_req = SignableRequest::from(&req);
        8419  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8420  +
        8421  +
        assert_eq!(
        8422  +
            expected_creq,
        8423  +
            actual_creq.to_string(),
        8424  +
            "canonical request didn't match (signature location: {signature_location:?})"
        8425  +
        );
        8426  +
        8427  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        8428  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8429  +
        let actual_string_to_sign = StringToSign::new_v4a(
        8430  +
            *params.time(),
        8431  +
            params.region_set().unwrap(),
        8432  +
            params.name(),
        8433  +
            hashed_creq,
        8434  +
        )
        8435  +
        .to_string();
        8436  +
        8437  +
        assert_eq!(
        8438  +
            expected_string_to_sign, actual_string_to_sign,
        8439  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        8440  +
        );
        8441  +
        8442  +
        let out = sign(signable_req, &params).unwrap();
        8443  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        8444  +
        out.output
        8445  +
            .apply_to_request_http0x(&mut req.as_http_request());
        8446  +
        8447  +
        let creds = params.credentials().unwrap();
        8448  +
        let signing_key =
        8449  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        8450  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        8451  +
        let sig = sig
        8452  +
            .try_into()
        8453  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        8454  +
        8455  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        8456  +
        let peer_public_key = signing_key.verifying_key();
        8457  +
        let sts = actual_string_to_sign.as_bytes();
        8458  +
        peer_public_key.verify(sts, &sig).unwrap();
        8459  +
        // TODO(sigv4a) - use public.key.json as verifying key?
        8460  +
    }
        8461  +
        8462  +
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
        8463  +
        fn from(tc: &'a TestContext) -> Self {
        8464  +
            crate::sign::v4a::SigningParams {
        8465  +
                identity: &tc.identity,
        8466  +
                region_set: &tc.region,
        8467  +
                name: &tc.service,
        8468  +
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8469  +
                    .unwrap()
        8470  +
                    .into(),
        8471  +
                settings: SigningSettings {
        8472  +
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8473  +
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8474  +
                    uri_path_normalization_mode: tc.normalize.into(),
        8475  +
                    session_token_mode: if tc.omit_session_token {
        8476  +
                        SessionTokenMode::Exclude
        8477  +
                    } else {
        8478  +
                        SessionTokenMode::Include
        8479  +
                    },
        8480  +
                    payload_checksum_kind: if tc.sign_body {
        8481  +
                        PayloadChecksumKind::XAmzSha256
        8482  +
                    } else {
        8483  +
                        PayloadChecksumKind::NoHeader
        8484  +
                    },
        8485  +
                    ..Default::default()
        8486  +
                },
        8487  +
            }
        8488  +
        }
 6232   8489   
    }
 6233   8490   
 6234   8491   
    #[test]
 6235   8492   
    fn test_parse() {
 6236         -
        let req = test_request("post-header-key-case");
        8493  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 6237   8494   
        assert_eq!(req.method, "POST");
 6238   8495   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6239   8496   
        assert!(req.headers.is_empty());
 6240   8497   
    }
 6241   8498   
 6242   8499   
    #[test]
 6243   8500   
    fn test_read_query_params() {
 6244         -
        let req = test_request("get-header-value-trim");
        8501  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 6245   8502   
        assert_eq!(req.method, "GET");
 6246   8503   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6247   8504   
        assert!(!req.headers.is_empty());
 6248   8505   
    }
 6249   8506   
}
 6250   8507   
 6251   8508   
fn read(path: &str) -> String {
 6252   8509   
    println!("Loading `{}` for test case...", path);
 6253   8510   
    let v = {
 6254   8511   
        match std::fs::read_to_string(path) {
 6255   8512   
            // This replacement is necessary for tests to pass on Windows, as reading the
 6256   8513   
            // test snapshots from the file system results in CRLF line endings being inserted.
 6257   8514   
            Ok(value) => value.replace("\r\n", "\n"),
 6258   8515   
            Err(err) => {
 6259   8516   
                panic!("failed to load test case `{}`: {}", path, err);
 6260   8517   
            }
 6261   8518   
        }
 6262   8519   
    };
 6263   8520   
 6264   8521   
    v.trim().to_string()
 6265   8522   
}
 6266   8523   
 6267   8524   
pub(crate) struct TestRequest {
 6268   8525   
    pub(crate) uri: String,
 6269   8526   
    pub(crate) method: String,
 6270   8527   
    pub(crate) headers: Vec<(String, String)>,
 6271   8528   
    pub(crate) body: TestSignedBody,
 6272   8529   
}
 6273   8530   
 6274   8531   
pub(crate) enum TestSignedBody {
 6275   8532   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 6276   8533   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 6277   8534   
                    )
 6278   8535   
                })
 6279   8536   
                .collect::<Vec<_>>(),
 6280   8537   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 6281   8538   
        }
 6282   8539   
    }
 6283   8540   
}
 6284   8541   
 6285   8542   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 6286   8543   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 6287   8544   
        SignableRequest::new(
 6288   8545   
            &request.method,
 6289   8546   
            &request.uri,
 6290   8547   
            request
 6291   8548   
                .headers
 6292   8549   
                .iter()
 6293   8550   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 6294   8551   
            request.body.as_signable_body(),
 6295   8552   
        )
 6296   8553   
        .expect("URI MUST be valid")
 6297   8554   
    }
 6298   8555   
}
 6299   8556   
 6300   8557   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 6301   8558   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 6302   8559   
    // httparse 1.5 requires two trailing newlines to head the header section.
 6303   8560   
    let mut with_newline = Vec::from(s);
 6304   8561   
    with_newline.push(b'\n');
 6305   8562   
    let mut req = httparse::Request::new(&mut headers);
 6306         -
    let _ = req.parse(&with_newline).unwrap();
        8563  +
    let status = req.parse(&with_newline).unwrap();
        8564  +
        8565  +
    let body = if status.is_complete() {
        8566  +
        let body_offset = status.unwrap();
        8567  +
        // ignore the newline we added, take from original
        8568  +
        &s[body_offset..]
        8569  +
    } else {
        8570  +
        &[]
        8571  +
    };
 6307   8572   
 6308   8573   
    let mut uri_builder = Uri::builder().scheme("https");
 6309   8574   
    if let Some(path) = req.path {
 6310   8575   
        uri_builder = uri_builder.path_and_query(path);
 6311   8576   
    }
 6312   8577   
 6313   8578   
    let mut headers = vec![];
 6314   8579   
    for header in req.headers {
 6315   8580   
        let name = header.name.to_lowercase();
 6316   8581   
        if name == "host" {
 6317   8582   
            uri_builder = uri_builder.authority(header.value);
 6318   8583   
        } else if !name.is_empty() {
 6319   8584   
            headers.push((
 6320   8585   
                header.name.to_string(),
 6321   8586   
                std::str::from_utf8(header.value)?.to_string(),
 6322   8587   
            ));
 6323   8588   
        }
 6324   8589   
    }
 6325   8590   
 6326   8591   
    Ok(TestRequest {
 6327   8592   
        uri: uri_builder.build()?.to_string(),
 6328   8593   
        method: req.method.unwrap().to_string(),
 6329   8594   
        headers,
 6330         -
        body: TestSignedBody::Bytes(vec![]),
        8595  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 6331   8596   
    })
 6332   8597   
}
 6333   8598   
 6334   8599   
#[test]
 6335   8600   
fn test_parse_headers() {
 6336   8601   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 6337   8602   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 6338   8603   
    assert_eq!(
 6339   8604   
        httparse::parse_headers(buf, &mut headers),
 6340   8605   
        Ok(httparse::Status::Complete((
 6341   8606   
            56,
 6342   8607   
            &[
 6343   8608   
                httparse::Header {
 6344   8609   
                    name: "Host",
 6345   8610   
                    value: b"example.amazonaws.com",
 6346   8611   
                },
 6347   8612   
                httparse::Header {
 6348   8613   
                    name: "X-Amz-Date",
 6349   8614   
                    value: b"20150830T123600Z",
 6350   8615   
                }
 6351   8616   
            ][..]
 6352   8617   
        )))
 6353   8618   
    );
 6354   8619   
}
 6355   8620   
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
 6356   8621   
index a208453..fc00249 100644
 6357         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        8622  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 6358   8623   
@@ -168,52 +168,54 @@ pub mod signing_params {
 6359   8624   
        );
 6360   8625   
 6361   8626   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 6362   8627   
        /// a required argument was not given.
 6363   8628   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 6364   8629   
            Ok(SigningParams {
 6365   8630   
                identity: self
 6366   8631   
                    .identity
 6367   8632   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 6368   8633   
                region: self
 6369   8634   
                    .region
 6370   8635   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 6371   8636   
                name: self
 6372   8637   
                    .name
 6373   8638   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 6374   8639   
                time: self
 6375   8640   
                    .time
 6376   8641   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 6377   8642   
                settings: self
 6378   8643   
                    .settings
 6379   8644   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 6380   8645   
            })
 6381   8646   
        }
 6382   8647   
    }
 6383   8648   
}
 6384   8649   
 6385   8650   
#[cfg(test)]
 6386   8651   
mod tests {
 6387   8652   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 6388   8653   
    use crate::date_time::test_parsers::parse_date_time;
 6389         -
    use crate::http_request::test;
 6390   8654   
 6391   8655   
    #[test]
 6392   8656   
    fn test_signature_calculation() {
 6393   8657   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 6394         -
        let creq = test::v4::test_canonical_request("iam");
        8658  +
        let creq = r#"AWS4-HMAC-SHA256
        8659  +
20150830T123600Z
        8660  +
20150830/us-east-1/iam/aws4_request
        8661  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 6395   8662   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6396   8663   
 6397   8664   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 6398   8665   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 6399   8666   
 6400   8667   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 6401   8668   
        assert_eq!(expected, &signature);
 6402   8669   
    }
 6403   8670   
 6404   8671   
    #[test]
 6405   8672   
    fn sign_payload_empty_string() {
 6406   8673   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 6407   8674   
        let actual = sha256_hex_string([]);
 6408   8675   
        assert_eq!(expected, actual);
 6409   8676   
    }
 6410   8677   
}
 6411   8678   
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
 6412   8679   
index ce78c38..8c2f591 100644
 6413         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        8680  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 6414   8681   
@@ -1,43 +1,43 @@
 6415   8682   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6416   8683   
[package]
 6417   8684   
name = "aws-smithy-checksums"
 6418   8685   
version = "0.63.5"
 6419   8686   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 6420   8687   
description = "Checksum calculation and verification callbacks"
 6421   8688   
edition = "2021"
 6422   8689   
license = "Apache-2.0"
 6423   8690   
repository = "https://github.com/smithy-lang/smithy-rs"
 6424   8691   
[package.metadata.docs.rs]
 6425   8692   
all-features = true
 6426   8693   
targets = ["x86_64-unknown-linux-gnu"]
 6427   8694   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6428   8695   
rustdoc-args = ["--cfg", "docsrs"]
 6429   8696   
 6430   8697   
[dependencies]
 6431   8698   
bytes = "1.10.0"
 6432   8699   
crc-fast = "1.3.0"
 6433   8700   
hex = "0.4.3"
 6434   8701   
http = "0.2.9"
 6435   8702   
http-body = "0.4.5"
 6436   8703   
md-5 = "0.10"
 6437   8704   
pin-project-lite = "0.2.14"
 6438   8705   
sha1 = "0.10"
 6439   8706   
sha2 = "0.10"
 6440   8707   
tracing = "0.1.40"
 6441   8708   
 6442   8709   
[dependencies.aws-smithy-http]
 6443   8710   
path = "../aws-smithy-http"
 6444         -
version = "0.62.2"
        8711  +
version = "0.62.3"
 6445   8712   
 6446   8713   
[dependencies.aws-smithy-types]
 6447   8714   
path = "../aws-smithy-types"
 6448   8715   
version = "1.3.2"
 6449   8716   
 6450   8717   
[dev-dependencies]
 6451   8718   
bytes-utils = "0.1.2"
 6452   8719   
pretty_assertions = "1.3"
 6453   8720   
tracing-test = "0.2.1"
 6454   8721   
 6455   8722   
[dev-dependencies.tokio]
 6456   8723   
version = "1.23.1"
 6457   8724   
features = ["macros", "rt"]
 6458   8725   
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
 6459   8726   
index 970c99e..d3c7a49 100644
 6460         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        8727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 6461   8728   
@@ -1,34 +1,34 @@
 6462   8729   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6463   8730   
[package]
 6464   8731   
name = "aws-smithy-http"
 6465         -
version = "0.62.2"
        8732  +
version = "0.62.3"
 6466   8733   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6467   8734   
description = "Smithy HTTP logic for smithy-rs."
 6468   8735   
edition = "2021"
 6469   8736   
license = "Apache-2.0"
 6470   8737   
repository = "https://github.com/smithy-lang/smithy-rs"
 6471   8738   
[package.metadata.docs.rs]
 6472   8739   
all-features = true
 6473   8740   
targets = ["x86_64-unknown-linux-gnu"]
 6474   8741   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6475   8742   
rustdoc-args = ["--cfg", "docsrs"]
 6476   8743   
 6477   8744   
[features]
 6478   8745   
event-stream = ["aws-smithy-eventstream"]
 6479   8746   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 6480   8747   
 6481   8748   
[dependencies]
 6482   8749   
bytes = "1.10.0"
 6483   8750   
bytes-utils = "0.1"
 6484   8751   
percent-encoding = "2.3.1"
 6485   8752   
pin-project-lite = "0.2.14"
 6486   8753   
pin-utils = "0.1.0"
 6487   8754   
tracing = "0.1.40"
 6488   8755   
futures-core = "0.3.31"
 6489   8756   
 6490   8757   
[dependencies.aws-smithy-eventstream]
 6491   8758   
path = "../aws-smithy-eventstream"
 6492   8759   
optional = true
 6493   8760   
version = "0.60.10"
 6494   8761   
 6495   8762   
[dependencies.aws-smithy-runtime-api]
 6496   8763   
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
 6497   8764   
index 508f7a2..361545e 100644
 6498         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        8765  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 6499   8766   
@@ -1,27 +1,27 @@
 6500   8767   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6501   8768   
[[bin]]
 6502   8769   
name = "read_many_from_str"
 6503   8770   
path = "fuzz_targets/read_many_from_str.rs"
 6504   8771   
test = false
 6505   8772   
doc = false
 6506   8773   
 6507   8774   
[package]
 6508   8775   
name = "aws-smithy-http-fuzz"
 6509   8776   
version = "0.0.0"
 6510   8777   
authors = ["Automatically generated"]
 6511   8778   
publish = false
 6512   8779   
edition = "2021"
 6513   8780   
 6514   8781   
[package.metadata]
 6515   8782   
cargo-fuzz = true
 6516   8783   
 6517   8784   
[dependencies]
 6518   8785   
libfuzzer-sys = "=0.4.7"
 6519   8786   
http = "0.2.3"
 6520   8787   
 6521   8788   
[dependencies.aws-smithy-http]
 6522   8789   
path = ".."
 6523         -
version = "0.62.2"
        8790  +
version = "0.62.3"
 6524   8791   
 6525   8792   
[workspace]
 6526   8793   
members = ["."]
 6527   8794   
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
 6528   8795   
index fef41d0..2792229 100644
 6529         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        8796  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 6530   8797   
@@ -25,68 +25,74 @@ impl QueryWriter {
 6531   8798   
    pub fn new(uri: &Uri) -> Self {
 6532   8799   
        let new_path_and_query = uri
 6533   8800   
            .path_and_query()
 6534   8801   
            .map(|pq| pq.to_string())
 6535   8802   
            .unwrap_or_default();
 6536   8803   
        let prefix = if uri.query().is_none() {
 6537   8804   
            Some('?')
 6538   8805   
        } else if !uri.query().unwrap_or_default().is_empty() {
 6539   8806   
            Some('&')
 6540   8807   
        } else {
 6541   8808   
            None
 6542   8809   
        };
 6543   8810   
        QueryWriter {
 6544   8811   
            base_uri: uri.clone(),
 6545   8812   
            new_path_and_query,
 6546   8813   
            prefix,
 6547   8814   
        }
 6548   8815   
    }
 6549   8816   
 6550   8817   
    /// Clears all query parameters.
 6551   8818   
    pub fn clear_params(&mut self) {
 6552   8819   
        if let Some(index) = self.new_path_and_query.find('?') {
 6553   8820   
            self.new_path_and_query.truncate(index);
 6554   8821   
            self.prefix = Some('?');
 6555   8822   
        }
 6556   8823   
    }
 6557   8824   
 6558   8825   
    /// Inserts a new query parameter. The key and value are percent encoded
 6559   8826   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 6560   8827   
    pub fn insert(&mut self, k: &str, v: &str) {
        8828  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        8829  +
    }
        8830  +
    
        8831  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        8832  +
    /// as is.
        8833  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 6561   8834   
        if let Some(prefix) = self.prefix {
 6562   8835   
            self.new_path_and_query.push(prefix);
 6563   8836   
        }
 6564   8837   
        self.prefix = Some('&');
 6565         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        8838  +
        self.new_path_and_query.push_str(encoded_k);
 6566   8839   
        self.new_path_and_query.push('=');
        8840  +
        self.new_path_and_query.push_str(encoded_v)
 6567   8841   
        
 6568         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
 6569   8842   
    }
 6570   8843   
 6571   8844   
    /// Returns just the built query string.
 6572   8845   
    pub fn build_query(self) -> String {
 6573   8846   
        self.build_uri().query().unwrap_or_default().to_string()
 6574   8847   
    }
 6575   8848   
 6576   8849   
    /// Returns a full [`Uri`] with the query string updated.
 6577   8850   
    pub fn build_uri(self) -> Uri {
 6578   8851   
        let mut parts = self.base_uri.into_parts();
 6579   8852   
        parts.path_and_query = Some(
 6580   8853   
            self.new_path_and_query
 6581   8854   
                .parse()
 6582   8855   
                .expect("adding query should not invalidate URI"),
 6583   8856   
        );
 6584   8857   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 6585   8858   
    }
 6586   8859   
}
 6587   8860   
 6588   8861   
#[cfg(test)]
 6589   8862   
mod test {
 6590   8863   
    use super::QueryWriter;
 6591   8864   
    use http_02x::Uri;
 6592   8865   
 6593   8866   
    #[test]
 6594   8867   
    fn empty_uri() {
 6595   8868   
        let uri = Uri::from_static("http://www.example.com");
 6596   8869   
        let mut query_writer = QueryWriter::new(&uri);
 6597   8870   
        query_writer.insert("key", "val%ue");
 6598   8871   
        query_writer.insert("another", "value");
 6599   8872   
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
 6600   8873   
index f108978..df7a9fe 100644
 6601         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
        8874  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 6602   8875   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 6603   8876   
 6604   8877   
[package.metadata.smithy-rs-release-tooling]
 6605   8878   
stable = true
 6606   8879   
[package.metadata.cargo-udeps.ignore]
 6607   8880   
normal = ["aws-smithy-http"]
 6608   8881   
 6609   8882   
[features]
 6610   8883   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 6611   8884   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 6612   8885   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 6613   8886   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 6614   8887   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 6615   8888   
rt-tokio = ["tokio/rt"]
 6616   8889   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 6617   8890   
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"]
 6618   8891   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 6619   8892   
 6620   8893   
[dependencies]
 6621   8894   
bytes = "1.10.0"
 6622   8895   
fastrand = "2.3.0"
 6623   8896   
pin-project-lite = "0.2.14"
 6624   8897   
pin-utils = "0.1.0"
 6625   8898   
tracing = "0.1.40"
 6626   8899   
 6627   8900   
[dependencies.aws-smithy-async]
 6628   8901   
path = "../aws-smithy-async"
 6629   8902   
version = "1.2.5"
 6630   8903   
 6631   8904   
[dependencies.aws-smithy-http]
 6632   8905   
path = "../aws-smithy-http"
 6633         -
version = "0.62.2"
        8906  +
version = "0.62.3"
 6634   8907   
 6635   8908   
[dependencies.aws-smithy-observability]
 6636   8909   
path = "../aws-smithy-observability"
 6637   8910   
version = "0.1.3"
 6638   8911   
 6639   8912   
[dependencies.aws-smithy-runtime-api]
 6640   8913   
path = "../aws-smithy-runtime-api"
 6641   8914   
version = "1.8.5"
 6642   8915   
 6643   8916   
[dependencies.aws-smithy-types]
 6644   8917   
path = "../aws-smithy-types"
 6645   8918   
features = ["http-body-0-4-x"]
 6646   8919   
version = "1.3.2"
 6647   8920   
 6648   8921   
[dependencies.aws-smithy-http-client]
 6649   8922   
path = "../aws-smithy-http-client"
 6650   8923   
optional = true
 6651   8924   
version = "1.0.6"
 6652   8925   
 6653   8926   
[dependencies.http-02x]
 6654   8927   
package = "http"
 6655   8928   
version = "0.2.9"
 6656   8929   
 6657   8930   
[dependencies.http-1x]
 6658   8931   
package = "http"
 6659   8932   
version = "1"
 6660   8933   
 6661   8934   
[dependencies.http-body-04x]
 6662   8935   
package = "http-body"
 6663   8936   
version = "0.4.5"
 6664   8937   
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
 6665   8938   
index 4e050c6..f58eb1c 100644
 6666         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
        8939  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 6667   8940   
@@ -1,33 +1,33 @@
 6668   8941   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6669   8942   
[package]
 6670   8943   
name = "aws-smithy-wasm"
 6671   8944   
version = "0.1.4"
 6672   8945   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 6673   8946   
description = "Smithy WebAssembly configuration for smithy-rs."
 6674   8947   
edition = "2021"
 6675   8948   
license = "Apache-2.0"
 6676   8949   
repository = "https://github.com/awslabs/smithy-rs"
 6677   8950   
[package.metadata.docs.rs]
 6678   8951   
all-features = true
 6679   8952   
targets = ["x86_64-unknown-linux-gnu"]
 6680   8953   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6681   8954   
rustdoc-args = ["--cfg", "docsrs"]
 6682   8955   
 6683   8956   
[dependencies]
 6684   8957   
bytes = "1.10.0"
 6685   8958   
http = "1.0.0"
 6686   8959   
tracing = "0.1.40"
 6687   8960   
wasi = "0.12.1"
 6688   8961   
 6689   8962   
[dependencies.aws-smithy-runtime-api]
 6690   8963   
path = "../aws-smithy-runtime-api"
 6691   8964   
features = ["http-1x"]
 6692   8965   
version = "1.8.5"
 6693   8966   
 6694   8967   
[dependencies.aws-smithy-http]
 6695   8968   
path = "../aws-smithy-http"
 6696         -
version = "0.62.2"
        8969  +
version = "0.62.3"
 6697   8970   
 6698   8971   
[dependencies.aws-smithy-types]
 6699   8972   
path = "../aws-smithy-types"
 6700   8973   
version = "1.3.2"
 6701   8974   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6702   8975   
index a880648..139e808 100644
 6703         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
        8976  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6704   8977   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 6705   8978   
edition = "2021"
 6706   8979   
license = "Apache-2.0"
 6707   8980   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6708   8981   
rust-version = "1.86.0"
 6709   8982   
readme = "README.md"
 6710   8983   
[package.metadata.smithy]
 6711   8984   
codegen-version = "ci"
 6712   8985   
[package.metadata.docs.rs]
 6713   8986   
all-features = true
 6714   8987   
targets = ["x86_64-unknown-linux-gnu"]
 6715   8988   
[dependencies.aws-credential-types]
 6716   8989   
path = "../aws-credential-types"
 6717   8990   
version = "1.2.4"
 6718   8991   
 6719   8992   
[dependencies.aws-runtime]
 6720   8993   
path = "../aws-runtime"
 6721   8994   
features = ["event-stream"]
 6722   8995   
version = "1.5.9"
 6723   8996   
 6724   8997   
[dependencies.aws-smithy-async]
 6725   8998   
path = "../aws-smithy-async"
 6726   8999   
version = "1.2.5"
 6727   9000   
 6728   9001   
[dependencies.aws-smithy-eventstream]
 6729   9002   
path = "../aws-smithy-eventstream"
 6730   9003   
version = "0.60.10"
 6731   9004   
 6732   9005   
[dependencies.aws-smithy-http]
 6733   9006   
path = "../aws-smithy-http"
 6734   9007   
features = ["event-stream"]
 6735         -
version = "0.62.2"
        9008  +
version = "0.62.3"
 6736   9009   
 6737   9010   
[dependencies.aws-smithy-json]
 6738   9011   
path = "../aws-smithy-json"
 6739   9012   
version = "0.61.4"
 6740   9013   
 6741   9014   
[dependencies.aws-smithy-runtime]
 6742   9015   
path = "../aws-smithy-runtime"
 6743   9016   
features = ["client"]
 6744   9017   
version = "1.8.5"
 6745   9018   
 6746   9019   
[dependencies.aws-smithy-runtime-api]
 6747   9020   
path = "../aws-smithy-runtime-api"
 6748   9021   
features = ["client", "http-02x"]
 6749   9022   
version = "1.8.5"
 6750   9023   
 6751   9024   
[dependencies.aws-smithy-types]
 6752   9025   
path = "../aws-smithy-types"
 6753   9026   
version = "1.3.2"
 6754   9027   
 6755   9028   
[dependencies.aws-types]
 6756   9029   
path = "../aws-types"
 6757   9030   
version = "1.3.8"
 6758   9031   
 6759   9032   
[dependencies.bytes]
 6760   9033   
version = "1.4.0"
 6761   9034   
 6762   9035   
[dependencies.fastrand]
 6763   9036   
version = "2.0.0"
 6764   9037   
 6765   9038   
[dependencies.http]
 6766   9039   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6767   9040   
index 415ecc9..667d12b 100644
 6768         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
        9041  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6769   9042   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 6770   9043   
edition = "2021"
 6771   9044   
license = "Apache-2.0"
 6772   9045   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6773   9046   
rust-version = "1.86.0"
 6774   9047   
readme = "README.md"
 6775   9048   
[package.metadata.smithy]
 6776   9049   
codegen-version = "ci"
 6777   9050   
[package.metadata.docs.rs]
 6778   9051   
all-features = true
 6779   9052   
targets = ["x86_64-unknown-linux-gnu"]
 6780   9053   
[dependencies.aws-credential-types]
 6781   9054   
path = "../aws-credential-types"
 6782   9055   
version = "1.2.4"
 6783   9056   
 6784   9057   
[dependencies.aws-runtime]
 6785   9058   
path = "../aws-runtime"
 6786   9059   
features = ["event-stream"]
 6787   9060   
version = "1.5.9"
 6788   9061   
 6789   9062   
[dependencies.aws-smithy-async]
 6790   9063   
path = "../aws-smithy-async"
 6791   9064   
version = "1.2.5"
 6792   9065   
 6793   9066   
[dependencies.aws-smithy-eventstream]
 6794   9067   
path = "../aws-smithy-eventstream"
 6795   9068   
version = "0.60.10"
 6796   9069   
 6797   9070   
[dependencies.aws-smithy-http]
 6798   9071   
path = "../aws-smithy-http"
 6799   9072   
features = ["event-stream"]
 6800         -
version = "0.62.2"
        9073  +
version = "0.62.3"
 6801   9074   
 6802   9075   
[dependencies.aws-smithy-json]
 6803   9076   
path = "../aws-smithy-json"
 6804   9077   
version = "0.61.4"
 6805   9078   
 6806   9079   
[dependencies.aws-smithy-runtime]
 6807   9080   
path = "../aws-smithy-runtime"
 6808   9081   
features = ["client"]
 6809   9082   
version = "1.8.5"
 6810   9083   
 6811   9084   
[dependencies.aws-smithy-runtime-api]
 6812   9085   
path = "../aws-smithy-runtime-api"
 6813   9086   
features = ["client", "http-02x"]
 6814   9087   
version = "1.8.5"
 6815   9088   
 6816   9089   
[dependencies.aws-smithy-types]
 6817   9090   
path = "../aws-smithy-types"
 6818   9091   
version = "1.3.2"
 6819   9092   
 6820   9093   
[dependencies.aws-types]
 6821   9094   
path = "../aws-types"
 6822   9095   
version = "1.3.8"
 6823   9096   
 6824   9097   
[dependencies.bytes]
 6825   9098   
version = "1.4.0"
 6826   9099   
 6827   9100   
[dependencies.fastrand]
 6828   9101   
version = "2.0.0"
 6829   9102   
 6830   9103   
[dependencies.http]
 6831   9104   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6832   9105   
index 8871cab..ed88de6 100644
 6833         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
        9106  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6834   9107   
@@ -1,61 +1,61 @@
 6835   9108   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6836   9109   
[package]
 6837   9110   
name = "aws-sdk-codecatalyst"
 6838   9111   
version = "0.0.0-local"
 6839   9112   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6840   9113   
description = "AWS SDK for Amazon CodeCatalyst"
 6841   9114   
edition = "2021"
 6842   9115   
license = "Apache-2.0"
 6843   9116   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6844   9117   
rust-version = "1.86.0"
 6845   9118   
readme = "README.md"
 6846   9119   
[package.metadata.smithy]
 6847   9120   
codegen-version = "ci"
 6848   9121   
[package.metadata.docs.rs]
 6849   9122   
all-features = true
 6850   9123   
targets = ["x86_64-unknown-linux-gnu"]
 6851   9124   
[dependencies.aws-credential-types]
 6852   9125   
path = "../aws-credential-types"
 6853   9126   
version = "1.2.4"
 6854   9127   
 6855   9128   
[dependencies.aws-runtime]
 6856   9129   
path = "../aws-runtime"
 6857   9130   
version = "1.5.9"
 6858   9131   
 6859   9132   
[dependencies.aws-smithy-async]
 6860   9133   
path = "../aws-smithy-async"
 6861   9134   
version = "1.2.5"
 6862   9135   
 6863   9136   
[dependencies.aws-smithy-http]
 6864   9137   
path = "../aws-smithy-http"
 6865         -
version = "0.62.2"
        9138  +
version = "0.62.3"
 6866   9139   
 6867   9140   
[dependencies.aws-smithy-json]
 6868   9141   
path = "../aws-smithy-json"
 6869   9142   
version = "0.61.4"
 6870   9143   
 6871   9144   
[dependencies.aws-smithy-runtime]
 6872   9145   
path = "../aws-smithy-runtime"
 6873   9146   
features = ["client", "http-auth"]
 6874   9147   
version = "1.8.5"
 6875   9148   
 6876   9149   
[dependencies.aws-smithy-runtime-api]
 6877   9150   
path = "../aws-smithy-runtime-api"
 6878   9151   
features = ["client", "http-02x", "http-auth"]
 6879   9152   
version = "1.8.5"
 6880   9153   
 6881   9154   
[dependencies.aws-smithy-types]
 6882   9155   
path = "../aws-smithy-types"
 6883   9156   
version = "1.3.2"
 6884   9157   
 6885   9158   
[dependencies.aws-types]
 6886   9159   
path = "../aws-types"
 6887   9160   
version = "1.3.8"
 6888   9161   
 6889   9162   
[dependencies.bytes]
 6890   9163   
version = "1.4.0"
 6891   9164   
 6892   9165   
[dependencies.fastrand]
 6893   9166   
version = "2.0.0"
 6894   9167   
 6895   9168   
[dependencies.http]
 6896   9169   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6897   9170   
index 89573ff..05238af 100644
 6898         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
        9171  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6899   9172   
@@ -1,61 +1,61 @@
 6900   9173   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6901   9174   
[package]
 6902   9175   
name = "aws-sdk-config"
 6903   9176   
version = "0.0.0-local"
 6904   9177   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6905   9178   
description = "AWS SDK for AWS Config"
 6906   9179   
edition = "2021"
 6907   9180   
license = "Apache-2.0"
 6908   9181   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6909   9182   
rust-version = "1.86.0"
 6910   9183   
readme = "README.md"
 6911   9184   
[package.metadata.smithy]
 6912   9185   
codegen-version = "ci"
 6913   9186   
[package.metadata.docs.rs]
 6914   9187   
all-features = true
 6915   9188   
targets = ["x86_64-unknown-linux-gnu"]
 6916   9189   
[dependencies.aws-credential-types]
 6917   9190   
path = "../aws-credential-types"
 6918   9191   
version = "1.2.4"
 6919   9192   
 6920   9193   
[dependencies.aws-runtime]
 6921   9194   
path = "../aws-runtime"
 6922   9195   
version = "1.5.9"
 6923   9196   
 6924   9197   
[dependencies.aws-smithy-async]
 6925   9198   
path = "../aws-smithy-async"
 6926   9199   
version = "1.2.5"
 6927   9200   
 6928   9201   
[dependencies.aws-smithy-http]
 6929   9202   
path = "../aws-smithy-http"
 6930         -
version = "0.62.2"
        9203  +
version = "0.62.3"
 6931   9204   
 6932   9205   
[dependencies.aws-smithy-json]
 6933   9206   
path = "../aws-smithy-json"
 6934   9207   
version = "0.61.4"
 6935   9208   
 6936   9209   
[dependencies.aws-smithy-runtime]
 6937   9210   
path = "../aws-smithy-runtime"
 6938   9211   
features = ["client"]
 6939   9212   
version = "1.8.5"
 6940   9213   
 6941   9214   
[dependencies.aws-smithy-runtime-api]
 6942   9215   
path = "../aws-smithy-runtime-api"
 6943   9216   
features = ["client", "http-02x"]
 6944   9217   
version = "1.8.5"
 6945   9218   
 6946   9219   
[dependencies.aws-smithy-types]
 6947   9220   
path = "../aws-smithy-types"
 6948   9221   
version = "1.3.2"
 6949   9222   
 6950   9223   
[dependencies.aws-types]
 6951   9224   
path = "../aws-types"
 6952   9225   
version = "1.3.8"
 6953   9226   
 6954   9227   
[dependencies.bytes]
 6955   9228   
version = "1.4.0"
 6956   9229   
 6957   9230   
[dependencies.fastrand]
 6958   9231   
version = "2.0.0"
 6959   9232   
 6960   9233   
[dependencies.http]
 6961   9234   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 6962   9235   
index d397c58..2c1062b 100644
 6963         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
        9236  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 6964   9237   
@@ -1,61 +1,61 @@
 6965   9238   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6966   9239   
[package]
 6967   9240   
name = "aws-sdk-dynamodb"
 6968   9241   
version = "0.0.0-local"
 6969   9242   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6970   9243   
description = "AWS SDK for Amazon DynamoDB"
 6971   9244   
edition = "2021"
 6972   9245   
license = "Apache-2.0"
 6973   9246   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6974   9247   
rust-version = "1.86.0"
 6975   9248   
readme = "README.md"
 6976   9249   
[package.metadata.smithy]
 6977   9250   
codegen-version = "ci"
 6978   9251   
[package.metadata.docs.rs]
 6979   9252   
all-features = true
 6980   9253   
targets = ["x86_64-unknown-linux-gnu"]
 6981   9254   
[dependencies.aws-credential-types]
 6982   9255   
path = "../aws-credential-types"
 6983   9256   
version = "1.2.4"
 6984   9257   
 6985   9258   
[dependencies.aws-runtime]
 6986   9259   
path = "../aws-runtime"
 6987   9260   
version = "1.5.9"
 6988   9261   
 6989   9262   
[dependencies.aws-smithy-async]
 6990   9263   
path = "../aws-smithy-async"
 6991   9264   
version = "1.2.5"
 6992   9265   
 6993   9266   
[dependencies.aws-smithy-http]
 6994   9267   
path = "../aws-smithy-http"
 6995         -
version = "0.62.2"
        9268  +
version = "0.62.3"
 6996   9269   
 6997   9270   
[dependencies.aws-smithy-json]
 6998   9271   
path = "../aws-smithy-json"
 6999   9272   
version = "0.61.4"
 7000   9273   
 7001   9274   
[dependencies.aws-smithy-runtime]
 7002   9275   
path = "../aws-smithy-runtime"
 7003   9276   
features = ["client"]
 7004   9277   
version = "1.8.5"
 7005   9278   
 7006   9279   
[dependencies.aws-smithy-runtime-api]
 7007   9280   
path = "../aws-smithy-runtime-api"
 7008   9281   
features = ["client", "http-02x"]
 7009   9282   
version = "1.8.5"
 7010   9283   
 7011   9284   
[dependencies.aws-smithy-types]
 7012   9285   
path = "../aws-smithy-types"
 7013   9286   
version = "1.3.2"
 7014   9287   
 7015   9288   
[dependencies.aws-types]
 7016   9289   
path = "../aws-types"
 7017   9290   
version = "1.3.8"
 7018   9291   
 7019   9292   
[dependencies.bytes]
 7020   9293   
version = "1.4.0"
 7021   9294   
 7022   9295   
[dependencies.fastrand]
 7023   9296   
version = "2.0.0"
 7024   9297   
 7025   9298   
[dependencies.http]
 7026   9299   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 7027   9300   
index c0ba315..46168af 100644
 7028         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
        9301  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 7029   9302   
@@ -1,61 +1,61 @@
 7030   9303   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7031   9304   
[package]
 7032   9305   
name = "aws-sdk-ec2"
 7033   9306   
version = "0.0.0-local"
 7034   9307   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7035   9308   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 7036   9309   
edition = "2021"
 7037   9310   
license = "Apache-2.0"
 7038   9311   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7039   9312   
rust-version = "1.86.0"
 7040   9313   
readme = "README.md"
 7041   9314   
[package.metadata.smithy]
 7042   9315   
codegen-version = "ci"
 7043   9316   
[package.metadata.docs.rs]
 7044   9317   
all-features = true
 7045   9318   
targets = ["x86_64-unknown-linux-gnu"]
 7046   9319   
[dependencies.aws-credential-types]
 7047   9320   
path = "../aws-credential-types"
 7048   9321   
version = "1.2.4"
 7049   9322   
 7050   9323   
[dependencies.aws-runtime]
 7051   9324   
path = "../aws-runtime"
 7052   9325   
version = "1.5.9"
 7053   9326   
 7054   9327   
[dependencies.aws-smithy-async]
 7055   9328   
path = "../aws-smithy-async"
 7056   9329   
version = "1.2.5"
 7057   9330   
 7058   9331   
[dependencies.aws-smithy-http]
 7059   9332   
path = "../aws-smithy-http"
 7060         -
version = "0.62.2"
        9333  +
version = "0.62.3"
 7061   9334   
 7062   9335   
[dependencies.aws-smithy-json]
 7063   9336   
path = "../aws-smithy-json"
 7064   9337   
version = "0.61.4"
 7065   9338   
 7066   9339   
[dependencies.aws-smithy-query]
 7067   9340   
path = "../aws-smithy-query"
 7068   9341   
version = "0.60.7"
 7069   9342   
 7070   9343   
[dependencies.aws-smithy-runtime]
 7071   9344   
path = "../aws-smithy-runtime"
 7072   9345   
features = ["client"]
 7073   9346   
version = "1.8.5"
 7074   9347   
 7075   9348   
[dependencies.aws-smithy-runtime-api]
 7076   9349   
path = "../aws-smithy-runtime-api"
 7077   9350   
features = ["client", "http-02x"]
 7078   9351   
version = "1.8.5"
 7079   9352   
 7080   9353   
[dependencies.aws-smithy-types]
 7081   9354   
path = "../aws-smithy-types"
 7082   9355   
version = "1.3.2"
 7083   9356   
 7084   9357   
[dependencies.aws-smithy-xml]
 7085   9358   
path = "../aws-smithy-xml"
 7086   9359   
version = "0.60.10"
 7087   9360   
 7088   9361   
[dependencies.aws-types]
 7089   9362   
path = "../aws-types"
 7090   9363   
version = "1.3.8"
 7091   9364   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7092   9365   
index 4474d17..095d40e 100644
 7093         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
        9366  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7094   9367   
@@ -1,61 +1,61 @@
 7095   9368   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7096   9369   
[package]
 7097   9370   
name = "aws-sdk-ecs"
 7098   9371   
version = "0.0.0-local"
 7099   9372   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7100   9373   
description = "AWS SDK for Amazon EC2 Container Service"
 7101   9374   
edition = "2021"
 7102   9375   
license = "Apache-2.0"
 7103   9376   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7104   9377   
rust-version = "1.86.0"
 7105   9378   
readme = "README.md"
 7106   9379   
[package.metadata.smithy]
 7107   9380   
codegen-version = "ci"
 7108   9381   
[package.metadata.docs.rs]
 7109   9382   
all-features = true
 7110   9383   
targets = ["x86_64-unknown-linux-gnu"]
 7111   9384   
[dependencies.aws-credential-types]
 7112   9385   
path = "../aws-credential-types"
 7113   9386   
version = "1.2.4"
 7114   9387   
 7115   9388   
[dependencies.aws-runtime]
 7116   9389   
path = "../aws-runtime"
 7117   9390   
version = "1.5.9"
 7118   9391   
 7119   9392   
[dependencies.aws-smithy-async]
 7120   9393   
path = "../aws-smithy-async"
 7121   9394   
version = "1.2.5"
 7122   9395   
 7123   9396   
[dependencies.aws-smithy-http]
 7124   9397   
path = "../aws-smithy-http"
 7125         -
version = "0.62.2"
        9398  +
version = "0.62.3"
 7126   9399   
 7127   9400   
[dependencies.aws-smithy-json]
 7128   9401   
path = "../aws-smithy-json"
 7129   9402   
version = "0.61.4"
 7130   9403   
 7131   9404   
[dependencies.aws-smithy-runtime]
 7132   9405   
path = "../aws-smithy-runtime"
 7133   9406   
features = ["client"]
 7134   9407   
version = "1.8.5"
 7135   9408   
 7136   9409   
[dependencies.aws-smithy-runtime-api]
 7137   9410   
path = "../aws-smithy-runtime-api"
 7138   9411   
features = ["client", "http-02x"]
 7139   9412   
version = "1.8.5"
 7140   9413   
 7141   9414   
[dependencies.aws-smithy-types]
 7142   9415   
path = "../aws-smithy-types"
 7143   9416   
version = "1.3.2"
 7144   9417   
 7145   9418   
[dependencies.aws-types]
 7146   9419   
path = "../aws-types"
 7147   9420   
version = "1.3.8"
 7148   9421   
 7149   9422   
[dependencies.bytes]
 7150   9423   
version = "1.4.0"
 7151   9424   
 7152   9425   
[dependencies.fastrand]
 7153   9426   
version = "2.0.0"
 7154   9427   
 7155   9428   
[dependencies.http]
 7156   9429   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7157   9430   
index 15b1d77..16d7d89 100644
 7158         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
        9431  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7159   9432   
@@ -1,65 +1,65 @@
 7160   9433   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7161   9434   
[package]
 7162   9435   
name = "aws-sdk-glacier"
 7163   9436   
version = "0.0.0-local"
 7164   9437   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7165   9438   
description = "AWS SDK for Amazon Glacier"
 7166   9439   
edition = "2021"
 7167   9440   
license = "Apache-2.0"
 7168   9441   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7169   9442   
rust-version = "1.86.0"
 7170   9443   
readme = "README.md"
 7171   9444   
[package.metadata.smithy]
 7172   9445   
codegen-version = "ci"
 7173   9446   
[package.metadata.docs.rs]
 7174   9447   
all-features = true
 7175   9448   
targets = ["x86_64-unknown-linux-gnu"]
 7176   9449   
[dependencies.aws-credential-types]
 7177   9450   
path = "../aws-credential-types"
 7178   9451   
version = "1.2.4"
 7179   9452   
 7180   9453   
[dependencies.aws-runtime]
 7181   9454   
path = "../aws-runtime"
 7182   9455   
version = "1.5.9"
 7183   9456   
 7184   9457   
[dependencies.aws-sigv4]
 7185   9458   
path = "../aws-sigv4"
 7186         -
version = "1.3.3"
        9459  +
version = "1.3.4"
 7187   9460   
 7188   9461   
[dependencies.aws-smithy-async]
 7189   9462   
path = "../aws-smithy-async"
 7190   9463   
version = "1.2.5"
 7191   9464   
 7192   9465   
[dependencies.aws-smithy-http]
 7193   9466   
path = "../aws-smithy-http"
 7194         -
version = "0.62.2"
        9467  +
version = "0.62.3"
 7195   9468   
 7196   9469   
[dependencies.aws-smithy-json]
 7197   9470   
path = "../aws-smithy-json"
 7198   9471   
version = "0.61.4"
 7199   9472   
 7200   9473   
[dependencies.aws-smithy-runtime]
 7201   9474   
path = "../aws-smithy-runtime"
 7202   9475   
features = ["client"]
 7203   9476   
version = "1.8.5"
 7204   9477   
 7205   9478   
[dependencies.aws-smithy-runtime-api]
 7206   9479   
path = "../aws-smithy-runtime-api"
 7207   9480   
features = ["client", "http-02x"]
 7208   9481   
version = "1.8.5"
 7209   9482   
 7210   9483   
[dependencies.aws-smithy-types]
 7211   9484   
path = "../aws-smithy-types"
 7212   9485   
version = "1.3.2"
 7213   9486   
 7214   9487   
[dependencies.aws-types]
 7215   9488   
path = "../aws-types"
 7216   9489   
version = "1.3.8"
 7217   9490   
 7218   9491   
[dependencies.bytes]
 7219   9492   
version = "1.4.0"
 7220   9493   
 7221   9494   
[dependencies.fastrand]
 7222   9495   
version = "2.0.0"
 7223   9496   
 7224   9497   
[dependencies.hex]
 7225   9498   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7226   9499   
index d718a3a..65e6f24 100644
 7227         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
        9500  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7228   9501   
@@ -1,61 +1,61 @@
 7229   9502   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7230   9503   
[package]
 7231   9504   
name = "aws-sdk-iam"
 7232   9505   
version = "0.0.0-local"
 7233   9506   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7234   9507   
description = "AWS SDK for AWS Identity and Access Management"
 7235   9508   
edition = "2021"
 7236   9509   
license = "Apache-2.0"
 7237   9510   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7238   9511   
rust-version = "1.86.0"
 7239   9512   
readme = "README.md"
 7240   9513   
[package.metadata.smithy]
 7241   9514   
codegen-version = "ci"
 7242   9515   
[package.metadata.docs.rs]
 7243   9516   
all-features = true
 7244   9517   
targets = ["x86_64-unknown-linux-gnu"]
 7245   9518   
[dependencies.aws-credential-types]
 7246   9519   
path = "../aws-credential-types"
 7247   9520   
version = "1.2.4"
 7248   9521   
 7249   9522   
[dependencies.aws-runtime]
 7250   9523   
path = "../aws-runtime"
 7251   9524   
version = "1.5.9"
 7252   9525   
 7253   9526   
[dependencies.aws-smithy-async]
 7254   9527   
path = "../aws-smithy-async"
 7255   9528   
version = "1.2.5"
 7256   9529   
 7257   9530   
[dependencies.aws-smithy-http]
 7258   9531   
path = "../aws-smithy-http"
 7259         -
version = "0.62.2"
        9532  +
version = "0.62.3"
 7260   9533   
 7261   9534   
[dependencies.aws-smithy-json]
 7262   9535   
path = "../aws-smithy-json"
 7263   9536   
version = "0.61.4"
 7264   9537   
 7265   9538   
[dependencies.aws-smithy-query]
 7266   9539   
path = "../aws-smithy-query"
 7267   9540   
version = "0.60.7"
 7268   9541   
 7269   9542   
[dependencies.aws-smithy-runtime]
 7270   9543   
path = "../aws-smithy-runtime"
 7271   9544   
features = ["client"]
 7272   9545   
version = "1.8.5"
 7273   9546   
 7274   9547   
[dependencies.aws-smithy-runtime-api]
 7275   9548   
path = "../aws-smithy-runtime-api"
 7276   9549   
features = ["client", "http-02x"]
 7277   9550   
version = "1.8.5"
 7278   9551   
 7279   9552   
[dependencies.aws-smithy-types]
 7280   9553   
path = "../aws-smithy-types"
 7281   9554   
version = "1.3.2"
 7282   9555   
 7283   9556   
[dependencies.aws-smithy-xml]
 7284   9557   
path = "../aws-smithy-xml"
 7285   9558   
version = "0.60.10"
 7286   9559   
 7287   9560   
[dependencies.aws-types]
 7288   9561   
path = "../aws-types"
 7289   9562   
version = "1.3.8"
 7290   9563   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7291   9564   
index 0ed4302..3d828a5 100644
 7292         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
        9565  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7293   9566   
@@ -1,61 +1,61 @@
 7294   9567   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7295   9568   
[package]
 7296   9569   
name = "aws-sdk-kms"
 7297   9570   
version = "0.0.0-local"
 7298   9571   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7299   9572   
description = "AWS SDK for AWS Key Management Service"
 7300   9573   
edition = "2021"
 7301   9574   
license = "Apache-2.0"
 7302   9575   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7303   9576   
rust-version = "1.86.0"
 7304   9577   
readme = "README.md"
 7305   9578   
[package.metadata.smithy]
 7306   9579   
codegen-version = "ci"
 7307   9580   
[package.metadata.docs.rs]
 7308   9581   
all-features = true
 7309   9582   
targets = ["x86_64-unknown-linux-gnu"]
 7310   9583   
[dependencies.aws-credential-types]
 7311   9584   
path = "../aws-credential-types"
 7312   9585   
version = "1.2.4"
 7313   9586   
 7314   9587   
[dependencies.aws-runtime]
 7315   9588   
path = "../aws-runtime"
 7316   9589   
version = "1.5.9"
 7317   9590   
 7318   9591   
[dependencies.aws-smithy-async]
 7319   9592   
path = "../aws-smithy-async"
 7320   9593   
version = "1.2.5"
 7321   9594   
 7322   9595   
[dependencies.aws-smithy-http]
 7323   9596   
path = "../aws-smithy-http"
 7324         -
version = "0.62.2"
        9597  +
version = "0.62.3"
 7325   9598   
 7326   9599   
[dependencies.aws-smithy-json]
 7327   9600   
path = "../aws-smithy-json"
 7328   9601   
version = "0.61.4"
 7329   9602   
 7330   9603   
[dependencies.aws-smithy-runtime]
 7331   9604   
path = "../aws-smithy-runtime"
 7332   9605   
features = ["client"]
 7333   9606   
version = "1.8.5"
 7334   9607   
 7335   9608   
[dependencies.aws-smithy-runtime-api]
 7336   9609   
path = "../aws-smithy-runtime-api"
 7337   9610   
features = ["client", "http-02x"]
 7338   9611   
version = "1.8.5"
 7339   9612   
 7340   9613   
[dependencies.aws-smithy-types]
 7341   9614   
path = "../aws-smithy-types"
 7342   9615   
version = "1.3.2"
 7343   9616   
 7344   9617   
[dependencies.aws-types]
 7345   9618   
path = "../aws-types"
 7346   9619   
version = "1.3.8"
 7347   9620   
 7348   9621   
[dependencies.bytes]
 7349   9622   
version = "1.4.0"
 7350   9623   
 7351   9624   
[dependencies.fastrand]
 7352   9625   
version = "2.0.0"
 7353   9626   
 7354   9627   
[dependencies.http]
 7355   9628   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7356   9629   
index 6518dfc..6b94752 100644
 7357         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
        9630  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7358   9631   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 7359   9632   
edition = "2021"
 7360   9633   
license = "Apache-2.0"
 7361   9634   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7362   9635   
rust-version = "1.86.0"
 7363   9636   
readme = "README.md"
 7364   9637   
[package.metadata.smithy]
 7365   9638   
codegen-version = "ci"
 7366   9639   
[package.metadata.docs.rs]
 7367   9640   
all-features = true
 7368   9641   
targets = ["x86_64-unknown-linux-gnu"]
 7369   9642   
[dependencies.aws-credential-types]
 7370   9643   
path = "../aws-credential-types"
 7371   9644   
version = "1.2.4"
 7372   9645   
 7373   9646   
[dependencies.aws-runtime]
 7374   9647   
path = "../aws-runtime"
 7375   9648   
features = ["event-stream"]
 7376   9649   
version = "1.5.9"
 7377   9650   
 7378   9651   
[dependencies.aws-smithy-async]
 7379   9652   
path = "../aws-smithy-async"
 7380   9653   
version = "1.2.5"
 7381   9654   
 7382   9655   
[dependencies.aws-smithy-eventstream]
 7383   9656   
path = "../aws-smithy-eventstream"
 7384   9657   
version = "0.60.10"
 7385   9658   
 7386   9659   
[dependencies.aws-smithy-http]
 7387   9660   
path = "../aws-smithy-http"
 7388   9661   
features = ["event-stream"]
 7389         -
version = "0.62.2"
        9662  +
version = "0.62.3"
 7390   9663   
 7391   9664   
[dependencies.aws-smithy-json]
 7392   9665   
path = "../aws-smithy-json"
 7393   9666   
version = "0.61.4"
 7394   9667   
 7395   9668   
[dependencies.aws-smithy-runtime]
 7396   9669   
path = "../aws-smithy-runtime"
 7397   9670   
features = ["client"]
 7398   9671   
version = "1.8.5"
 7399   9672   
 7400   9673   
[dependencies.aws-smithy-runtime-api]
 7401   9674   
path = "../aws-smithy-runtime-api"
 7402   9675   
features = ["client", "http-02x"]
 7403   9676   
version = "1.8.5"
 7404   9677   
 7405   9678   
[dependencies.aws-smithy-types]
 7406   9679   
path = "../aws-smithy-types"
 7407   9680   
version = "1.3.2"
 7408   9681   
 7409   9682   
[dependencies.aws-types]
 7410   9683   
path = "../aws-types"
 7411   9684   
version = "1.3.8"
 7412   9685   
 7413   9686   
[dependencies.bytes]
 7414   9687   
version = "1.4.0"
 7415   9688   
 7416   9689   
[dependencies.fastrand]
 7417   9690   
version = "2.0.0"
 7418   9691   
 7419   9692   
[dependencies.http]
 7420   9693   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7421   9694   
index dabb0e0..34cbc15 100644
 7422         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
        9695  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7423   9696   
@@ -1,65 +1,65 @@
 7424   9697   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7425   9698   
[package]
 7426   9699   
name = "aws-sdk-polly"
 7427   9700   
version = "0.0.0-local"
 7428   9701   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7429   9702   
description = "AWS SDK for Amazon Polly"
 7430   9703   
edition = "2021"
 7431   9704   
license = "Apache-2.0"
 7432   9705   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7433   9706   
rust-version = "1.86.0"
 7434   9707   
readme = "README.md"
 7435   9708   
[package.metadata.smithy]
 7436   9709   
codegen-version = "ci"
 7437   9710   
[package.metadata.docs.rs]
 7438   9711   
all-features = true
 7439   9712   
targets = ["x86_64-unknown-linux-gnu"]
 7440   9713   
[dependencies.aws-credential-types]
 7441   9714   
path = "../aws-credential-types"
 7442   9715   
version = "1.2.4"
 7443   9716   
 7444   9717   
[dependencies.aws-runtime]
 7445   9718   
path = "../aws-runtime"
 7446   9719   
version = "1.5.9"
 7447   9720   
 7448   9721   
[dependencies.aws-sigv4]
 7449   9722   
path = "../aws-sigv4"
 7450         -
version = "1.3.3"
        9723  +
version = "1.3.4"
 7451   9724   
 7452   9725   
[dependencies.aws-smithy-async]
 7453   9726   
path = "../aws-smithy-async"
 7454   9727   
version = "1.2.5"
 7455   9728   
 7456   9729   
[dependencies.aws-smithy-http]
 7457   9730   
path = "../aws-smithy-http"
 7458         -
version = "0.62.2"
        9731  +
version = "0.62.3"
 7459   9732   
 7460   9733   
[dependencies.aws-smithy-json]
 7461   9734   
path = "../aws-smithy-json"
 7462   9735   
version = "0.61.4"
 7463   9736   
 7464   9737   
[dependencies.aws-smithy-runtime]
 7465   9738   
path = "../aws-smithy-runtime"
 7466   9739   
features = ["client"]
 7467   9740   
version = "1.8.5"
 7468   9741   
 7469   9742   
[dependencies.aws-smithy-runtime-api]
 7470   9743   
path = "../aws-smithy-runtime-api"
 7471   9744   
features = ["client", "http-02x"]
 7472   9745   
version = "1.8.5"
 7473   9746   
 7474   9747   
[dependencies.aws-smithy-types]
 7475   9748   
path = "../aws-smithy-types"
 7476   9749   
version = "1.3.2"
 7477   9750   
 7478   9751   
[dependencies.aws-types]
 7479   9752   
path = "../aws-types"
 7480   9753   
version = "1.3.8"
 7481   9754   
 7482   9755   
[dependencies.bytes]
 7483   9756   
version = "1.4.0"
 7484   9757   
 7485   9758   
[dependencies.fastrand]
 7486   9759   
version = "2.0.0"
 7487   9760   
 7488   9761   
[dependencies.http]
 7489   9762   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7490   9763   
index a884716..f3d8713 100644
 7491         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
        9764  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7492   9765   
@@ -1,61 +1,61 @@
 7493   9766   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7494   9767   
[package]
 7495   9768   
name = "aws-sdk-qldbsession"
 7496   9769   
version = "0.0.0-local"
 7497   9770   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7498   9771   
description = "AWS SDK for Amazon QLDB Session"
 7499   9772   
edition = "2021"
 7500   9773   
license = "Apache-2.0"
 7501   9774   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7502   9775   
rust-version = "1.86.0"
 7503   9776   
readme = "README.md"
 7504   9777   
[package.metadata.smithy]
 7505   9778   
codegen-version = "ci"
 7506   9779   
[package.metadata.docs.rs]
 7507   9780   
all-features = true
 7508   9781   
targets = ["x86_64-unknown-linux-gnu"]
 7509   9782   
[dependencies.aws-credential-types]
 7510   9783   
path = "../aws-credential-types"
 7511   9784   
version = "1.2.4"
 7512   9785   
 7513   9786   
[dependencies.aws-runtime]
 7514   9787   
path = "../aws-runtime"
 7515   9788   
version = "1.5.9"
 7516   9789   
 7517   9790   
[dependencies.aws-smithy-async]
 7518   9791   
path = "../aws-smithy-async"
 7519   9792   
version = "1.2.5"
 7520   9793   
 7521   9794   
[dependencies.aws-smithy-http]
 7522   9795   
path = "../aws-smithy-http"
 7523         -
version = "0.62.2"
        9796  +
version = "0.62.3"
 7524   9797   
 7525   9798   
[dependencies.aws-smithy-json]
 7526   9799   
path = "../aws-smithy-json"
 7527   9800   
version = "0.61.4"
 7528   9801   
 7529   9802   
[dependencies.aws-smithy-runtime]
 7530   9803   
path = "../aws-smithy-runtime"
 7531   9804   
features = ["client"]
 7532   9805   
version = "1.8.5"
 7533   9806   
 7534   9807   
[dependencies.aws-smithy-runtime-api]
 7535   9808   
path = "../aws-smithy-runtime-api"
 7536   9809   
features = ["client", "http-02x"]
 7537   9810   
version = "1.8.5"
 7538   9811   
 7539   9812   
[dependencies.aws-smithy-types]
 7540   9813   
path = "../aws-smithy-types"
 7541   9814   
version = "1.3.2"
 7542   9815   
 7543   9816   
[dependencies.aws-types]
 7544   9817   
path = "../aws-types"
 7545   9818   
version = "1.3.8"
 7546   9819   
 7547   9820   
[dependencies.bytes]
 7548   9821   
version = "1.4.0"
 7549   9822   
 7550   9823   
[dependencies.fastrand]
 7551   9824   
version = "2.0.0"
 7552   9825   
 7553   9826   
[dependencies.http]
 7554   9827   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7555   9828   
index 32a7dc9..a2c752d 100644
 7556         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
        9829  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7557   9830   
@@ -1,61 +1,61 @@
 7558   9831   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7559   9832   
[package]
 7560   9833   
name = "aws-sdk-route53"
 7561   9834   
version = "0.0.0-local"
 7562   9835   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7563   9836   
description = "AWS SDK for Amazon Route 53"
 7564   9837   
edition = "2021"
 7565   9838   
license = "Apache-2.0"
 7566   9839   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7567   9840   
rust-version = "1.86.0"
 7568   9841   
readme = "README.md"
 7569   9842   
[package.metadata.smithy]
 7570   9843   
codegen-version = "ci"
 7571   9844   
[package.metadata.docs.rs]
 7572   9845   
all-features = true
 7573   9846   
targets = ["x86_64-unknown-linux-gnu"]
 7574   9847   
[dependencies.aws-credential-types]
 7575   9848   
path = "../aws-credential-types"
 7576   9849   
version = "1.2.4"
 7577   9850   
 7578   9851   
[dependencies.aws-runtime]
 7579   9852   
path = "../aws-runtime"
 7580   9853   
version = "1.5.9"
 7581   9854   
 7582   9855   
[dependencies.aws-smithy-async]
 7583   9856   
path = "../aws-smithy-async"
 7584   9857   
version = "1.2.5"
 7585   9858   
 7586   9859   
[dependencies.aws-smithy-http]
 7587   9860   
path = "../aws-smithy-http"
 7588         -
version = "0.62.2"
        9861  +
version = "0.62.3"
 7589   9862   
 7590   9863   
[dependencies.aws-smithy-json]
 7591   9864   
path = "../aws-smithy-json"
 7592   9865   
version = "0.61.4"
 7593   9866   
 7594   9867   
[dependencies.aws-smithy-runtime]
 7595   9868   
path = "../aws-smithy-runtime"
 7596   9869   
features = ["client"]
 7597   9870   
version = "1.8.5"
 7598   9871   
 7599   9872   
[dependencies.aws-smithy-runtime-api]
 7600   9873   
path = "../aws-smithy-runtime-api"
 7601   9874   
features = ["client", "http-02x"]
 7602   9875   
version = "1.8.5"
 7603   9876   
 7604   9877   
[dependencies.aws-smithy-types]
 7605   9878   
path = "../aws-smithy-types"
 7606   9879   
version = "1.3.2"
 7607   9880   
 7608   9881   
[dependencies.aws-smithy-xml]
 7609   9882   
path = "../aws-smithy-xml"
 7610   9883   
version = "0.60.10"
 7611   9884   
 7612   9885   
[dependencies.aws-types]
 7613   9886   
path = "../aws-types"
 7614   9887   
version = "1.3.8"
 7615   9888   
 7616   9889   
[dependencies.fastrand]
 7617   9890   
version = "2.0.0"
 7618   9891   
 7619   9892   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7620   9893   
index f65e261..2f6bec0 100644
 7621         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
        9894  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7622   9895   
@@ -1,75 +1,75 @@
 7623   9896   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7624   9897   
[package]
 7625   9898   
name = "aws-sdk-s3"
 7626   9899   
version = "0.0.0-local"
 7627   9900   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7628   9901   
description = "AWS SDK for Amazon Simple Storage Service"
 7629   9902   
edition = "2021"
 7630   9903   
license = "Apache-2.0"
 7631   9904   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7632   9905   
rust-version = "1.86.0"
 7633   9906   
readme = "README.md"
 7634   9907   
[package.metadata.smithy]
 7635   9908   
codegen-version = "ci"
 7636   9909   
[package.metadata.docs.rs]
 7637   9910   
all-features = true
 7638   9911   
targets = ["x86_64-unknown-linux-gnu"]
 7639   9912   
[dependencies.aws-credential-types]
 7640   9913   
path = "../aws-credential-types"
 7641   9914   
version = "1.2.4"
 7642   9915   
 7643   9916   
[dependencies.aws-runtime]
 7644   9917   
path = "../aws-runtime"
 7645   9918   
features = ["event-stream", "http-02x"]
 7646   9919   
version = "1.5.9"
 7647   9920   
 7648   9921   
[dependencies.aws-sigv4]
 7649   9922   
path = "../aws-sigv4"
 7650         -
version = "1.3.3"
        9923  +
version = "1.3.4"
 7651   9924   
 7652   9925   
[dependencies.aws-smithy-async]
 7653   9926   
path = "../aws-smithy-async"
 7654   9927   
version = "1.2.5"
 7655   9928   
 7656   9929   
[dependencies.aws-smithy-checksums]
 7657   9930   
path = "../aws-smithy-checksums"
 7658   9931   
version = "0.63.5"
 7659   9932   
 7660   9933   
[dependencies.aws-smithy-eventstream]
 7661   9934   
path = "../aws-smithy-eventstream"
 7662   9935   
version = "0.60.10"
 7663   9936   
 7664   9937   
[dependencies.aws-smithy-http]
 7665   9938   
path = "../aws-smithy-http"
 7666   9939   
features = ["event-stream"]
 7667         -
version = "0.62.2"
        9940  +
version = "0.62.3"
 7668   9941   
 7669   9942   
[dependencies.aws-smithy-json]
 7670   9943   
path = "../aws-smithy-json"
 7671   9944   
version = "0.61.4"
 7672   9945   
 7673   9946   
[dependencies.aws-smithy-runtime]
 7674   9947   
path = "../aws-smithy-runtime"
 7675   9948   
features = ["client"]
 7676   9949   
version = "1.8.5"
 7677   9950   
 7678   9951   
[dependencies.aws-smithy-runtime-api]
 7679   9952   
path = "../aws-smithy-runtime-api"
 7680   9953   
features = ["client", "http-02x"]
 7681   9954   
version = "1.8.5"
 7682   9955   
 7683   9956   
[dependencies.aws-smithy-types]
 7684   9957   
path = "../aws-smithy-types"
 7685   9958   
version = "1.3.2"
 7686   9959   
 7687   9960   
[dependencies.aws-smithy-xml]
 7688   9961   
path = "../aws-smithy-xml"
 7689   9962   
version = "0.60.10"
 7690   9963   
 7691   9964   
[dependencies.aws-types]
 7692   9965   
path = "../aws-types"
 7693   9966   
version = "1.3.8"
 7694   9967   
 7695   9968   
[dependencies.bytes]
 7696   9969   
version = "1.4.0"
 7697   9970   
 7698   9971   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7699   9972   
index b4d1cdd..861c0cc 100644
 7700         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
        9973  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7701   9974   
@@ -1,61 +1,61 @@
 7702   9975   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7703   9976   
[package]
 7704   9977   
name = "aws-sdk-s3control"
 7705   9978   
version = "0.0.0-local"
 7706   9979   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7707   9980   
description = "AWS SDK for AWS S3 Control"
 7708   9981   
edition = "2021"
 7709   9982   
license = "Apache-2.0"
 7710   9983   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7711   9984   
rust-version = "1.86.0"
 7712   9985   
readme = "README.md"
 7713   9986   
[package.metadata.smithy]
 7714   9987   
codegen-version = "ci"
 7715   9988   
[package.metadata.docs.rs]
 7716   9989   
all-features = true
 7717   9990   
targets = ["x86_64-unknown-linux-gnu"]
 7718   9991   
[dependencies.aws-credential-types]
 7719   9992   
path = "../aws-credential-types"
 7720   9993   
version = "1.2.4"
 7721   9994   
 7722   9995   
[dependencies.aws-runtime]
 7723   9996   
path = "../aws-runtime"
 7724   9997   
version = "1.5.9"
 7725   9998   
 7726   9999   
[dependencies.aws-smithy-async]
 7727  10000   
path = "../aws-smithy-async"
 7728  10001   
version = "1.2.5"
 7729  10002   
 7730  10003   
[dependencies.aws-smithy-http]
 7731  10004   
path = "../aws-smithy-http"
 7732         -
version = "0.62.2"
       10005  +
version = "0.62.3"
 7733  10006   
 7734  10007   
[dependencies.aws-smithy-json]
 7735  10008   
path = "../aws-smithy-json"
 7736  10009   
version = "0.61.4"
 7737  10010   
 7738  10011   
[dependencies.aws-smithy-runtime]
 7739  10012   
path = "../aws-smithy-runtime"
 7740  10013   
features = ["client"]
 7741  10014   
version = "1.8.5"
 7742  10015   
 7743  10016   
[dependencies.aws-smithy-runtime-api]
 7744  10017   
path = "../aws-smithy-runtime-api"
 7745  10018   
features = ["client", "http-02x"]
 7746  10019   
version = "1.8.5"
 7747  10020   
 7748  10021   
[dependencies.aws-smithy-types]
 7749  10022   
path = "../aws-smithy-types"
 7750  10023   
version = "1.3.2"
 7751  10024   
 7752  10025   
[dependencies.aws-smithy-xml]
 7753  10026   
path = "../aws-smithy-xml"
 7754  10027   
version = "0.60.10"
 7755  10028   
 7756  10029   
[dependencies.aws-types]
 7757  10030   
path = "../aws-types"
 7758  10031   
version = "1.3.8"
 7759  10032   
 7760  10033   
[dependencies.fastrand]
 7761  10034   
version = "2.0.0"
 7762  10035   
 7763  10036   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7764  10037   
index 2cde182..fc367f4 100644
 7765         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
       10038  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7766  10039   
@@ -1,61 +1,61 @@
 7767  10040   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7768  10041   
[package]
 7769  10042   
name = "aws-sdk-sso"
 7770  10043   
version = "0.0.0-local"
 7771  10044   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7772  10045   
description = "AWS SDK for AWS Single Sign-On"
 7773  10046   
edition = "2021"
 7774  10047   
license = "Apache-2.0"
 7775  10048   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7776  10049   
rust-version = "1.86.0"
 7777  10050   
readme = "README.md"
 7778  10051   
[package.metadata.smithy]
 7779  10052   
codegen-version = "ci"
 7780  10053   
[package.metadata.docs.rs]
 7781  10054   
all-features = true
 7782  10055   
targets = ["x86_64-unknown-linux-gnu"]
 7783  10056   
[dependencies.aws-credential-types]
 7784  10057   
path = "../aws-credential-types"
 7785  10058   
version = "1.2.4"
 7786  10059   
 7787  10060   
[dependencies.aws-runtime]
 7788  10061   
path = "../aws-runtime"
 7789  10062   
version = "1.5.9"
 7790  10063   
 7791  10064   
[dependencies.aws-smithy-async]
 7792  10065   
path = "../aws-smithy-async"
 7793  10066   
version = "1.2.5"
 7794  10067   
 7795  10068   
[dependencies.aws-smithy-http]
 7796  10069   
path = "../aws-smithy-http"
 7797         -
version = "0.62.2"
       10070  +
version = "0.62.3"
 7798  10071   
 7799  10072   
[dependencies.aws-smithy-json]
 7800  10073   
path = "../aws-smithy-json"
 7801  10074   
version = "0.61.4"
 7802  10075   
 7803  10076   
[dependencies.aws-smithy-runtime]
 7804  10077   
path = "../aws-smithy-runtime"
 7805  10078   
features = ["client"]
 7806  10079   
version = "1.8.5"
 7807  10080   
 7808  10081   
[dependencies.aws-smithy-runtime-api]
 7809  10082   
path = "../aws-smithy-runtime-api"
 7810  10083   
features = ["client", "http-02x"]
 7811  10084   
version = "1.8.5"
 7812  10085   
 7813  10086   
[dependencies.aws-smithy-types]
 7814  10087   
path = "../aws-smithy-types"
 7815  10088   
version = "1.3.2"
 7816  10089   
 7817  10090   
[dependencies.aws-types]
 7818  10091   
path = "../aws-types"
 7819  10092   
version = "1.3.8"
 7820  10093   
 7821  10094   
[dependencies.bytes]
 7822  10095   
version = "1.4.0"
 7823  10096   
 7824  10097   
[dependencies.fastrand]
 7825  10098   
version = "2.0.0"
 7826  10099   
 7827  10100   
[dependencies.http]
 7828  10101   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7829  10102   
index 7a34c16..588d0bd 100644
 7830         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       10103  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7831  10104   
@@ -1,61 +1,61 @@
 7832  10105   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7833  10106   
[package]
 7834  10107   
name = "aws-sdk-ssooidc"
 7835  10108   
version = "0.0.0-local"
 7836  10109   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7837  10110   
description = "AWS SDK for AWS SSO OIDC"
 7838  10111   
edition = "2021"
 7839  10112   
license = "Apache-2.0"
 7840  10113   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7841  10114   
rust-version = "1.86.0"
 7842  10115   
readme = "README.md"
 7843  10116   
[package.metadata.smithy]
 7844  10117   
codegen-version = "ci"
 7845  10118   
[package.metadata.docs.rs]
 7846  10119   
all-features = true
 7847  10120   
targets = ["x86_64-unknown-linux-gnu"]
 7848  10121   
[dependencies.aws-credential-types]
 7849  10122   
path = "../aws-credential-types"
 7850  10123   
version = "1.2.4"
 7851  10124   
 7852  10125   
[dependencies.aws-runtime]
 7853  10126   
path = "../aws-runtime"
 7854  10127   
version = "1.5.9"
 7855  10128   
 7856  10129   
[dependencies.aws-smithy-async]
 7857  10130   
path = "../aws-smithy-async"
 7858  10131   
version = "1.2.5"
 7859  10132   
 7860  10133   
[dependencies.aws-smithy-http]
 7861  10134   
path = "../aws-smithy-http"
 7862         -
version = "0.62.2"
       10135  +
version = "0.62.3"
 7863  10136   
 7864  10137   
[dependencies.aws-smithy-json]
 7865  10138   
path = "../aws-smithy-json"
 7866  10139   
version = "0.61.4"
 7867  10140   
 7868  10141   
[dependencies.aws-smithy-runtime]
 7869  10142   
path = "../aws-smithy-runtime"
 7870  10143   
features = ["client"]
 7871  10144   
version = "1.8.5"
 7872  10145   
 7873  10146   
[dependencies.aws-smithy-runtime-api]
 7874  10147   
path = "../aws-smithy-runtime-api"
 7875  10148   
features = ["client", "http-02x"]
 7876  10149   
version = "1.8.5"
 7877  10150   
 7878  10151   
[dependencies.aws-smithy-types]
 7879  10152   
path = "../aws-smithy-types"
 7880  10153   
version = "1.3.2"
 7881  10154   
 7882  10155   
[dependencies.aws-types]
 7883  10156   
path = "../aws-types"
 7884  10157   
version = "1.3.8"
 7885  10158   
 7886  10159   
[dependencies.bytes]
 7887  10160   
version = "1.4.0"
 7888  10161   
 7889  10162   
[dependencies.fastrand]
 7890  10163   
version = "2.0.0"
 7891  10164   
 7892  10165   
[dependencies.http]
 7893  10166   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7894  10167   
index 895dfb3..f2ce34e 100644
 7895         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       10168  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7896  10169   
@@ -1,61 +1,61 @@
 7897  10170   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7898  10171   
[package]
 7899  10172   
name = "aws-sdk-sts"
 7900  10173   
version = "0.0.0-local"
 7901  10174   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7902  10175   
description = "AWS SDK for AWS Security Token Service"
 7903  10176   
edition = "2021"
 7904  10177   
license = "Apache-2.0"
 7905  10178   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7906  10179   
rust-version = "1.86.0"
 7907  10180   
readme = "README.md"
 7908  10181   
[package.metadata.smithy]
 7909  10182   
codegen-version = "ci"
 7910  10183   
[package.metadata.docs.rs]
 7911  10184   
all-features = true
 7912  10185   
targets = ["x86_64-unknown-linux-gnu"]
 7913  10186   
[dependencies.aws-credential-types]
 7914  10187   
path = "../aws-credential-types"
 7915  10188   
version = "1.2.4"
 7916  10189   
 7917  10190   
[dependencies.aws-runtime]
 7918  10191   
path = "../aws-runtime"
 7919  10192   
version = "1.5.9"
 7920  10193   
 7921  10194   
[dependencies.aws-smithy-async]
 7922  10195   
path = "../aws-smithy-async"
 7923  10196   
version = "1.2.5"
 7924  10197   
 7925  10198   
[dependencies.aws-smithy-http]
 7926  10199   
path = "../aws-smithy-http"
 7927         -
version = "0.62.2"
       10200  +
version = "0.62.3"
 7928  10201   
 7929  10202   
[dependencies.aws-smithy-json]
 7930  10203   
path = "../aws-smithy-json"
 7931  10204   
version = "0.61.4"
 7932  10205   
 7933  10206   
[dependencies.aws-smithy-query]
 7934  10207   
path = "../aws-smithy-query"
 7935  10208   
version = "0.60.7"
 7936  10209   
 7937  10210   
[dependencies.aws-smithy-runtime]
 7938  10211   
path = "../aws-smithy-runtime"
 7939  10212   
features = ["client"]
 7940  10213   
version = "1.8.5"
 7941  10214   
 7942  10215   
[dependencies.aws-smithy-runtime-api]
 7943  10216   
path = "../aws-smithy-runtime-api"
 7944  10217   
features = ["client", "http-02x"]
 7945  10218   
version = "1.8.5"
 7946  10219   
 7947  10220   
[dependencies.aws-smithy-types]
 7948  10221   
path = "../aws-smithy-types"
 7949  10222   
version = "1.3.2"
 7950  10223   
 7951  10224   
[dependencies.aws-smithy-xml]
 7952  10225   
path = "../aws-smithy-xml"
 7953  10226   
version = "0.60.10"
 7954  10227   
 7955  10228   
[dependencies.aws-types]
 7956  10229   
path = "../aws-types"
 7957  10230   
version = "1.3.8"
 7958  10231   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 7959  10232   
index d556561..91178b6 100644
 7960         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       10233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 7961  10234   
@@ -1,61 +1,61 @@
 7962  10235   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7963  10236   
[package]
 7964  10237   
name = "aws-sdk-timestreamquery"
 7965  10238   
version = "0.0.0-local"
 7966  10239   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7967  10240   
description = "AWS SDK for Amazon Timestream Query"
 7968  10241   
edition = "2021"
 7969  10242   
license = "Apache-2.0"
 7970  10243   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7971  10244   
rust-version = "1.86.0"
 7972  10245   
readme = "README.md"
 7973  10246   
[package.metadata.smithy]
 7974  10247   
codegen-version = "ci"
 7975  10248   
[package.metadata.docs.rs]
 7976  10249   
all-features = true
 7977  10250   
targets = ["x86_64-unknown-linux-gnu"]
 7978  10251   
[dependencies.aws-credential-types]
 7979  10252   
path = "../aws-credential-types"
 7980  10253   
version = "1.2.4"
 7981  10254   
 7982  10255   
[dependencies.aws-runtime]
 7983  10256   
path = "../aws-runtime"
 7984  10257   
version = "1.5.9"
 7985  10258   
 7986  10259   
[dependencies.aws-smithy-async]
 7987  10260   
path = "../aws-smithy-async"
 7988  10261   
version = "1.2.5"
 7989  10262   
 7990  10263   
[dependencies.aws-smithy-http]
 7991  10264   
path = "../aws-smithy-http"
 7992         -
version = "0.62.2"
       10265  +
version = "0.62.3"
 7993  10266   
 7994  10267   
[dependencies.aws-smithy-json]
 7995  10268   
path = "../aws-smithy-json"
 7996  10269   
version = "0.61.4"
 7997  10270   
 7998  10271   
[dependencies.aws-smithy-runtime]
 7999  10272   
path = "../aws-smithy-runtime"
 8000  10273   
features = ["client"]
 8001  10274   
version = "1.8.5"
 8002  10275   
 8003  10276   
[dependencies.aws-smithy-runtime-api]
 8004  10277   
path = "../aws-smithy-runtime-api"
 8005  10278   
features = ["client", "http-02x"]
 8006  10279   
version = "1.8.5"
 8007  10280   
 8008  10281   
[dependencies.aws-smithy-types]
 8009  10282   
path = "../aws-smithy-types"
 8010  10283   
version = "1.3.2"
 8011  10284   
 8012  10285   
[dependencies.aws-types]
 8013  10286   
path = "../aws-types"
 8014  10287   
version = "1.3.8"
 8015  10288   
 8016  10289   
[dependencies.bytes]
 8017  10290   
version = "1.4.0"
 8018  10291   
 8019  10292   
[dependencies.fastrand]
 8020  10293   
version = "2.0.0"
 8021  10294   
 8022  10295   
[dependencies.http]
 8023  10296   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 8024  10297   
index 0c56e4c..95731e3 100644
 8025         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       10298  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 8026  10299   
@@ -1,61 +1,61 @@
 8027  10300   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8028  10301   
[package]
 8029  10302   
name = "aws-sdk-timestreamwrite"
 8030  10303   
version = "0.0.0-local"
 8031  10304   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8032  10305   
description = "AWS SDK for Amazon Timestream Write"
 8033  10306   
edition = "2021"
 8034  10307   
license = "Apache-2.0"
 8035  10308   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8036  10309   
rust-version = "1.86.0"
 8037  10310   
readme = "README.md"
 8038  10311   
[package.metadata.smithy]
 8039  10312   
codegen-version = "ci"
 8040  10313   
[package.metadata.docs.rs]
 8041  10314   
all-features = true
 8042  10315   
targets = ["x86_64-unknown-linux-gnu"]
 8043  10316   
[dependencies.aws-credential-types]
 8044  10317   
path = "../aws-credential-types"
 8045  10318   
version = "1.2.4"
 8046  10319   
 8047  10320   
[dependencies.aws-runtime]
 8048  10321   
path = "../aws-runtime"
 8049  10322   
version = "1.5.9"
 8050  10323   
 8051  10324   
[dependencies.aws-smithy-async]
 8052  10325   
path = "../aws-smithy-async"
 8053  10326   
version = "1.2.5"
 8054  10327   
 8055  10328   
[dependencies.aws-smithy-http]
 8056  10329   
path = "../aws-smithy-http"
 8057         -
version = "0.62.2"
       10330  +
version = "0.62.3"
 8058  10331   
 8059  10332   
[dependencies.aws-smithy-json]
 8060  10333   
path = "../aws-smithy-json"
 8061  10334   
version = "0.61.4"
 8062  10335   
 8063  10336   
[dependencies.aws-smithy-runtime]
 8064  10337   
path = "../aws-smithy-runtime"
 8065  10338   
features = ["client"]
 8066  10339   
version = "1.8.5"
 8067  10340   
 8068  10341   
[dependencies.aws-smithy-runtime-api]
 8069  10342   
path = "../aws-smithy-runtime-api"
 8070  10343   
features = ["client", "http-02x"]
 8071  10344   
version = "1.8.5"
 8072  10345   
 8073  10346   
[dependencies.aws-smithy-types]
 8074  10347   
path = "../aws-smithy-types"
 8075  10348   
version = "1.3.2"
 8076  10349   
 8077  10350   
[dependencies.aws-types]
 8078  10351   
path = "../aws-types"
 8079  10352   
version = "1.3.8"
 8080  10353   
 8081  10354   
[dependencies.bytes]
 8082  10355   
version = "1.4.0"
 8083  10356   
 8084  10357   
[dependencies.fastrand]
 8085  10358   
version = "2.0.0"
 8086  10359   
 8087  10360   
[dependencies.http]
 8088  10361   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8089  10362   
index 5b35037..9fb220a 100644
 8090         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       10363  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8091  10364   
@@ -1,71 +1,71 @@
 8092  10365   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8093  10366   
[package]
 8094  10367   
name = "aws-sdk-transcribestreaming"
 8095  10368   
version = "0.0.0-local"
 8096  10369   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8097  10370   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 8098  10371   
edition = "2021"
 8099  10372   
license = "Apache-2.0"
 8100  10373   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8101  10374   
rust-version = "1.86.0"
 8102  10375   
readme = "README.md"
 8103  10376   
[package.metadata.smithy]
 8104  10377   
codegen-version = "ci"
 8105  10378   
[package.metadata.docs.rs]
 8106  10379   
all-features = true
 8107  10380   
targets = ["x86_64-unknown-linux-gnu"]
 8108  10381   
[dependencies.aws-credential-types]
 8109  10382   
path = "../aws-credential-types"
 8110  10383   
version = "1.2.4"
 8111  10384   
 8112  10385   
[dependencies.aws-runtime]
 8113  10386   
path = "../aws-runtime"
 8114  10387   
features = ["event-stream"]
 8115  10388   
version = "1.5.9"
 8116  10389   
 8117  10390   
[dependencies.aws-sigv4]
 8118  10391   
path = "../aws-sigv4"
 8119         -
version = "1.3.3"
       10392  +
version = "1.3.4"
 8120  10393   
 8121  10394   
[dependencies.aws-smithy-async]
 8122  10395   
path = "../aws-smithy-async"
 8123  10396   
version = "1.2.5"
 8124  10397   
 8125  10398   
[dependencies.aws-smithy-eventstream]
 8126  10399   
path = "../aws-smithy-eventstream"
 8127  10400   
version = "0.60.10"
 8128  10401   
 8129  10402   
[dependencies.aws-smithy-http]
 8130  10403   
path = "../aws-smithy-http"
 8131  10404   
features = ["event-stream"]
 8132         -
version = "0.62.2"
       10405  +
version = "0.62.3"
 8133  10406   
 8134  10407   
[dependencies.aws-smithy-json]
 8135  10408   
path = "../aws-smithy-json"
 8136  10409   
version = "0.61.4"
 8137  10410   
 8138  10411   
[dependencies.aws-smithy-runtime]
 8139  10412   
path = "../aws-smithy-runtime"
 8140  10413   
features = ["client"]
 8141  10414   
version = "1.8.5"
 8142  10415